ガーフィールド曲線 Garfield Curve [見て楽しむ三角関数]
Scratchでガーフィールド曲線を描きます。ガーフィールドは漫画のキャラクターです。
なんとなく似ていますね。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
では本体から。半径の計算に使う角度は0〜360度までです。
変数は次の通りです。「ラジアン」は角度から計算されるラジアンを記憶しておくための変数です。
次に準備です。
式はこうなります。
\[ r=\theta\cos(\theta) \]
ここで注意が必要なのは、二種類のθです。Scratchでは、関数の引数(かっこの中の数)に使う数値は「角度」です。一方、曲線を描くときの数式に出てくるθは普通は「ラジアン」です。Scratchでも関数の引数ではないθはラジアンに変換しなければなりません。ラジアンの計算方法はこれです。
ブロックを作って計算式を定義しています。Scratchのブロックは一般的なプログラミング言語の関数やサブルーチンとは違い値を返せません。ですので計算結果を変数「ラジアン」に格納して、その後の計算処理で使っています。
次に計算処理です。
まずラジアンを計算し、次にラジアンと角度を使って半径を計算しています。その後、X座標とY座標を計算しています。
移動はいつもと同じです。
完成版はこちら。
なんとなく似ていますね。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
では本体から。半径の計算に使う角度は0〜360度までです。
変数は次の通りです。「ラジアン」は角度から計算されるラジアンを記憶しておくための変数です。
次に準備です。
式はこうなります。
\[ r=\theta\cos(\theta) \]
ここで注意が必要なのは、二種類のθです。Scratchでは、関数の引数(かっこの中の数)に使う数値は「角度」です。一方、曲線を描くときの数式に出てくるθは普通は「ラジアン」です。Scratchでも関数の引数ではないθはラジアンに変換しなければなりません。ラジアンの計算方法はこれです。
ブロックを作って計算式を定義しています。Scratchのブロックは一般的なプログラミング言語の関数やサブルーチンとは違い値を返せません。ですので計算結果を変数「ラジアン」に格納して、その後の計算処理で使っています。
次に計算処理です。
まずラジアンを計算し、次にラジアンと角度を使って半径を計算しています。その後、X座標とY座標を計算しています。
移動はいつもと同じです。
完成版はこちら。