为2020年的第一场雪锦上添花:用 matplotlib 绘制雪花和雪景

0
回复
575
查看
打印 上一主题 下一主题
[复制链接]

6

主题

6

帖子

368

安币

攻城狮

Rank: 3Rank: 3

楼主
发表于 2020-1-13 17:45:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果对本篇文章感兴趣,请前往,原文地址:http://www.3730-22.com/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.3730-22.com/blog-990069-83187.html
分享到:  QQ好友和群 QQ空间 微信
收藏
收藏0
支持
支持0
反对
反对0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )

江苏福彩快三开奖结果