Как узнать координаты вершин после поворота прямоугольника? Добрый вечер! У меня уже голова кипит. Помогите пожалуйста. Задача по сути школьная, с точки зрения математики.
В общем задача такая. Есть прямоугольник. Начало координат в его левом верхнем углу, т.е. x1=0 y1=0
Я знаю его высоту и ширину.
Вот я поворачиваю этот прямоугольник на 45 или -45 градусов. Мне нужно получить новые кординаты его вершин.
Зачем?? Все просто. Есть изображение. Я его поворачиваю на 45, и сохраняю. А что бы оно не обрезалось, надо холст на котором оно лежит, увеличить, но так, что бы вершины картинки(которую перевернул) лежали на ребрах холста.
Что бы картинка не обрезалась, и холст был точь в точь по размера, не больше.
Чуть не забыл. Вращение относительно центра прямоугольника. Но я думаю это понятно
Выручайте! Жду ответа. Просто скажите формулы как пересчитать все 4 вершины прямоугольника. Спасибо

21 Авг 2019 в 06:10
170 +1
1
Ответы
1

Здравствуйте! Для того чтобы найти новые координаты вершин прямоугольника после поворота на угол 45 или -45 градусов, можно воспользоваться следующими формулами:

Найдем координаты центра прямоугольника:
cx = x1 + width / 2
cy = y1 + height / 2

Найдем новые координаты верхнего левого угла после поворота:
new_x1 = cx + (x1 - cx) cos(angle) - (y1 - cy) sin(angle)
new_y1 = cy + (x1 - cx) sin(angle) + (y1 - cy) cos(angle)

Найдем новые координаты верхнего правого угла:
new_x2 = cx + (x1 + width - cx) cos(angle) - (y1 - cy) sin(angle)
new_y2 = cy + (x1 + width - cx) sin(angle) + (y1 - cy) cos(angle)

Найдем новые координаты нижнего левого угла:
new_x3 = cx + (x1 - cx) cos(angle) - (y1 + height - cy) sin(angle)
new_y3 = cy + (x1 - cx) sin(angle) + (y1 + height - cy) cos(angle)

Найдем новые координаты нижнего правого угла:
new_x4 = cx + (x1 + width - cx) cos(angle) - (y1 + height - cy) sin(angle)
new_y4 = cy + (x1 + width - cx) sin(angle) + (y1 + height - cy) cos(angle)

Где angle - это угол поворота в радианах.

Таким образом, используя эти формулы, вы сможете найти новые координаты вершин прямоугольника после поворота на 45 или -45 градусов. Надеюсь, это поможет вам решить задачу. Если возникнут дополнительные вопросы, обращайтесь!

20 Апр 2024 в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир