為2020年的第一場雪錦上添花:用 matplotlib 繪制雪花和雪景

0
回復
506
查看
打印 上一主題 下一主題
[復制鏈接]

6

主題

6

帖子

368

安幣

攻城獅

Rank: 3Rank: 3

樓主
發表于 2020-1-13 17:45:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果對本篇文章感興趣,請前往,原文地址:http://www.4465984.live/blog-990069-83187.html

一場大雪,覆蓋了華北、華東。天地連成一片,城市銀裝素裹,處處詩情畫意、人人興高采烈。朋友圈被雪景圖和調侃路滑摔跤的段子刷屏,氣氛比過年還要熱烈幾分。我也來湊個熱鬧,用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階的科赫雪花。


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














  繼續閱讀全文



想在安卓巴士找到更多優質博文,可移步博客區

如果對本篇文章感興趣,請前往,
原文地址:
http://www.4465984.live/blog-990069-83187.html
分享到:  QQ好友和群 QQ空間 微信
收藏
收藏0
支持
支持0
反對
反對0
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

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

白沟网供网包牛牛 排列三开奖历史数据 广东十一选五走势图表 黑龙江36选7开奖信息 pk10官网直播 十大炒股软件 内蒙古快三开奖结果人 福彩好运彩 三十选五开奖结果 四川快乐十二开奖结果今天 江苏十一选五中奖规则