Python-20220923-(第七周-自动轨迹绘制)

这篇博客介绍了如何使用Python的turtle库根据数据文件绘制图形轨迹。首先定义数据文件格式,然后编写程序解析文件并绘制图形。数据接口包括行进距离、转向判断、转向角度和RGB颜色。博客提供了具体的数据文件示例和代码实现,展示了自动化读取和绘制过程。
摘要由CSDN通过智能技术生成

问题分析
需求:根据脚本绘制图形        

不是写代码,而是写数据绘制轨迹

(写程序去读取数据,并根据数据绘制图形)

自动化最重要的一步

基本思路:

步骤1:定义数据文件格式(接口)

步骤2:编写程序,根据文件接口解析参数绘制图形

步骤3:编制数据文件

数据接口定义(每个人都不一样,没有所谓的规范,由自己定义)

例如我定义文件:

        300,0,144,1,0,0

1:行进的距离

2:转向判断,0左转,1右转

3:转向角度

4,5,6:分别是RGB三个通道颜色(0-1浮点数)

#AutoTraceDraw.py
'''
新建一个文件:data.txt,将数据文件输入保存
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0
'''
import turtle as t #引入turtle绘图库 定义别名
t.title('自动轨迹绘制') #标题栏的名字
t.setup(1800,600,0,0)   #画布的大小以及位置
t.pencolor('red')      #初始颜色
t.pensize(5)         #大小

#数据读取
datals = []    #定义一个列表
f = open('data.txt',encoding='UTF-8')  #打开数据文件
for line in f:      #循环文件
    line = line.replace('\n','')  #replace---将换行符替换为空
    # .split(',') ,返回一个列表由','号隔开,例如['A','B','C']
    #map ()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,
    #并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回
    #list():将map处理后的数据转为列表
    #加入到datals
    datals.append(list(map(eval,line.split(','))))  
f.close()
'''
#打印出来看看数据
for i in datals:
    print(i)
'''
#自动轨迹处理
for i in range(len(datals)): #循环datals处理
    t.pencolor(datals[i][3],datals[i][4],datals[i][5])#设置第一行的颜色
    t.fd(datals[i][0])                    #前进的距离
    if datals[i][1]:                      #判断转向
        t.right(datals[i][2])             #右转的角度
    else:
        t.left(datals[i][2])              #左转的角度

即使爬到最高的山上,一次也只能脚踏实地地迈一步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灬小杰

别人都在努力,你为什么不可以!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值