愛伊米

scratch3數學之美08-分形之樹

大家好,我是愛程式設計的小熊,上一節我們學習了繪製螺旋之美,美妙的圖案總是那麼的令人沉迷。這節,讓我們來學習繪製分形之樹,看看會是怎樣的精彩!

程式設計描述:

使用遞迴演算法繪製一顆樹,一顆會長大的樹

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

程式設計思路:

這章的內容可能有點挑戰,使用遞迴演算法繪製一顆二叉樹,並進一步完善,需要大家進一步理解

開始程式設計:

1。

一顆幼苗

一棵樹由樹幹和樹枝組成,我們先繪製最簡單的樹,有一個樹幹和兩個樹枝,就像丫字。

那問題來了,怎麼繪製呢。大家想一下,我們先繪製樹幹,然後繪製樹枝,首先,向上移動100步,繪製出樹幹,向左旋轉30°,移動0。8X100步,向右旋轉60°,移動0。8X100步,再返回到起始位置,不就好起來了嗎。

當然,少不了我們的自制積木。

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

看我們的幼苗就繪製出來了。

2. 樹要開始長大了

要想這顆樹繼續長大,就要有更多的分支,一個分支長出兩個分支,每一個分支有長出更小的兩個分支。啊啊啊,那問題來了,這樣會不會很複雜。彆著急,我們不是剛學了遞迴演算法嗎,上面剛好是一個分支長出兩個,同時,分支設為上一級的0。8倍,我們可以不斷呼叫自身,這不就好起來了嗎。

來來來,我們來建一個新的自制積木,首先我們得要有個層級,就是樹的分支。

scratch3數學之美08-分形之樹

那麼問題來了,這樣就可以了嗎。

當然不是了,明顯當層級數為1的時候,就是最後一根樹枝,沒辦法再分了,這時候,我們就需要直接畫出來,不繼續遞迴下去。

scratch3數學之美08-分形之樹

我們來嘗試一下吧

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

大家來數數有多少個樹枝。

3. 樹終於長大了

那麼問題來了,這不像樹呀。別急,我們繼續為我們的小樹積木新增顏色和樹幹粗細變數吧。

樹木的粗細不可能都是一樣大小,一般都是樹幹最大,樹枝次之,同樣的,我們將樹的粗細設為上一級的0。8倍,然後每一級的顏色都加3,這不就好起來了嗎。

我們來試試

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

scratch3數學之美08-分形之樹

我們來試試將層級設為8看看

scratch3數學之美08-分形之樹

小樹成功長成大樹

4. 回顧一下

使用遞迴的實質是尋找某一級與下一級的關係,然後進行呼叫,加上控制結束的條件,就是一個很成熟的遞迴了

5. 探究一下

好了,你真的學會了嗎,來探究一下吧

如何繪製下面圖形?大家抓上爸爸媽媽一起探究一下吧

scratch3數學之美08-分形之樹

圖形一

scratch3數學之美08-分形之樹

圖形二

溫馨提示: 這兩個圖形繪製和前面的二叉樹沒多大區別,區別的是,角度的不一樣和圖形不一樣,這個比較有挑戰

當然,下節內容更精彩了。。。。

大家想要原始碼可以留言,私信