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

21 Авг 2019 в 06:10
142 +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 Апр в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир