洋梨曲線 Piriform Curve [見て楽しむ三角関数]
Scratchで洋梨のような形の曲線を描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数から。
今回は半径は使わず、XとYを直接計算します。幅と高さはスライダー表示にして曲線の大きさを変えられるようにしています。
本体はこれまでと同じです。
次に準備です。
特別むずかしい箇所はないと思います。詳しくは初回の説明を参考にしてください。
次に計算です。
式はWolfram MathWorldのものを少し修正しています。式自体を覚える必要はないですよ。図が描ければよし。
\[ x = a\sin(\theta)\\
y=b\cos(\theta)(1+\sin(\theta)) \] ここから洋梨が出てくるなんて不思議ですね。少しだけ説明すると、aは曲線の幅、bは曲線の高さに対応します。θは角度です。数学が得意な人はおやっと思ったかもしれませんが、Scratchのsinやcosはラジアンではなく角度を引数に取ります。
さて、MathWorldではXの式が \[x = a(1+\sin(\theta))\] となっています。違いは「1+」の部分で、これがあると図が描画領域の右半分(Y軸の右側)にだけ描画されます。ここでは描画領域全体を使うように「1+」は取り除いています。
最後の移動はこれまでと同じです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
まず変数から。
今回は半径は使わず、XとYを直接計算します。幅と高さはスライダー表示にして曲線の大きさを変えられるようにしています。
本体はこれまでと同じです。
次に準備です。
特別むずかしい箇所はないと思います。詳しくは初回の説明を参考にしてください。
次に計算です。
式はWolfram MathWorldのものを少し修正しています。式自体を覚える必要はないですよ。図が描ければよし。
\[ x = a\sin(\theta)\\
y=b\cos(\theta)(1+\sin(\theta)) \] ここから洋梨が出てくるなんて不思議ですね。少しだけ説明すると、aは曲線の幅、bは曲線の高さに対応します。θは角度です。数学が得意な人はおやっと思ったかもしれませんが、Scratchのsinやcosはラジアンではなく角度を引数に取ります。
さて、MathWorldではXの式が \[x = a(1+\sin(\theta))\] となっています。違いは「1+」の部分で、これがあると図が描画領域の右半分(Y軸の右側)にだけ描画されます。ここでは描画領域全体を使うように「1+」は取り除いています。
最後の移動はこれまでと同じです。
完成版はこちら。