欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python学习笔记--科赫雪花的绘制

发布时间:2024/9/30 python 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python学习笔记--科赫雪花的绘制 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

科赫雪花

  • 科赫雪花:
  • 科赫雪花小程序的打包(带图标)

百度百科的解释:

科赫雪花:


科赫雪花的绘制思想:

我们使用递归和tutle库来实现科赫雪花的绘制

首先调用turtle库。

import turtle

再定义一个koch函数,用于绘制科赫曲线。
该函数有两个参数,length表示最开始绘制科赫曲线的每一条直线的长度,n为科赫曲线的阶数。
当n==0时,我们只需要绘制一条直线;
若n!=0,绘制一条length为当前长度的1/3的n-1阶的科赫曲线;再让海龟左转60度,绘制第二条n-1阶的科赫曲线;然后左转120度,绘制第三条曲线,再左转-60度,绘制第四条曲线。

def koch(length, n):if n == 0:turtle.fd(length)else:for angle in [0,60,-120,60]:turtle.left(angle)koch(length/3,n-1)

定义一个main函数用于调用koch函数

def main():turtle.setup(800, 400)turtle.penup()turtle.goto(-300, -50)turtle.pendown()turtle.pensize(3)koch(600, 3)#调用koch函数,阶数为3

然后我们可以得到一条三阶的科赫曲线

我们需要绘制 科赫雪花,因此,我们需要对main函数做一下修改:

科赫雪花是以等边三角形三边生成的科赫曲线组成的。因此,只需要添加一个循环即可。

在绘制完一条科赫曲线后,将海龟向右旋转120度,绘制第二条科赫曲线;绘制完后,再旋转120度,绘制第三条。再相应的修改下画笔、画布的参数,一个科赫雪花就绘制完成啦~

【为了美观一点,使用 turtle.screensize()函数将画布背景设置为黑色,使用turtle.pencolor(“white”)将画笔颜色设置为白色】

def main():turtle.screensize(600, 600, "black")turtle.pencolor("white")turtle.penup()turtle.goto(-150, 150)turtle.pendown()turtle.pensize(2)for i in range(3):koch(300, 3)turtle.right(120)

完整代码如下:

import turtle def koch(length, n):if n == 0:turtle.fd(length)else:for angle in [0, 60, -120, 60]:turtle.left(angle)koch(length / 3, n - 1) def main():turtle.screensize(600, 600, "black")turtle.pencolor("white")turtle.penup()turtle.goto(-150, 150)turtle.pendown()turtle.pensize(2)for i in range(3):koch(300, 3)turtle.right(120) main() turtle.hideturtle() turtle.done()

科赫雪花小程序的打包(带图标)

阿里巴巴矢量库:https://www.iconfont.cn/

先下载一个你想用来做图标的图片(ico格式)。可以在阿里矢量库里下载图片时,直接将扩展名改成ico,也可以下载png格式的图片,再将png图片转换成ico格式。
【注意:要下载128x128像素大小的图片】

将下载的图片存放到需要打包的程序的同一目录下,然后windows键+R键打开cmd命令,j进入存放程序的目录,输入:

pyinstaller -F -i 图标文件名.ico 程序文件名.py

或者

pyinstaller -i 图标文件名.ico -F 程序文件名.py

这样就是打包成功了

本人最初打包的时候,报错 “struct.error: unpack requires a string argument of length 16”,就是因为图标的尺寸问题,改成128x128像素大小的就ok了

然后到存放程序的目录下找到dist文件夹,打开它就可以看到生成的带图标的程序了!

怎样将png图片转换成ico格式?
https://jingyan.baidu.com/article/5bbb5a1bea704313eba17931.html

总结

以上是生活随笔为你收集整理的Python学习笔记--科赫雪花的绘制的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。