如何用matplotlib绘制雪花图案,使其成为2021年第一场雪的完美点缀?
- 内容介绍
- 文章标签
- 相关推荐
本文共计992个文字,预计阅读时间需要4分钟。
一场大雪,覆盖了华北、华东。天地相连,城市银装素裹,处处诗意盎然,人人兴高采烈。朋友圈被雪景图和调侃路滑的段子刷屏,气氛比过年还要热烈几分。我也来凑个热闹。
一场大雪,覆盖了华北、华东。天地连成一片,城市银装素裹,处处诗情画意、人人兴高采烈。朋友圈被雪景图和调侃路滑摔跤的段子刷屏,气氛比过年还要热烈几分。我也来凑个热闹,用python为2020年的第一场雪锦上添花。
绘制雪花图案,网上有很多文章介绍,但几乎都是用 Python 的内置模块 turtle 绘制的,这个模块适合用来引导孩子学习编程,很难真正用在项目开发上。也有用 pygame 实现的,不过 pygame 追求的是动画效果,雪花图案是随机生成的圆,效果很一般。
用 matplotlib 绘制雪花,重点是生成科赫曲线(Koch Curve)。科赫曲线是一种分形,其形态似雪花,又称科赫雪花、雪花曲线。给定线段pq,k阶科赫曲线可以由以下步骤生成:
- 找出三等分点u、v
- 以线段uv为底,向外(或内外)画等边三角形uwv
- 将线段uv移除
- 对pq之间的每一段重复上述操作k-1次
科赫雪花是以等边三角形三边生成的科赫曲线组成的。基于上述分析,我们可以很容易地写出科赫雪花的生成函数:给定一个等边三角形,和科赫曲线阶数k,返回科赫雪花图案中的所有点。
本文共计992个文字,预计阅读时间需要4分钟。
一场大雪,覆盖了华北、华东。天地相连,城市银装素裹,处处诗意盎然,人人兴高采烈。朋友圈被雪景图和调侃路滑的段子刷屏,气氛比过年还要热烈几分。我也来凑个热闹。
一场大雪,覆盖了华北、华东。天地连成一片,城市银装素裹,处处诗情画意、人人兴高采烈。朋友圈被雪景图和调侃路滑摔跤的段子刷屏,气氛比过年还要热烈几分。我也来凑个热闹,用python为2020年的第一场雪锦上添花。
绘制雪花图案,网上有很多文章介绍,但几乎都是用 Python 的内置模块 turtle 绘制的,这个模块适合用来引导孩子学习编程,很难真正用在项目开发上。也有用 pygame 实现的,不过 pygame 追求的是动画效果,雪花图案是随机生成的圆,效果很一般。
用 matplotlib 绘制雪花,重点是生成科赫曲线(Koch Curve)。科赫曲线是一种分形,其形态似雪花,又称科赫雪花、雪花曲线。给定线段pq,k阶科赫曲线可以由以下步骤生成:
- 找出三等分点u、v
- 以线段uv为底,向外(或内外)画等边三角形uwv
- 将线段uv移除
- 对pq之间的每一段重复上述操作k-1次
科赫雪花是以等边三角形三边生成的科赫曲线组成的。基于上述分析,我们可以很容易地写出科赫雪花的生成函数:给定一个等边三角形,和科赫曲线阶数k,返回科赫雪花图案中的所有点。

