ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< テイラー展開 | main | スピログラフ >>



トロコイド曲線

トロコイド (trochoid) とは、円をある曲線(円や直線はその特殊な場合)に沿って滑らないように転がしたとき、その円の内部または外部の点が描く曲線のことです。

直線上を円が通ることで作られる線を「トロコイド」または「余擺線(よはいせん)」、

動円が定円の内側を通ることで作られる線を「内トロコイド」、

動円が定円の外側を通ることで作られる線を「外トロコイド」と呼びます

 

 

d=0            ;角度
rcw=100.0    ;定円の半径
rch=100.0
rm=60.0        ;動円の半径
rd=100.0    ;描画点の半径
fcenx=320    ;x軸の中心点
fceny=240    ;y軸の中心点

buffer 2:boxf:color 1
gsel
repeat
    gsel 2
    d++
    rad=deg2rad(d)
    ;内トロコイド
    x=(rcw-rm)*cos(rad)+rd*cos((rcw-rm)/rm*rad)+fcenx
    y=(rch-rm)*sin(rad)-rd*sin((rch-rm)/rm*rad)+fceny
    ;外トロコイド
    ;x=(rcw+rm)*cos(rad)-rd*cos((rcw+rm)/rm*rad)+fcenx
    ;y=(rch+rm)*sin(rad)-rd*sin((rch+rm)/rm*rad)+fceny
    if cnt=0{
        line x,y,x,y
    }else{
        line x,y
    }
    
    ;以下は描写処理
    gsel:pget 3200:boxf:color
    color 200,200,200
    circle fcenx-rcw,fceny-rch,fcenx+rcw,fceny+rch,0    ;定円
    
    color
    circle x-2,y-2,x+2,y+2            ;描写点
    
    gmode 2:gcopy 2,,,640,480
    redraw:await 1:redraw 0
loop

0
    posted by higashijugem 07:30comments(0)|-|


    この記事に対するコメント