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

Toukou/ベジェ曲線を表示するだけのプログラム の変更点


#title(投稿プログラム : ベジェ曲線を表示するだけのプログラム)
#contents
/////////////////////////////////
// 適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
// タグをつけると、同じタグが付いたページを検索することができます。

2011年07月07日投稿
/ 投稿者 : 名無しさん
/ &tag(投稿プログラム,初代対応);

/////////////////////////////////
// ここに概要とか書きます。

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


/////////////////////////////////

* スクリーンショット・動画 [#e411ab30]

#ref(HNI_0013.JPG)
// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 画像を添付したら、以下の書式でページ内に貼り付けられます。
// #ref(添付ファイル名)

// 以下の書式で、動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)

/////////////////////////////////

* プログラムリスト [#c662ffe4]
#basic{{
IF VCLEAR_1==0 THEN AX=50:BX=130:CX=230:DX=210:AY=150:BY=20:CY=70:DY=150
CLS:GCLS:KEY 5,"BEZIE"
VCLEAR_1=1
GPAGE 1:PNLTYPE "OFF"
@LOOP
GCLS:T=0
IF Z==1 THEN AX=TCHX:AY=TCHY
IF Z==2 THEN BX=TCHX:BY=TCHY
IF Z==3 THEN CX=TCHX:CY=TCHY
IF Z==4 THEN DX=TCHX:DY=TCHY

N=32
FOR I=0 TO N-1
X1=AX:Y1=AY:X2=BX:Y2=BY
X3=CX:Y3=CY:X4=DX:Y4=DY
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
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

T=T+1/N
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
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

IF PLCL==0 THEN GLINE X1,Y1,X2,Y2,3
IF PLCL==0 THEN GBOX X2+1,Y2-1,X2-1,Y2+1,3
IF PLCL==0 THEN GLINE X3,Y3,X4,Y4,3
IF PLCL==0 THEN GBOX X3+1,Y3-1,X3-1,Y3+1,3

GLINE X_1,Y_1,X_2,Y_2,2
GP=1
NEXT I
@BTN_O
BTN=BUTTON()
IF BTN==0 THEN GOTO @LOOP2
GOTO @BTN_O
@LOOP2
BTN=BUTTON()
IF PLCL==0 AND BTN==64 THEN PLCL=1:GOTO @LOOP
IF PLCL==1 AND BTN==64 THEN PLCL=0:GOTO @LOOP
IF TCHST==1 THEN GOTO @LOOP
VSYNC 1

IF (AX-10<TCHX AND AX+10>TCHX) AND (AY-10<TCHY AND AY+10>TCHY) THEN Z=1
IF (BX-10<TCHX AND BX+10>TCHX) AND (BY-10<TCHY AND BY+10>TCHY) THEN Z=2
IF (CX-10<TCHX AND CX+10>TCHX) AND (CY-10<TCHY AND CY+10>TCHY) THEN Z=3
IF (DX-10<TCHX AND DX+10>TCHX) AND (DY-10<TCHY AND DY+10>TCHY) THEN Z=4
IF TCHST==0 THEN TCZ=0:Z=0
GOTO @LOOP2
}}

/////////////////////////////////
// コメントを募集したくないなら、ここから下は削除してください

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

#comment

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