0

我今天的问题是,我不想为一根倒下的棍子制作动画。所以首先棍子站立:| 然后它落在右边:/ _ 但是我如何使用 Pythons Canvas 获得该动画?Canvas 没有旋转项目的功能,所以我需要一个像 x = y*z 这样的数学公式我的脚本到现在:

from tkinter import *
from time import sleep
root = Tk()
root.geometry("400x400")
root.resizable(0,0)
canv = Canvas(root)
canv.pack(fill="both", expand=True)
line = canv.create_line(1,400,1,0,fill="#000000")

def test():
    y = 1
    for i in range(1,401):
        sleep(0.005)
        x= i
        y= 400 - sqrt(400**2 - x**2)      ###### Problem already solved :)
        canv.coords(line, 0, 400, x, y)
        root.update()

test()

所以棍子应该是这样的: 在此处输入图像描述

正如您在上面的脚本中看到的,我的问题已经解决了:)

4

1 回答 1

0

如果你的棍子的长度是 400,并且不在原点的末端的 x 位置是 i,那么根据毕达哥拉斯定理,y 位置就是 sqrt(400^2 - i^2) - 或者我错过了观点?(双关语不是故意的。)

于 2014-12-03T15:53:04.340 回答