iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется

Как просчитать координаты поворота двух объектов, чтобы сохранить их положение друг относительно друга?

5a7ea398d00b7397660802.png
Имеется 2 блока (красный и черный)
Если мы повернем оба на 90 градусов, положение относительно друг друга - изменится.
а надо сохранить
p.s. позиция и угол поворота может отличаться.
  • Вопрос задан
  • 431 просмотр
Решения вопроса 2
"Pivot point" на англ. – это точка, относительно которой поворачивают. См. wiki:Поворот.

Чтобы относительное расположение двух фигур сохранилось при повороте, надо, чтобы "пивоты" обеих фигур совпадали.

Из вопроса пока не понятно, что дано, и что надо найти. Но, предположим, даны две фигуры, красная (К) и чёрная (Ч), и надо повернуть обе относительно центра красной.

С красной всё понятно. На чёрной надо будет найти положение центра К до поворота. И повернуть Ч относительно этой точки.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Выполняйте поворот обоих прямоугольников относительно одной и той же точки плоскости, тогда всё будет вращаться правильно. Поворот на 90° относительно точки (x0, y0) задаётся формулами:
x' = x0 — (y — y0)
y' = y0 + (x — x0)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Вращайте систему координат чёрного блока.
Т.е., Вы должны учитывать свойства объектов в нужной системе координат - иерархически: так, как они наследуют свойства (вращения, растяжения и т.д.).

Когда один объект - это его система координат.
Когда группа - вычисляется относительная система координат для всех связанных дочерних объектов и затем происходит её вращение и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы