四つ葉 Quadrifolium (1) [見て楽しむ三角関数]
Scratchで四つ葉を描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。少ないですね。
次に本体です。今回も複数の曲線を描くので、二重の繰り返しになっています。内側の繰り返しで一つの四つ葉を描きます。一つの四つ葉を描くために角度は0度から360度まで変化させます。四つ葉を一つ描き終わるごとに倍率とペンの色を変化させています。
初期設定では、プログラムの最初に一度だけ実行する処理をまとめています。
準備は曲線一つごとに実行する処理が含まれます。ペンを持ち上げて開始点に移動し、ペンを降ろします。
次は計算です。四つ葉を描くための式はこうなっています。
\[ r=a\sin(2\theta) \] rは半径、θは角度、aは倍率です。この式をプログラムにするとこうなります。
半径を計算し、半径と角度を使って次に移動するX座標Y座標を求めます。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。少ないですね。
次に本体です。今回も複数の曲線を描くので、二重の繰り返しになっています。内側の繰り返しで一つの四つ葉を描きます。一つの四つ葉を描くために角度は0度から360度まで変化させます。四つ葉を一つ描き終わるごとに倍率とペンの色を変化させています。
初期設定では、プログラムの最初に一度だけ実行する処理をまとめています。
準備は曲線一つごとに実行する処理が含まれます。ペンを持ち上げて開始点に移動し、ペンを降ろします。
次は計算です。四つ葉を描くための式はこうなっています。
\[ r=a\sin(2\theta) \] rは半径、θは角度、aは倍率です。この式をプログラムにするとこうなります。
半径を計算し、半径と角度を使って次に移動するX座標Y座標を求めます。
移動はいつも通りです。
完成版はこちら。
三つ葉 (2) Kiepert Curve [見て楽しむ三角関数]
Scratchで三つ葉を描きます。前回とは式が違いますが、同じ曲線になります。本名はKiepert Curveです。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。三乗根は見慣れませんが、後で説明します。
本体、初期設定、準備は前回と同じです。今回も二重の繰り返しで多数の三つ葉を描いています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\sqrt[3]{cos(3\theta)} \]見慣れない記号が出てきました。平方根の記号に3が付いているのは「三乗根」または「立方根」と呼ばれ、三乗したらその数になる値を表します。たとえば\[ 8=2\times2\times2 \]なので\[\sqrt[3]{8}=2\]つまり8の三乗根は2です。2を3回掛けると8という意味です。この三乗根を計算する関数はScratchには備わっていないので、ブロックを定義して計算します。ネットを検索すると計算方法が出ているので、それをScratchのプログラムに置き換えます。なぜこれで三乗根が計算できるのか不思議ですが、理屈に興味のある人は計算するなりコードを書くなりして検証してみてください。6回繰り返せば十分な結果が得られるようです。
三乗根のブロックが作れたので残りの計算は単純です。三乗根の引数に\[\cos(3\theta)\]をあたえて半径を計算し、そこから次に移動するX座標とY座標を求めます。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。三乗根は見慣れませんが、後で説明します。
本体、初期設定、準備は前回と同じです。今回も二重の繰り返しで多数の三つ葉を描いています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\sqrt[3]{cos(3\theta)} \]見慣れない記号が出てきました。平方根の記号に3が付いているのは「三乗根」または「立方根」と呼ばれ、三乗したらその数になる値を表します。たとえば\[ 8=2\times2\times2 \]なので\[\sqrt[3]{8}=2\]つまり8の三乗根は2です。2を3回掛けると8という意味です。この三乗根を計算する関数はScratchには備わっていないので、ブロックを定義して計算します。ネットを検索すると計算方法が出ているので、それをScratchのプログラムに置き換えます。なぜこれで三乗根が計算できるのか不思議ですが、理屈に興味のある人は計算するなりコードを書くなりして検証してみてください。6回繰り返せば十分な結果が得られるようです。
三乗根のブロックが作れたので残りの計算は単純です。三乗根の引数に\[\cos(3\theta)\]をあたえて半径を計算し、そこから次に移動するX座標とY座標を求めます。
移動はいつも通りです。
完成版はこちら。
三つ葉 (1) Trifolium [見て楽しむ三角関数]
Scratchで三つ葉を描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数です。X Yは曲線の座標、大きさと倍率は三つ葉の大きさ、角度は三角関数の計算に使い、計算結果が半径になり、角度と半径からX座標Y座標を計算します。
次に本体です。今回も二重の繰り返しで大きさを変えてたくさんの曲線を描いています。内側の繰り返しで角度を0度から180度まで繰り返して計算、移動すると三つ葉が一つ描かれます。
次は初期化です。プログラム開始時に一度だけ行う処理をまとめています。
準備は三つ葉を一つ描くときの前処理です。開始点を計算してそこに移動しています。
三つ葉を描くための式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\cos(3\theta) \]この式をプログラムにするとこうなります。先頭の行が上の式に該当します。角度と計算結果の半径を使ってX座標とY座標を計算します。
移動はいつもと同じです。座標の計算と移動を繰り返すと軌跡が三つ葉になります。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数です。X Yは曲線の座標、大きさと倍率は三つ葉の大きさ、角度は三角関数の計算に使い、計算結果が半径になり、角度と半径からX座標Y座標を計算します。
次に本体です。今回も二重の繰り返しで大きさを変えてたくさんの曲線を描いています。内側の繰り返しで角度を0度から180度まで繰り返して計算、移動すると三つ葉が一つ描かれます。
次は初期化です。プログラム開始時に一度だけ行う処理をまとめています。
準備は三つ葉を一つ描くときの前処理です。開始点を計算してそこに移動しています。
三つ葉を描くための式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\cos(3\theta) \]この式をプログラムにするとこうなります。先頭の行が上の式に該当します。角度と計算結果の半径を使ってX座標とY座標を計算します。
移動はいつもと同じです。座標の計算と移動を繰り返すと軌跡が三つ葉になります。
完成版はこちら。
二つ葉 Bifolium [見て楽しむ三角関数]
Scratchで二つ葉を描きます。この後は三つ葉が二種類、さらに四つ葉が二種類続きます。お楽しみに。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。X Yは曲線の座標に使います。大きさと倍率は曲線の大きさ、角度は三角関数に使う値、半径は計算結果です。角度と半径からX座標Y座標が決まります。
次に本体です。大きさを変えて59回曲線を描画するので、繰り返しは二重になっています。内側の繰り返しで二つ葉を一本描きます。角度を0度から180度まで変化させると二つ葉が一つ描画できます。
次の初期設定は、プログラムを開始するときに一度だけ行う処理をまとめています。
準備は曲線一本を描く前に行う処理をまとめています。
この曲線一本を描くための式はこうなっています。
\[ r=a\left(\sin(\theta)+\sin(3\theta)\right) \] sin関数の中のθが角度で、0度から180度まで変化させて計算します。aは倍率、rは計算結果の半径を表します。この式をプログラムにすると次のようになります。最初の半径の計算が上の式に相当します。その後、角度と計算結果の半径を使ってX座標とY座標を計算します。
最後に計算結果のY座標から90を引いて、曲線全体を下に移動しています。移動しないと画面の上半分だけに描画されます。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。X Yは曲線の座標に使います。大きさと倍率は曲線の大きさ、角度は三角関数に使う値、半径は計算結果です。角度と半径からX座標Y座標が決まります。
次に本体です。大きさを変えて59回曲線を描画するので、繰り返しは二重になっています。内側の繰り返しで二つ葉を一本描きます。角度を0度から180度まで変化させると二つ葉が一つ描画できます。
次の初期設定は、プログラムを開始するときに一度だけ行う処理をまとめています。
準備は曲線一本を描く前に行う処理をまとめています。
この曲線一本を描くための式はこうなっています。
\[ r=a\left(\sin(\theta)+\sin(3\theta)\right) \] sin関数の中のθが角度で、0度から180度まで変化させて計算します。aは倍率、rは計算結果の半径を表します。この式をプログラムにすると次のようになります。最初の半径の計算が上の式に相当します。その後、角度と計算結果の半径を使ってX座標とY座標を計算します。
最後に計算結果のY座標から90を引いて、曲線全体を下に移動しています。移動しないと画面の上半分だけに描画されます。
移動はいつも通りです。
完成版はこちら。