大家好,我是愛編程的小熊,上一節我們學習了繪製曼陀羅曲線,曲線的無序凌亂讓人驚歎。這節,讓我們來學習繪製科赫雪花吧,看看雪花之美會給你帶來怎麼樣的驚歎!
編程描述:
科赫曲線是一種像雪花的幾何曲線,所以又稱為雪花曲線,它是de Rham曲線的特例。科赫曲線是出現在海里格·馮·科赫的論文中,是分形曲線中的一種。
編程思路:
使用遞歸算法繪製一種類似雪花的曲線,並進一步完善
開始編程:
1. 二級科赫曲線
首先我們從最簡單的一級科赫曲線畫起。,好吧,一級就是一條線。
二級的科赫曲線需要在一級的基礎上三等分,每次移動步數是之前的三分之一也就是90➗3=30,然後調整角度就可以了。
2. 多級科赫曲線
來來來,我們來自制一個科赫曲線的積木吧,首先得有層級,和長度。
當層級數為1的時候,我們只需要畫一條直線,而層級數不為一的時候,是由四條大小為上一層的三分之一的科赫曲線組成。
我們來試試繪製級數為3的曲線看看
那麼問題來了,怎麼繪製雪花。這也很簡單,繞一圈就可以了,我們重複執行3次,每次旋轉120°,大家有沒有感覺到很熟悉
4級,5級呢
如果重複執行4次,每次旋轉90°會怎麼樣
3. 加上顏色
大家來加上顏色吧,這就不演示,都是同樣的套路
4. 回顧一下
使用遞歸的實質是尋找某一級與下一級的關係,然後進行調用,加上控制結束的條件,就是一個很成熟的遞歸了
5. 探究一下
好了,你真的學會了嗎,來探究一下吧
如何繪製下面圖形?大家抓上爸爸媽媽一起探究一下吧
溫馨提示: 嗯?
1)起點a向方向f繪畫長度L的線條,到c點;
2)後退L/2到b點;
3)轉到方向f',移動L/3,並退回b點;
4)在方向f'調用遞歸模塊,重複生成基本單元;
5)轉到方向f'',移動L/3,並退回b點;
6)在方向f''調用遞歸模塊,重複生成基本單元;
7)轉回方向f,並調用遞歸模塊,重複生成基本單元;
8)回到起點a,再調用遞歸模塊,繼續重複生成基本單元;
9)以上8點生成了雪花晶片,通過以60度旋轉一週的各方向生成雪花晶片,即可得到雪花的分形圖。
當然,下節內容更精彩了....
大家想要源碼可以留言,私信
我們可以直接用今日頭條app上方的搜索框搜索“scratch數學之美”,還有更多不一樣的驚喜!
閱讀更多 愛編程的小熊 的文章