Scratchでフラクタル図形を描く(自分のブロックを作る)

ケン博士
サイエンストレーナーの桑子研です。このサイトで科学を一緒に楽しみましょう。

子供の科学に乗っていた、フラクタル図形を描くプログラムを作ってみました。シフト+旗キーをおすと、一気に完成品を見ることができます。ポイントは ブロックを作る と 再帰処理 の2つです。雑誌「子供の科学」に以前乗っていたものです。

まずは正三角形を作るプログラムを作ります。

この正三角形を作るというブロックを、ブロックを作る 機能を使って、作ってみましょう。

名前をtriangleとして引数(ひきすう)を追加の数値またはテキストを選び、OKボタンをおします。

するとtriangeブロックが出来上がります。

これを使って、正三角形のプログラムを作ってみましょう。以下のようにプログラムをします。

できたらさっそく動かしてみます。三角形が同じように描けます。またtriangleの引数を300から200に変えてみると、、、、今度は小さな正三角形になりました。number or text の中に200が入ったことがわかりますね。

続いて、定義文の中に、triangleブロックを入れてしまい( 再帰処理 )、300動いたら、120度まわして、今度はその半分の長さ、150だけ動かして、さらにまた120度まわして、その半分75度動かして、、、というようにしてみます。

number or text  / 2

を入れているのがポイントです。

動かしてみると、グラムが暴走をして、猫がとまらなくなりますね。そこで辺の長さが10よりも長かったらこれを行うというようにして、それ以外なら、またまたはじめに戻してしまいます。

するとこのようなフラクタル図形が描けます。なぜこうなるのか、プログラムを読み解いても面白いですね。

 

科学のタネを発信中!

ニュースレターを月1回配信しています。


 

登録はこちらから