Python利用turtle绘制五角星

本文介绍了一种使用Python和Turtle模块进行数据驱动的动态路径绘制方法。通过解析文本文件中的指令,实现不同颜色线条的绘制及转向操作,展示了如何将抽象的数据转化为可视化的图形。

绘制用到的参数我们存放在data.txt文件中,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
Python代码如下:

# data.txt中数据说明
# 0 路径前进像素数
# 1 转动方向,0左,1右
# 2 转动角度
# 3,4,5 绘制颜色的rgb值
import turtle

def main():
    # 设置窗口信息
    turtle.title("数据驱动的动态路径绘制") # 窗口标题
    turtle.setup(800, 600, 0, 0) # 窗口的大小,坐标原点(0,0)表示窗口中心
    # 设置画笔
    pen = turtle.Turtle() # 建立画笔
    pen.color("red") # 画笔颜色的初始化设置为红色
    pen.width(5) # 画笔宽度
    pen.shape("turtle") # 画笔形状
    pen.speed(2) # 绘制速度
    # 读取文件
    result = []
    file = open("data.txt", "r")
    for line in file:
        result.append(list(map(float, line.split(","))))
    print(result)
    # 动态绘制
    for i in range(len(result)):
        pen.color(result[i][3], result[i][4], result[i][5])
        pen.fd(result[i][0])
        if result[i][1]:
            pen.rt(result[i][2])
        else:
            pen.lt(result[i][2])
    pen.goto(0, 0)

if __name__ == "__main__":
    main()
运行结果如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值