我今天的问题是,我不想为一根棍子制作动画,它会掉下来。所以首先棒站立: | 然后它落在右边: / _ 但是如何使用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()
所以棒应该是这样的:
正如您在脚本中看到的,我的问题已经解决了:)
答案 0 :(得分:0)
如果你的棍子的长度是400,并且末端的x位置不是原点,那么根据毕达哥拉斯定理,y位置只是sqrt(400 ^ 2 - i ^ 2) - 或者我我错过了这一点? (双关语无意。)