見出し画像

【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が主ですから、寄木細工型のプログラミング言語を大いに活用し、数学の授業が面白く、意味あるものになれば、私のように数学で苦労する生徒も減るでしょう。


 

この記事が気に入ったらサポートをしてみませんか?