【AI探求コース】六芒星を描こう✡️
10月のAI探求コースでは、
六芒星の外周を描くプログラムを作ってみました🌟
上記からすると、
六芒星の外周とは六光星ということです!
Scratchで描く
さあ、これをScratchで描くためにはどうしたらよいでしょう!
まずは角度を調べなければいけません。
六光星は、
二つの正三角形を重ね合わせた図形なので、
鋭角(とがっているところ)の角度は60度です。
さらに、
鈍角(へこんでいるところ)の角度は240度であることがわかります。
しかしこれだけでは、描くことができません。
次は、先ほどの角度を参考に、
進行方向をどちらに何度回転させるかを考えます。
これを考えると、以下のように
右回りに120度回転するところと、
左回りに60度回転するところの組み合わせであることがわかります。
次に各辺の長さですが、これはすべて同じです。
そしてその長さは好きに設定して問題ありません。
このことから、歩く歩数を30歩とすると、
六光星を描くプログラムは以下のように書くことができます。
①30歩進む
②右回りに120度回転する
③30歩進む
④左回りに60度回転する
①〜④を6回繰り返す
実際にScratchで書いてみるとこんな感じです。
※先ほど定義したもの以外のブロックは、初期位置の設定と線を描くために必要なブロックです。
こんな感じで、六光星を描くことができました🙌
ロボホンで描く
次は、これをロボホンでやってみます。
ロボホンがこの図形通りに歩くようにするには
Scratchのブロックから変換しなければいけないところがあります。
それは、角度の部分です。
ロボホンのプログラミングをする
ロブリックでは、
角度を書くのではなく、
何歩回るかを書きます。
したがって、
ロボホンの「1歩回る」は何度回転するのかを調べなければいけません。
これを測ったところ、
完全に正確ではないのですが、
1歩は30度でした。
そうすると、以下のように書くことができます。
(ロボホンで30歩行くと、とてつもなくでかい六光星になってしまうので、5歩くらいにしておきます。)
①5歩、前へ歩く
②4歩、右に回る
③5歩、前へ歩く
④2歩、左に回る
①〜④を6回繰り返す
このように書くと、
(角度が正確ではないので、完全に元の位置に戻るわけではないですが、)
だいたい六光星を歩くロボホンを
プログラムすることができます!
このように、
同じ動きをさせようと思っても、
環境による書き方の違いや
現実世界の制限などによって
一筋縄でいかないこともあります。
このとき、
どのようにすればうまくいくのか、
どこをどう変えたらいいのか、
このようなことを考えることが力になります💪
それがプログラミングを学ぶことの
大きな意味だと思います。
これからもこのような論理的思考力を身につけることに
取り組んでいきたいと思います!