Как вы находите вершины повернутого прямоугольника от его центра?

У меня есть прямоугольник, который я повернул вокруг его центра на угол. Как я могу получить вершины из прямоугольника?

0

Решение

Применить матрица вращения в вершины.

Например, если начало координат находится в центре вашего прямоугольника, а координаты вершины задаются с помощью v.x и v.y.
Тогда новые координаты для этой вершины определяются как:

v_new.x=v.x*cos(angle)-v.y*sin(angle)
v_new.y=v.x*sin(angle)+v.y*cos(angle)

(при условии, вращение против часовой стрелки)

2

Другие решения

Переведите так, чтобы центр прямоугольника был (0,0). Рассматривайте каждую точку не как часть прямоугольника, а как часть круга, а сегмент линии от центра прямоугольника как центр этого круга. Затем вы решаете другую проблему: с учетом круга в начале координат и точки на этом круге (или отрезке линии), на какую точку (угол) повернуты вокруг круга. Я оставлю вам поиск подходящего алгоритма для этого 🙂

0

По вопросам рекламы [email protected]