Scratchでぬりつぶしにチャレンジ!正三角形編

以前、「Scratchでぬりつぶしにチャレンジ!四角形編」という記事を書きました。今回は四角形に続き、三角形のぬりつぶしをやってみます。ただ、いきなりハイレベルは大変なので、今回は考えやすい正三角形のぬりつぶしにチャレンジします。(どんな三角形でも描けるプログラムは色々と計算が大変です…)

ぬりつぶすための作戦

今回は、1~4を繰り返して図のようなイメージでぬりつぶします。

  1. 三角の左下から右に1歩進む。
  2. 回して進む
  3. 進んだ分戻る
  4. 元の向きに向ける

まずつくってみる

作戦どおりにコードをつくってみました。でも作戦の2番目「回して進む」の部分、回す角度と何歩進めば良いか分かりません。次はここを考えてみます。

考えてみる

と、その前に正三角形の特徴を確認します。
この特徴が考えるときのヒントになってくれるはずです。

  • 角がぜんぶ60度
  • 辺がぜんぶ同じ長さ

では、「回して進む」に必要な2つについて考えていきましょう!

1.回す角度は何度?

正三角形の特徴によると、どの角も60度になります。
そうすると「回して進む」では60度回せばよいでしょか?
ためしに、50歩進む→60度回る→50歩進むコードを動かしてみます。

なんか回す角度が足りないですね…たしかに60度は回っているのですが。
この様子だと120度ぐらい回す必要がありそうです。

法則を見つけるために30度、60度、90度、120度の角を用意して、それぞれに必要な回す角度を図にまとめました。何か法則性があるでしょうか?

これ、実はぜんぶのパターンで左右の角度を足すと180度になります。
ということは、今回は「回す角度 + 60度(正三角形の角) = 180度」という形になり、
回す角度は120度と計算することができます。

2. 何歩進めば良い?

次は進む歩数です。
ここでもう1度、作戦の図を思い浮かべてください。
左下からだんだん三角形が大きくなるように見えませんか?
実は、大きさが変わるだけでずーっと同じ形の正三角形なのは変わりません。
そして正三角形であれば、すべての辺が同じです。

ということは、これまで進んだ歩数と「回して進む」の歩数を同じにすればイケるはず!
コードはこんな感じ。

無事、正三角形のぬりつぶしができました!

さいごに

四角形とちがって、回す角度とか進む歩数とか考えるところが増えましたね。
今回は正三角形の特徴から必要な数の出し方を考えました。
僕はこういうふうに知識が自分のやりたいことに役立つ瞬間が楽しいし、とても大好きです。
たしかに考えることは大変ですが、その分できたときに達成感がありますし成長を感じます。
自分的には、今回も楽しいと思える良いチャレンジでした!

次は正三角形だけでなく、いろんな三角形を描けるようにします!