0
0 комментариев

Пробовал сделать поворот объекта матричным методом, вроде все правильно и по форумлам (умножение вектора, задающего точку, на матрицу поворота), но почему-то оборот совершается только максимум на на pi/4 после чего замирает. Пробовал поменять знаки, там вообще какая-то ерунда начинает твориться. В общем, буду признателен, если укажите, что ограничивает поворот.

from Tkinter import *
from math import *
 
root=Tk()
root.geometry('750x700')
 
c = Canvas(root,width=700,height=700,bg="white")
c.place(x=0, y=0)
 
x0 = 350
y0 = 350
 
x1 = 350
y1 = 350
x2 = 350
y2 = 10
 
line = c.create_line(x1,y1,x2,y2,  width=3)
 
a = pi/4
 
def pov(event):
    global x2
    global y2
    global a
 
    r3 = (x2-x0)
    r4 = (y2-y0)
 
 
    x2 = r3*cos(a) + (r4)*sin(a)
    y2 = r3*sin(a) + (r4)*cos(a)
 
    c.coords(line,x1,y1,x2,y2)
 
 
 
button1 = Button(root,width=3,height=3, font=10)
button1.place(x = 720, y = 300)
button1.bind("<Button-1>",pov)
 
 
root.mainloop()


Добавить комментарий