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

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

6

主題

6

帖子

368

安幣

攻城獅

Rank: 3Rank: 3

樓主
發表于 2020-1-13 17:45:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果對本篇文章感興趣,請前往,原文地址:http://www.qqjcip.icu/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.qqjcip.icu/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號 )

四方棋牌官网app下载 股票资金配比? 闲来宁夏麻将下载 十个在家最挣钱的工作 香港2020开奖结果+开奖记录 股票短线 投36元每天赚200是真的吗 球探足球比分 血流麻将新手入门 20选8万能组合 意甲足球直播视频直播 网上棋牌软件开发软 福彩开奖双色球开奖 炒股软件app哪个 极速赛车是正规的吗 马报免费资料彩图 经典老版单机麻将旧版