2015-05-01 57 views
0

我在画布中有一条线,我想旋转度数x,同时保持canvs中间的起始点,我想知道用什么公式计算出结尾点坐标是?像在Tkinter画布中旋转线条

degrees=xnumberofdegrees 
lineEndPoint=degrees*someformulaforxandy 
canvas = Canvas(root, width=500, height=500, bg="white") 
canvas.pack() 
rotatedline=space.create_line(250,250,lineEndPoint)  

起点应该永远是250,250,因为画布的大小是500×500,所以我只需要在终点。欢迎任何帮助。

+0

我对这个问题非常失望 - 为什么它不是关于如何旋转'Canvas'中的现有行?移动现有对象(“椭圆形”等)是可能的,但是如果我们想要任意改变端点怎么办? –

回答

2

非常直接的应用三角学。

angle_in_radians = angle_in_degrees * math.pi/180 
line_length = 100 
center_x = 250 
center_y = 250 
end_x = center_x + line_length * math.cos(angle_in_radians) 
end_y = center_y + line_length * math.sin(angle_in_radians)