四分之一圆轮廓的点

时间:2014-12-03 15:46:05

标签: python rotation line geometry tkinter-canvas

我今天的问题是,我不想为一根棍子制作动画,它会掉下来。所以首先棒站立: | 然后它落在右边: / _ 但是如何使用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()

所以棒应该是这样的: enter image description here

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

1 个答案:

答案 0 :(得分:0)

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