您的位置:首页 > 其它

自动绘制轨迹实例、玫瑰花绘制实例、使用PyInstaller打包玫瑰花绘制程序

2019-05-01 14:04 495 查看

自动绘制轨迹实例

#AutoTraceDraw.py

import turtle as t
t.title('自动轨迹绘制')
t.setup(800,600,0,0)
t.pencolor('red')
t.pensize(5)

#数据读取
datals = []     #数据列表,以便提取
f = open('D:\TXT2019\data.txt')
for line in f :     #以每行为line提取,字符串类型
line = line.replace('\n','')     #并把回车键换成空字符,然后再赋给line,字符串类型
datals.append(list(map(eval,line.split(","))))
#line.split(","),把line以逗号分隔成列表,字符串变成以字符串为元素的列表
#用eval与map函数直接把列表里的字符串元素都变成数据,去掉''
#用list函数变成数据为元素的列表类型,datals.append()在数据列表中添加
#line.split(',')是以字符串为元素的列表,但是由map与eval调制后变成一堆个人看不懂的乱码,然后经过list函数又变为了以数据为元素的列表
#最后[[line],[line],[line],[line]]
f.close()

#自动绘制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5])  #铅笔颜色为下标为345加起来的RGB
t.fd(datals[i][0])    #下标为0是移动距离
if datals[i][1]:       #下标为1是判断到底左拐还是右拐
t.rt(datals[i][2])
else:
t.lt(datals[i][2])

玫瑰花绘制实例

#RoseDraw.py
import turtle as t

#定义一个曲线绘制函数
def degreecurve(n,r,d=1):
for i in range(n):
t.lt(d)
t.circle(r,abs(d))

#初始位置设定
s = 0.2
t.setup(450*5*s,750*5*s)
t.pencolor("black")
t.fillcolor('red')
t.speed(100)
t.pu()
t.goto(0,900*s)
t.pd()

#绘制花朵形状
t.begin_fill()
t.circle(200*s,30)
degreecurve(60,50*s,)
t.circle(200*s,30)
degreecurve(4,100*s)
t.circle(200*s,50)
degreecurve(50,50*s)
t.circle(350*s,65)
degreecurve(40,70*s)
t.circle(150*s,50)
degreecurve(20,50*s,-1)
t.circle(400*s,60)
degreecurve(18,50*s)
t.fd(250*s)
t.right(150)
t.circle(-500*s,12)
t.lt(140)
t.circle(550*s,110)
t.lt(27)
t.circle(650*s,100)
t.lt(130)
t.circle(-300*s,20)
t.right(123)
t.circle(220*s,57)
t.end_fill()

#绘制花枝
t.lt(120)
t.fd(280*s)
t.lt(115)
t.circle(300*s,33)
t.lt(180)
t.circle(-300*s,33)
degreecurve(70,225*s,-1)
t.circle(350*s,104)
t.lt(90)
t.circle(200*s,105)
t.circle(-500*s,63)
t.pu()
t.goto(170*s,-30*s)
t.pd()
t.lt(160)
degreecurve(20,2500*s)
degreecurve(220,250*s,-1)

#绘制一个绿叶
t.fillcolor('green')
t.pu()
t.goto(670*s,-180*s)
t.pd()
t.right(140)
t.begin_fill()
t.circle(300*s,120)
t.lt(60)
t.circle(300*s,120)
t.end_fill()
t.pu()
t.goto(180*s,-550*s)
t.pd()
t.right(85)
t.circle(600*s,40)

#绘制另一绿叶
t.pu()
t.goto(-150*s,-1000*s)
t.pd()
t.begin_fill()
t.rt(120)
t.circle(300*s,115)
t.lt(75)
t.circle(300*s,100)
t.end_fill()
t.pu()
t.goto(430*s,-1070*s)
t.pd()
t.rt(30)
t.circle(-600*s,35)
t.done()

运行效果如下:

使用PyInstaller打包玫瑰花绘制程序

参考:https://blog.csdn.net/qq_42045868/article/details/89516812

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: