プチコンまとめWiki (初代/mkII)

投稿プログラム : ベジェ曲線を表示するだけのプログラム

2011年07月07日投稿 / 投稿者 : 名無しさん / タグ : 投稿プログラム 初代対応

概要

ベジェ曲線のようなものを表示します。
12行目のNの数値を変更することで、曲線のなめらかさを変更できます。
Nの数値を2の累乗の数にするときれいに表示できます(1024ぐらいまでは)

スクリーンショット・動画

HNI_0013.JPG

プログラムリスト

  1. IF VCLEAR_1==0 THEN AX=50:BX=130:CX=230:DX=210:AY=150:BY=20:CY=70:DY=150
  2. CLS:GCLS:KEY 5,”BEZIE”
  3. VCLEAR_1=1
  4. GPAGE 1:PNLTYPE ”OFF”
  5. @LOOP
  6. GCLS:T=0
  7. IF Z==1 THEN AX=TCHX:AY=TCHY
  8. IF Z==2 THEN BX=TCHX:BY=TCHY
  9. IF Z==3 THEN CX=TCHX:CY=TCHY
  10. IF Z==4 THEN DX=TCHX:DY=TCHY
  11. N=32
  12. FOR I=0 TO N−1
  13. X1=AX:Y1=AY:X2=BX:Y2=BY
  14. X3=CX:Y3=CY:X4=DX:Y4=DY
  15. X_1=(1−T)*(1−T)*(1−T)*X1+3*(1−T)*(1−T)*T*X2+3*(1−T)*T*T*X3+T*T*T*X4
  16. Y_1=(1−T)*(1−T)*(1−T)*Y1+3*(1−T)*(1−T)*T*Y2+3*(1−T)*T*T*Y3+T*T*T*Y4
  17. T=T+1/N
  18. X_2=(1−T)*(1−T)*(1−T)*X1+3*(1−T)*(1−T)*T*X2+3*(1−T)*T*T*X3+T*T*T*X4
  19. Y_2=(1−T)*(1−T)*(1−T)*Y1+3*(1−T)*(1−T)*T*Y2+3*(1−T)*T*T*Y3+T*T*T*Y4
  20. IF PLCL==0 THEN GLINE X1,Y1,X2,Y2,3
  21. IF PLCL==0 THEN GBOX X2+1,Y2−1,X2−1,Y2+1,3
  22. IF PLCL==0 THEN GLINE X3,Y3,X4,Y4,3
  23. IF PLCL==0 THEN GBOX X3+1,Y3−1,X3−1,Y3+1,3
  24. GLINE X_1,Y_1,X_2,Y_2,2
  25. GP=1
  26. NEXT I
  27. @BTN_O
  28. BTN=BUTTON()
  29. IF BTN==0 THEN GOTO @LOOP2
  30. GOTO @BTN_O
  31. @LOOP2
  32. BTN=BUTTON()
  33. IF PLCL==0 AND BTN==64 THEN PLCL=1:GOTO @LOOP
  34. IF PLCL==1 AND BTN==64 THEN PLCL=0:GOTO @LOOP
  35. IF TCHST==1 THEN GOTO @LOOP
  36. VSYNC 1
  37. IF (AX−10<TCHX AND AX+10>TCHX) AND (AY−10<TCHY AND AY+10>TCHY) THEN Z=1
  38. IF (BX−10<TCHX AND BX+10>TCHX) AND (BY−10<TCHY AND BY+10>TCHY) THEN Z=2
  39. IF (CX−10<TCHX AND CX+10>TCHX) AND (CY−10<TCHY AND CY+10>TCHY) THEN Z=3
  40. IF (DX−10<TCHX AND DX+10>TCHX) AND (DY−10<TCHY AND DY+10>TCHY) THEN Z=4
  41. IF TCHST==0 THEN TCZ=0:Z=0
  42. GOTO @LOOP2

CHECKER FLAG (ひとことコメント)

  • この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
  • バイカウントメルビル : 4行目のイコールはスペースではないのですか? (2011/07/28 (木) 18:42:26)
  • 作者 : そうですね、修整しました。 (2011/07/28 (木) 19:20:07)
  • バイカウントメルピル : 23・25行はGLINEでは? (2012/01/07 (土) 14:43:44)
  • 投稿者 : すいません。直しました。 (2012/01/07 (土) 22:56:14)
  • おうぎょく : 自身の作品に、このプログラムを利用してもよろしいでしょうか。 (2012/10/05 (金) 11:32:31)
  • 投稿者 : いいですよ (2012/10/05 (金) 18:43:38)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.022 秒 | このページの最終更新 : 2012/10/05 (金) 18:43:38 (2480d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30