scratchのブロック ep1
◯歩動く
〜scratchから始める三角関数〜
どうも、kbk(12_468)です。
最初に投稿するこの記事の内容は◯歩動かすブロックの解説です。
簡単に機能を分解してみると
向いている方向に
()ピクセルずつ進む
と、なります。
ちなみに、ピクセルというのはscratchの中の cm mm のようなものです。
三角関数とは
三角関数とは、簡単に言うと
直角三角形の辺と辺の比によってほかの辺の長さを求めることができるものです。
ネットから拾った画像で簡単に説明してしまいました()
図1は辺の名前と角の名前を軽ーく頭の隅においといてもらうだけで大丈夫です。
この角にある変な記号をシータ(θ)と言います。
この記号は色んな数を入れる箱のような📦もので様々な数字を入れる(代入)することができます。
辺の説明
斜めの辺(辺AB)は斜辺といい、先に書いてしまいましたが斜めの辺という意味です。
一番下の辺(辺AC)は隣辺といい、これはθの隣の辺という意味です。
隣辺に対して垂直な辺(辺BC)を対辺といいます。θに対する(反対にある)辺という意味です
元々これらは直角三角形の角度がθ度である時の辺の比といった(はず)です。
しかし、今回はそれらを資料にて代えさせていただきます。
scratchの三角関数
では、本題です。
たかが◯歩動かすだけでこんなに説明を使ったかと言うと、この◯歩動かすには三角関数が使用されているからです。まあ。当たり前って感じですが。
では、どこに、どのように使用されてると思いますか?
答えは、
sinとcosが使われています!
超簡単に説明をすると。
sinは 斜辺➗対辺
cosは 斜辺➗隣辺
でどちらも、斜辺を"割られる数"にしています。
すなわちscratchっぽく言うと
sinは 向き➗y座標 = x座標の動く分
cosは 向き➗x座標 = y座標の動く分
みたいな感じになるわけです。
(あくまで"みたいな"なので本当の計算とは少し違います)
ここでもとめられる数値(戻り値)は
sinは (向き)に1歩分動いた時にx座標がどのくらい動くかが分かり。
cosは (向き)に一歩分動いた時にy座標がどのくらい進むかを教えてくれます。
すなわちこれを組み合わせ、歩数分かけてあげれば?!。。
(下の動画ファイルは動いている映像です)↓
これで動くはずです。
お疲れさまでした
実際に作られたものはこちらからご覧ください