Python 四分之一圆轮廓的点
我今天的问题是,我不想为一根倒下的棍子制作动画。因此,首先,这根棍子是: | 然后它落在右边: / _ 但是如何使用Python画布获得动画呢? Canvas没有旋转项目的函数,所以我需要一个数学公式,如 x=y*z 我的脚本到现在:Python 四分之一圆轮廓的点,python,rotation,line,geometry,tkinter-canvas,Python,Rotation,Line,Geometry,Tkinter Canvas,我今天的问题是,我不想为一根倒下的棍子制作动画。因此,首先,这根棍子是: | 然后它落在右边: / _ 但是如何使用Python画布获得动画呢? 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(
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()
所以棍子应该是这样的:
正如你在上面的脚本中所看到的,我的问题已经解决了:)如果你的棍子的长度是400,而不在原点的一端的x位置是i,那么根据毕达哥拉斯定理,y位置就是sqrt(400^2-i^2)-或者我错过了点?(并非双关语。)2个坐标。一个(停留):(0,0)另一个(x,y)我需要找到那个。所以长度是400,停留点是0,0,我需要得到另一个的点,这样它的方向看起来像一个半径为400,中间为0,0的四分之一圆。然后是的,移动端的坐标是(x,sqrt(400^2-x^2))。否。我现在拥有的,看起来很棒,但不是我需要的。上面有一个图形,显示了我需要的东西。您的选项生成一条线,从0,0开始,到400400结束。这条路看起来很棒,但我需要从0400到400,0的数据。你确定输入的正确吗?x=0->y=sqrt(400^2-x^2)=sqrt(400^2)=400;x=400->y=sqrt(400^2-x^2)=sqrt(0)=0这些是条件,不是吗?情节是四分之一圆(在你感兴趣的领域):等等。也许这正是我需要的——但事实恰恰相反。你知道-我想这是正确的动画,但有错误的点。我想在这个时刻,我是愚蠢的或累了,或其他什么,让它到正确的点。你能再帮我一次吗?你的是从0,0到400400,所以我们需要将一个400移动到一个0,0(0400)和400,0(400400)。请帮我解决我大脑中的小问题:为什么不把你的答案作为答案,这样你就可以标记和关闭这个问题,或者把你得到的答案标记为接受,如果它有助于你解决问题。