用海龟模块的Vec2D向量旋转线条

用海龟模块的Vec2D向量旋转线条

李兴球Python海龟Vec2D向量旋转线条
李兴球Python海龟Vec2D向量旋转线条

李兴球Python海龟Vec2D向量旋转线条

"""
   用海龟模块的Vec2D向量旋转线条.py
   本程序从海龟模块中导入了Vec2D向量,
   用Tk实例化了一个窗口,然后创建了一根线条。
   通过旋转向量,重新配置坐标,从而旋转了线条。
   本程序为《Python海龟宝典》示例程序。
"""
import time
from tkinter import *
from turtle import Vec2D

root = Tk()
root.title("用Vec2D向量旋转线条示例")

canvas = Canvas(root,width=480,height=360,bg='#FFFFFF')
canvas.pack()

v1 = Vec2D(240,180)               # 旋转中心点
v2 = Vec2D(340,180)               # 端点 
v = v2 - v1
line = canvas.create_line(240,180,340,180,fill='red',width=3)

while True:
    v = v.rotate(1)                # 向右旋转向量一度
    v2 = v1 + v                    # 重新计算端点
    canvas.coords(line,(240,180,v2[0],v2[1]))
    canvas.update()                # 更新画布显示
    time.sleep(0.01)               # 等待0.01秒

李兴球

李兴球的博客是Python创意编程原创博客