python实例-自动绘制轨迹

根据一个数据文件来读取绘制图形
基本思路:
1.定义数据文件格式(接口)
2.编写程序,根据文件接口解析参数绘制图形
3.编制数据文件

然后让我们省些力气,把数据文件随机生成吧hhh

需要知识:turtle库使用,random库使用,文本类型使用

代码如下

#定义接口,一行一次行动,第一个数为前进距离,第二个数判断海龟角度左右方向,第三个为海龟角度,后三个数为rgb绘图体系参数
import turtle as t
import random as r

# 设置窗口和画笔
t.title("画图")
t.setup(800, 600, 0, 0)
t.pensize(5)

# 随机产生数据并写入文件
r.seed()
with open("画图.txt", "w", encoding="utf-8") as f:
    for i in range(100):
        distance = r.randint(0, 30)
        direction = r.choice([0, 1])
        angle = r.randint(0, 180)
        r_color = r.random()
        g_color = r.random()
        b_color = r.random()
        # 写入文件时使用英文逗号分隔,确保每个值都是单独的项
        f.write(f"{distance},{direction},{angle},{r_color},{g_color},{b_color}\n")

# 数据读取
d = []
with open("画图.txt", encoding="utf-8") as f:
    for line in f:
        # 使用英文逗号分隔,并去除换行符
        line = line.strip()
        d.append(list(map(eval, line.split(','))))

# 自动绘制
for i in d:
    t.pencolor(i[3], i[4], i[5])
    t.fd(i[0])
    if i[1] == 0:
        t.left(i[2])
    else:
        t.right(i[2])

t.done()

大家可以自己跑一下,每个人每一次的图片都是不一样的哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值