Scratch(スクラッチ)専門のプログラミング教室

Scratchプログラミングでsin(サイン)cos(コサイン)を使用する方法

Scratch(スクラッチ)でゲームなどのプログラミングをしていると、実社会ではあまり見かけないsin(サイン)cos(コサイン)などを使うことがあります。sin(サイン)cos(コサイン)だけでなく、得点計算や判定などに使用する変数、切り下げ、切り上げ、絶対値、割り算余りなども頻繁に使用するようになります。

Scratch(スクラッチ)プログラミングにより「学校で習った事が実社会で利用されており、活用することが出来る」という事も体感出来るのです。実際に、変数を使った得点の付け方を知ったとき、ほとんどの子供たちは何かを得たような嬉しそうな顔をします。もしも「学校で習った事が社会に出てから役立つのか?」と疑問に思っている子がいたら、このことにより「学校の勉強も必要だから、もっと勉強しよう」という考え方に変わるかもしれません。そう思えるぐらい、変数の使い方を知った子供たちの反応は大きいものです。

「〇〇へ行く」というスクリプトブロックを使って、飛行機雲(白い丸)を飛行機に移動させると飛行機の中心部分に移動します。その後に「x座標を〇ずつ変える」というブロックにより飛行機雲を尾翼のあたりに移動させます。飛行機が水平方向にしか動かないのであれば、このブロックだけで問題ありません。しかし、飛行機が傾くと右上図のように飛行機雲の位置がずれてしまいます。ここで、sin(サイン)cos(コサイン)の出番となります。

「〇〇の向き」というブロックから、飛行機の傾き(角度)を知ることが出来ます。Scratch(スクラッチ)の場合、上が0度、右が90度という決まりになっているので、90度から飛行機の傾き(角度)を引いた角度のsin(サイン)cos(コサイン)を演算ブロックで算出します。

このsin(サイン)cos(コサイン)の値と、飛行機の中心から尾翼までの距離a(今回の例では50ピクセル)を、sinθ = b ÷ a、cosθ = c ÷ aの公式に当てはめれば、飛行機の中心から尾翼までの距離bとcが分かり、飛行機雲の発生位置を指定する事が出来るようになります。

飛行機がどのような傾きになっても尾翼から飛行機雲が表示されるか、お時間のある方は実際にゲームを試してみて下さい。Scratch2.0はパソコンからのみ動作可能ですので、ご注意ください。

【アクロバット飛行ゲーム(飛行機煙付き)】

私もScratch(スクラッチ)プログラミングをしていなければ、sin(サイン)cos(コサイン)のような数学の公式を使うことはなかったと思います。久しぶりに見たsin(サイン)cos(コサイン)を使ったプログラムが正しく動いて、ちょっと嬉しかったです。

Scratch(スクラッチ)の開発者ミッチェル・レズニックが「プログラミングを学ぶ事が目的ではない、いろいろな事を学ぶためにプログラミングを学ぶのだ」と言っていましたが、今回のプログラミングによって数学の公式が実社会でも活用されている事、学校の勉強の重要性など再認識出来ました。

私の場合、気づくのが少し遅過ぎたかもしれませんが...

【関連する投稿ページ】

・Scratch(スクラッチ)「スライドパズル」作り方の説明
・Scratch(スクラッチ)「100%ペンによる動的な三角関数グラフ」作り方の説明
・Scratch(スクラッチ)「日本語サウンドボード」作り方の説明
・Scratch(スクラッチ)「イライラ棒ゲーム (Frustration Game)」作り方の説明
・Scratch(スクラッチ)「蛇ゲーム(Snake Game)」作り方の説明
・Scratch(スクラッチ)「インタラクティブ・ストーリー」作り方の説明
・Scratch(スクラッチ)「ハロウィン脱出ゲーム」作り方の説明
・Scratchプログラミングでsin(サイン)cos(コサイン)を使用する方法
・Scratch(スクラッチ)ビデオモーション機能を使ったゲーム作り方の説明
・Scratch(スクラッチ)コースで作るお手本プログラム集を掲載
・Scratch(スクラッチ)リミックス「記憶力ゲーム」作り方の動画説明-1/2
・Scratch(スクラッチ)リミックス「記憶力ゲーム」作り方の動画説明-2/2
・Scratch(スクラッチ)「カーレースゲーム」作り方の動画説明-1/2
・Scratch(スクラッチ)「カーレースゲーム」作り方の動画説明-2/2

【Scratch(スクラッチ)コースの紹介動画】

310