Scratchで三角関数を使ったワークショップ


4月のQUESTでは、キャラクターの周りをグルグルと回る物体の動きを使った作品に取り組みました。
この物体の座標を計算するため、三角関数のサイン(sin)とコサイン(cos)を使っています。

物体は、キャラクターを中心点とした円を描きます。そして、中心点と物体の距離は、円の半径となります。
この時、中心点から水平に伸びる直線に、物体から垂直に線を引くと、先ほどの円の半径を斜辺とする直角三角形が出来上がります。

すると、この物体の座標は、この直角三角形の隣辺(上図のA-C)がx座標(横方向に対する位置)、対辺(上図のB-C)がy座標(縦方向に対する位置)となるのがわかります。
そして、このx座標を求めるためにcosを、y座標を求めるためにsinを使っています。

物体のx座標:半径 * cos(角度)+ 中心点のx座標

物体のy座標:半径 * sin(角度)+ 中心点のy座標

クラブのメンバーはみんな小中学生。当然、三角関数は習っていません。
少しチャレンジングな内容でしたが、今回は三角関数を理解してもらうことが目的ではなく、「こういうことに使えるものがあるのか」ということを頭の片隅に留めておいてもらえれば十分です。
そして、メンバーが何年か後に数学の授業で三角関数を習う時、「あ、これ知ってる。グルグル回る動きで使ったやつだ。」と思ってもらえれば、何に使うのかよく分からないものよりも、より関心を持って学べるのではないかと思います。

見様見真似で三角関数を使ったプログラミングを行ったメンバーは、みんなグルグル回る動きを使ったオリジナルの作品を作っていました。
「習うより慣れろ」です。
そして、高校生になって授業で三角関数が出てきた時に、自分が実践したことと理論・理屈が結びつけばそれでいいと思います。

今後もこの様に、難しそうな内容も「自分の遊びの中に取り入れられる何か」の形にして提示することで、将来の学びにつながる興味や関心の引き出しを増やしていければいいなと思います。

で、何かいいtanネタはないでしょうか。。