powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сдвиг после поворота
8 сообщений из 8, страница 1 из 1
Сдвиг после поворота
    #37676552
Прошу помощи вот в каком вопросе.
вот что дано.
2d плоскость.
есть два квадрата с центром в одной точке координаты которой х и у
у каждого из квадротов помима х и у есть смещение offset на которое надо приозвести смещение отностиельно х и у
соответвенно у одно квадрата значение будет offset_х1=0 и offset_у1=0 и для другого offset_х2,offset_у2
так же есть угол поворота на который нужно повернуть квадраты альфа

вопрос. как имея приведенные данные вычеслить offset_х2,offset_у2 для второго квадрата с учетом поворота?
offset_х2=?
offset_у2=?

для примера если

offset_х2=1
offset_у2=1
offset_х1=0
offset_у1=0
альфе = 0
получится одни квадрат над другим

как сделать это для 45 градусов например я не знаю

буду рад ссылками,ответам, формулами и клчевым словам по которым вести поиск.
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37676583
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Сирохин,

Смотрите "матрица поворота", сдвиг.

Еще не хватает координат точки, относительно которой поворачиваем.

Не понятно, какие данные у Вас есть, и что Вы хотите найти.
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37676609
x1ca4064,

есть
offset_х_первого кдадрата
offset_у_первого квадрата
х
у
альфа

найти
offset_х2
offset_у2
относительно первого с учетом поворота
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37676618
x1ca4064,

как выполнить именно сам поворот квадрата нашел
а вот со здвигом сложности
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37676723
правильно ли я понимаю что считать надо через вектор с координатами 0 0 и х и у ?

normal = Math.sqrt((x2)*(x2)+(y2)*(y2));
unit_axis.x = (x2) / normal;
unit_axis.y = (y2) / normal;

unit_axis.x *= inc;
unit_axis.y *= inc;

x += unit_axis.x;
y += unit_axis.y;
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37676798
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37677564
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Сирохинправильно ли я понимаю что считать надо через вектор с координатами 0 0 и х и у ?

normal = Math.sqrt((x2)*(x2)+(y2)*(y2));
unit_axis.x = (x2) / normal;
unit_axis.y = (y2) / normal;

unit_axis.x *= inc;
unit_axis.y *= inc;

x += unit_axis.x;
y += unit_axis.y;

Содержиоме кода, это вычисление каких-то sin и cos, зачем они Вам?

Опишите Вашу задачу в изначальном виде, писать код еще рановато.

Без потери общности, можно принять, что центр квадратов находится в точке (0,0). Что Вам необходимо сделать с ними. Как Вы используете информацию, о том, что это квадраты, а не параллерограммы, например.

Может, Вам необходимо вычислить новые координаты вершин квадратов? - тогда необходимы данные о длине их сторон, последовательности операций (поворот+сдвиг или наоборот), координаты точки, относительно которой поворачиваем.

После правильной формулировки, решение будет тривиальным.
...
Рейтинг: 0 / 0
Сдвиг после поворота
    #37681129
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Сирохинесть два квадрата с центром в одной точке координаты которой х и у т.е.? мб, х у них не одинаковые, а у разные(исходя из рисунка)?
1) углы поворотов квадратов будут одинаковые независимо от этого угла. т.е. 2 квадрат нужно повернуть на такой же угол, что и первый.
2) правильно ли я понял, что вам известно расстояние от центра(угла, стороны) 1 квадрата до другого? и после перемещения расстояние должно сохраниться? тогда
координаты х 2 квадарта будут равны расстоянию между квадратами изначально(при совпадении у) умножить на синус угла поворота
координаты у 2 квадрата будут равны расстоянию между квадратами изначально(при совпадении у) умножить на косинус угла поворота
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сдвиг после поворота
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]