У меня есть прямоугольник, который я повернул вокруг его центра на угол. Как я могу получить вершины из прямоугольника?
Применить матрица вращения в вершины.
Например, если начало координат находится в центре вашего прямоугольника, а координаты вершины задаются с помощью 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)
(при условии, вращение против часовой стрелки)
Переведите так, чтобы центр прямоугольника был (0,0). Рассматривайте каждую точку не как часть прямоугольника, а как часть круга, а сегмент линии от центра прямоугольника как центр этого круга. Затем вы решаете другую проблему: с учетом круга в начале координат и точки на этом круге (или отрезке линии), на какую точку (угол) повернуты вокруг круга. Я оставлю вам поиск подходящего алгоритма для этого 🙂