码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-14 11:38:55      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:lib   学习编程   ref   plot   mamicode   组成   朋友圈   一段   rtl   

一场大雪,覆盖了华北、华东。天地连成一片,城市银装素裹,处处诗情画意、人人兴高采烈。朋友圈被雪景图和调侃路滑摔跤的段子刷屏,气氛比过年还要热烈几分。我也来凑个热闹,用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阶的科赫雪花。
技术图片

更进一步,我们还可以把雪花画在背景图上,配合大小浓淡的变化,画出另一种韵味的雪景图。
技术图片
技术图片

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

标签:lib   学习编程   ref   plot   mamicode   组成   朋友圈   一段   rtl   

原文地址:https://blog.51cto.com/14513127/2466463

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!