scratch3數(shù)學(xué)之美08-分形之樹

大家好,我是愛編程的小熊,上一節(jié)我們學(xué)習(xí)了繪制螺旋之美,美妙的圖案總是那么的令人沉迷。這節(jié),讓我們來學(xué)習(xí)繪制分形之樹,看看會是怎樣的精彩!

編程描述:

使用遞歸算法繪制一顆樹,一顆會長大的樹

編程思路:

這章的內(nèi)容可能有點挑戰(zhàn),使用遞歸算法繪制一顆二叉樹,并進一步完善,需要大家進一步理解

開始編程:

1.?一顆幼苗

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

那問題來了,怎么繪制呢。大家想一下,我們先繪制樹干,然后繪制樹枝,首先,向上移動100步,繪制出樹干,向左旋轉(zhuǎn)30°,移動0.8X100步,向右旋轉(zhuǎn)60°,移動0.8X100步,再返回到起始位置,不就好起來了嗎。

當(dāng)然,少不了我們的自制積木。

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

2. 樹要開始長大了

要想這顆樹繼續(xù)長大,就要有更多的分支,一個分支長出兩個分支,每一個分支有長出更小的兩個分支。啊啊啊,那問題來了,這樣會不會很復(fù)雜。別著急,我們不是剛學(xué)了遞歸算法嗎,上面剛好是一個分支長出兩個,同時,分支設(shè)為上一級的0.8倍,我們可以不斷調(diào)用自身,這不就好起來了嗎。

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

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

當(dāng)然不是了,明顯當(dāng)層級數(shù)為1的時候,就是最后一根樹枝,沒辦法再分了,這時候,我們就需要直接畫出來,不繼續(xù)遞歸下去。

我們來嘗試一下吧

大家來數(shù)數(shù)有多少個樹枝。

3. 樹終于長大了

那么問題來了,這不像樹呀。別急,我們繼續(xù)為我們的小樹積木添加顏色和樹干粗細(xì)變量吧。

樹木的粗細(xì)不可能都是一樣大小,一般都是樹干最大,樹枝次之,同樣的,我們將樹的粗細(xì)設(shè)為上一級的0.8倍,然后每一級的顏色都加3,這不就好起來了嗎。

我們來試試

我們來試試將層級設(shè)為8看看

小樹成功長成大樹

4. 回顧一下

使用遞歸的實質(zhì)是尋找某一級與下一級的關(guān)系,然后進行調(diào)用,加上控制結(jié)束的條件,就是一個很成熟的遞歸了

5. 探究一下

好了,你真的學(xué)會了嗎,來探究一下吧

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

圖形一

圖形二

溫馨提示: 這兩個圖形繪制和前面的二叉樹沒多大區(qū)別,區(qū)別的是,角度的不一樣和圖形不一樣,這個比較有挑戰(zhàn)

當(dāng)然,下節(jié)內(nèi)容更精彩了....

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容