為2020年的第一場雪錦上添花:用 matplotlib 繪制雪花和雪景 [復制鏈接]

2020-1-13 17:41
Gendan5 閱讀:726 評論:0 贊:1
Tag:  

一場大雪,覆蓋了華北、華東。天地連成一片,城市銀裝素裹,處處詩情畫意、人人興高采烈。朋友圈被雪景圖和調侃路滑摔跤的段子刷屏,氣氛比過年還要熱烈幾分。我也來湊個熱鬧,用python為2020年的第一場雪錦上添花。

繪制雪花圖案,網上有很多文章介紹,但幾乎都是用 Python 的內置模塊 turtle 繪制的,這個模塊適合用來引導孩子學習編程,很難真正用在項目開發上。也有用 pygame 實現的,不過 pygame 追求的是動畫效果,雪花圖案是隨機生成的圓,效果很一般。

用 matplotlib 繪制雪花,重點是生成科赫曲線(Koch Curve)??坪涨€是一種分形,其形態似雪花,又稱科赫雪花、雪花曲線。給定線段pq,k階科赫曲線可以由以下步驟生成:

找出三等分點u、v

以線段uv為底,向外(或內外)畫等邊三角形uwv

將線段uv移除

對pq之間的每一段重復上述操作k-1次

科赫雪花是以等邊三角形三邊生成的科赫曲線組成的?;谏鲜龇治?,我們可以很容易地寫出科赫雪花的生成函數:給定一個等邊三角形,和科赫曲線階數k,返回科赫雪花圖案中的所有點。

有了雪花圖案的數據,接下來使用 matplotlib 繪圖就非常輕松了:

來看看我們的雪花效果。從小到大,3片雪花分別對應的是3階、4階、5階的科赫雪花。

更進一步,我們還可以把雪花畫在背景圖上,配合大小濃淡的變化,畫出另一種韻味的雪景圖。






我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(0)
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

在柳州学什么小吃赚钱 河北20选5技巧 快乐双彩基本走势图 网赚网站 3d试机号开奖号走势图 陕西11选5预测 全民欢乐捕鱼人赢话费 彩票技巧手机版1720 快乐双彩最新开奖结果 滨化股份股票行情 陕西麻将手机版