Печать
Просмотров: 357

Тригонометрические функции ожидают результат в радианах.
Для перевода градусов в радианы нужно градусы умножить на число Пи и поделить на 180 градусов.
В языке Python число Пи пишется - math.pi.

Подключить модуль math:

from math import pi, sin, cos, ceil

Как поворот одной координаты фигуры на angle градусов

Для начала градусы переведём в радианы:

angle_rad = ceil(angle * pi / 180)

или вот так:

angle_rad = int(angle / 180 * pi)

Теперь можем угол в радианах использовать при вычислении новых координат x1, y1. Исходная точка имеет координаты x и y, координаты центральной точки, вокруг которой производится вращение имеют координаты center_x, center_y.

x1 = center_x + (x - center_x) * cos(angle_rad) - (y - center_y) * sin(angle_rad)
y1 = center_y + (x - center_x) * sin(angle_rad) + (y - center_y) * cos(angle_rad)