カージオイド Cardioid [見て楽しむ三角関数]
Scratchでカージオイドを描きます。別名は心臓形です。
過去三回と似たような形の曲線ですね。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。大きさはプログラムで制御するので今回はありません。
次に本体です。二重の繰り返しで大きさを変えながら複数の曲線を描きます。曲線をひとつ描き終わるごとに倍率を小さくし、ペンの色を変えています。
次に準備です。プログラムを実行するごとに一度呼び出されます。
次は「原点に移動」です。曲線をひとつ描く前に開始点を計算してそこに移動します。角度を-180度から180度まで変化させると、この曲線がひとつ描けます。
式はこうなっています。rは半径、aは倍率、θは角度です。
\[ r= a\left(1+\cos(\theta)\right) \] この式をプログラムにすると以下のようになります。この曲線も何もしなければ右寄りに描画されるので、最後にX座標を調整して曲線全体を左に移動します。
移動はいつも通りです。
完成版はこちら。
過去三回と似たような形の曲線ですね。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。大きさはプログラムで制御するので今回はありません。
次に本体です。二重の繰り返しで大きさを変えながら複数の曲線を描きます。曲線をひとつ描き終わるごとに倍率を小さくし、ペンの色を変えています。
次に準備です。プログラムを実行するごとに一度呼び出されます。
次は「原点に移動」です。曲線をひとつ描く前に開始点を計算してそこに移動します。角度を-180度から180度まで変化させると、この曲線がひとつ描けます。
式はこうなっています。rは半径、aは倍率、θは角度です。
\[ r= a\left(1+\cos(\theta)\right) \] この式をプログラムにすると以下のようになります。この曲線も何もしなければ右寄りに描画されるので、最後にX座標を調整して曲線全体を左に移動します。
移動はいつも通りです。
完成版はこちら。