Python学习笔记--科赫雪花的绘制
科赫雪花
- 科赫雪花:
- 科赫雪花小程序的打包(帶圖標(biāo))
百度百科的解釋:
科赫雪花:
科赫雪花的繪制思想:
我們使用遞歸和tutle庫(kù)來(lái)實(shí)現(xiàn)科赫雪花的繪制
首先調(diào)用turtle庫(kù)。
import turtle再定義一個(gè)koch函數(shù),用于繪制科赫曲線。
該函數(shù)有兩個(gè)參數(shù),length表示最開(kāi)始繪制科赫曲線的每一條直線的長(zhǎng)度,n為科赫曲線的階數(shù)。
當(dāng)n==0時(shí),我們只需要繪制一條直線;
若n!=0,繪制一條length為當(dāng)前長(zhǎng)度的1/3的n-1階的科赫曲線;再讓海龜左轉(zhuǎn)60度,繪制第二條n-1階的科赫曲線;然后左轉(zhuǎn)120度,繪制第三條曲線,再左轉(zhuǎn)-60度,繪制第四條曲線。
定義一個(gè)main函數(shù)用于調(diào)用koch函數(shù)
def main():turtle.setup(800, 400)turtle.penup()turtle.goto(-300, -50)turtle.pendown()turtle.pensize(3)koch(600, 3)#調(diào)用koch函數(shù),階數(shù)為3然后我們可以得到一條三階的科赫曲線
我們需要繪制 科赫雪花,因此,我們需要對(duì)main函數(shù)做一下修改:
科赫雪花是以等邊三角形三邊生成的科赫曲線組成的。因此,只需要添加一個(gè)循環(huán)即可。
在繪制完一條科赫曲線后,將海龜向右旋轉(zhuǎn)120度,繪制第二條科赫曲線;繪制完后,再旋轉(zhuǎn)120度,繪制第三條。再相應(yīng)的修改下畫(huà)筆、畫(huà)布的參數(shù),一個(gè)科赫雪花就繪制完成啦~
【為了美觀一點(diǎn),使用 turtle.screensize()函數(shù)將畫(huà)布背景設(shè)置為黑色,使用turtle.pencolor(“white”)將畫(huà)筆顏色設(shè)置為白色】
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()科赫雪花小程序的打包(帶圖標(biāo))
阿里巴巴矢量庫(kù):https://www.iconfont.cn/
先下載一個(gè)你想用來(lái)做圖標(biāo)的圖片(ico格式)。可以在阿里矢量庫(kù)里下載圖片時(shí),直接將擴(kuò)展名改成ico,也可以下載png格式的圖片,再將png圖片轉(zhuǎn)換成ico格式。
【注意:要下載128x128像素大小的圖片】
將下載的圖片存放到需要打包的程序的同一目錄下,然后windows鍵+R鍵打開(kāi)cmd命令,j進(jìn)入存放程序的目錄,輸入:
pyinstaller -F -i 圖標(biāo)文件名.ico 程序文件名.py或者
pyinstaller -i 圖標(biāo)文件名.ico -F 程序文件名.py這樣就是打包成功了
本人最初打包的時(shí)候,報(bào)錯(cuò) “struct.error: unpack requires a string argument of length 16”,就是因?yàn)閳D標(biāo)的尺寸問(wèn)題,改成128x128像素大小的就ok了
然后到存放程序的目錄下找到dist文件夾,打開(kāi)它就可以看到生成的帶圖標(biāo)的程序了!
怎樣將png圖片轉(zhuǎn)換成ico格式?
https://jingyan.baidu.com/article/5bbb5a1bea704313eba17931.html
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记--科赫雪花的绘制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 炉桥镇有没有新能源充电桩点?
- 下一篇: FIIL为什么周一到周五晚上九点就会报警