【Scratch】図形の円運動&三角関数
■円運動をScratchで
まずは見本のリンクをクリックしましょう。
ボールが円運動しています。ボールの回転は、任意の角度を回転させるのコードを用いています。では円運動はどうしたら良いでしょうか。ここで三角関数が登場します。
この画面はプチコンで楕円を描画させるプログラムです。
円の方程式は、高校時代数学で習った式は、
Xの2乗+Yの2乗=半径Rの2乗
でした。プログラム言語では座標計算するときは、半径R、任意の角度X,Yの座標を計算する必要があります。ここで用意するのが、直交座標系の方程式です。
X=RcosΘ
Y=RsinΘ
プチコンもこの方程式を使っています。円を描くだけなら、CIRCLE命令を使えば解決します。楕円の場合はこの方程式をもとに計算させて描きます。
Scratchにも三角関数がありますから使ってみましょう。
ここでは外側のボールについて説明します。
変数100が、Θ(角度)
変数101は、R(半径)
として使います。
X=RcosΘはこのようなコードにします。
x座標:《変数101》*{《変数100》のcos}
Y=RcosΘはこのようなコードにします。
y座標:《変数101》*{《変数100》のsin}
360回繰り返す意味は、繰り返すたびに、{《変数100》を1ずつ変える}コードに1ずつ加算させて、0~360度を表します。
(注)Scratchでは角度の単位は度数法です。弧度法(ラジアン)が必要な場合は、角度×(円周率÷180)の式をプログラムします。
■受験数学と三角関数
三角関数が不要だとTwitter界隈で賑わっていました。高校時代の数学では、受験対策用の演習問題ばかりでつまらなく感じていました。8ビットPCを購入し、BASICのプログラム集に三角関数を用いて図形を描いたり、物体の高さ、弾道計算を打ち込んで実行させて、三角関数はこんなことができると感じました。
これはプチコン3号(スマイルBASIC)を使ったプログラム。三角関数を用いた直交座標系の方程式を応用すると、正多角形を描くこともできます。
描画プログラムをこのようにも書き換え、これをもとにして改造すると、
と言った図形も描けます。これも三角関数がなせる技です。
(注)BASICは、古くてインタープリタ型の言語で実行速度は遅い・・・。いまだに8ビットPCの呪縛が残っているようです。3DSのプチコンは爆速です。
大学受験突破のために数式を暗記し、ひたすら演習問題を解き、これは何に使うのかと疑念も抱かず、従順に受験対策をした副作用が、三角関数は不要という意見ではないかと考えます。
私の場合は、これ何に役立つのと考えてしまい、数学の試験が《低空飛行》続きでした。
現在は、PCもあり、ゲーム専用機でもBASICが走ります。この記事はScratchが主ですから、寄木細工型のプログラミング言語を大いに活用し、数学の授業が面白く、意味あるものになれば、私のように数学で苦労する生徒も減るでしょう。
この記事が気に入ったらサポートをしてみませんか?