フィボナッチ数列は以前「真理までは、まだまだ」「あなたは黄金比美人、白銀比美人?」で取り上げましたが、scratchでフィボナッチ数列で枝分かれする木を描くことができます。
資料はこちら → scratchその4
p.1 地面から幹が伸びて、栄養が多いと2つの枝に分岐します。各々の枝においても、栄養が多いと枝が分岐し、少ないとそこでは分岐せず、その後のタイミングで分岐していくモデルを考えます。赤い線を横切る枝あるいは幹の数を数えると、1,1,2,3,5,8,13,21,34・・と増えていきます。これはフィボナッチ数列ですね。自然界の木はこのように枝が分岐していくと言われています。
p.2 上述の木の分岐モデルをscratchのブロックを並べてプログラミングした事例です。scratchには「クローンを作る」というブロックがあります。このブロックの後は、「クローンされたとき」のブロックに続きます。この事例の場合は、「もし~なら」という条件文が入れ子状態のプログラムになっています。分岐回数80回をmaxにして、1ずつ減少して0まで分岐を続けます。この中で「栄養をあり」の次に、1か2の乱数を発生させて1の場合は左に分岐します。そして幹の0.8倍の長さの枝を反時計回り15度の角度でクローンを用いて分岐し、続いて時計回りに30度の角度でクローンの枝を描きます。そして「栄養をなし」として続いていきます。少し複雑ですね。
クローンの説明サイト → https://progra.org/blog/105/
クローンはアニメ作成する場合は、便利なプログラムです。同じものを幾つも別の場所に描いたりする際に利用できます。 多角形を描く際にも使えます。scratchはまだまだ奥が深そうです。