リチュース Lituus [見て楽しむ三角関数]
Scratchでリチュースを描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。大きさはスライダー表示にして変更できるようにしています。この変数の値を変えると、画面中央の渦の大きさが変化します。倍率はプログラム開始時に「大きさ」の値をコピーして固定し、描画中にスライダーを動かしても曲線に影響が出ないようにします。半径は角度をもとに計算します。X, Yは曲線の座標で、角度と半径から計算します。
次に本体です。描画は画面の右端から始まり、角度が大きくなるに従って描画領域の中心に向かって曲線が伸びていきます。角度が2500度を超えるまで計算と描画を繰り返すので、ターボモードにしないとなかなか終わりません。
次に準備です。この曲線は画面の外部から内部に向かって伸びてくるので、計算の結果スプライトが画面の中に入るまで(X<241を満たすまで)計算だけを繰り返しています。図のコメントにも書いてあるように、こうすると余計な線が描かれずに綺麗な曲線になります。その他はいつもと同じで、ペンの準備や変数の初期設定、スプライトの座標の計算を行っています。
式はこうなっています。
\[ r=\frac{a}{\sqrt{\theta}} \] rは半径、aは倍率(大きさ)、θは角度です。分子のaは固定で分母が次第に大きくなっていくので、計算結果の半径 r (中心からの距離)はだんだん小さくなります。この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。大きさはスライダー表示にして変更できるようにしています。この変数の値を変えると、画面中央の渦の大きさが変化します。倍率はプログラム開始時に「大きさ」の値をコピーして固定し、描画中にスライダーを動かしても曲線に影響が出ないようにします。半径は角度をもとに計算します。X, Yは曲線の座標で、角度と半径から計算します。
次に本体です。描画は画面の右端から始まり、角度が大きくなるに従って描画領域の中心に向かって曲線が伸びていきます。角度が2500度を超えるまで計算と描画を繰り返すので、ターボモードにしないとなかなか終わりません。
次に準備です。この曲線は画面の外部から内部に向かって伸びてくるので、計算の結果スプライトが画面の中に入るまで(X<241を満たすまで)計算だけを繰り返しています。図のコメントにも書いてあるように、こうすると余計な線が描かれずに綺麗な曲線になります。その他はいつもと同じで、ペンの準備や変数の初期設定、スプライトの座標の計算を行っています。
式はこうなっています。
\[ r=\frac{a}{\sqrt{\theta}} \] rは半径、aは倍率(大きさ)、θは角度です。分子のaは固定で分母が次第に大きくなっていくので、計算結果の半径 r (中心からの距離)はだんだん小さくなります。この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。