@marshadow

Как повернуть нормализованный вектор на другой нормализованный вектор?

Я делаю игру с нуля, и столкнулся с проблемой, например есть вектор (1; 0) это вектор направления луча который от исходит от взгляда игрока, и есть вектор направления игрока, например (0,69; 0.3), какой формулой повернуть вектор направления луча, на вектор направления игрока, чтобы если даже игрок кружился, луч был в одинаковом положении относительно вектора направления игрока?
  • Вопрос задан
  • 398 просмотров
Решения вопроса 1
Griboks
@Griboks
Идея простая - наследовать (классами, компонентами или объектами в иерархии) камеру от игрока. Тогда камера всегда будет относительно игрока в фиксированном положении (и будет крутиться вместе с игроком). Т.е. вместе с игроком вы вращаете и всех его детей при движении мышкой.

Если же речь идёт о повороте вектора, то вопрос некорректен. У вас есть вектор a и вектор b, который является повёрнутым вектором a. Что вы подразумеваете под поворотом, когда у вас есть начальное (a) и конечное (b) положение вектора? Поворачивать можно только на угол, а не на другой вектор. Но если вы повернёте a на угол между a и b, то у вас получится b (они ведь нормализованы). Вот если речь идёт о повороте вектора, тогда смотрите матрицу поворота. Но учтите, чтобы обычно поворачивают луч относительно какой-нибудь точки, а не абстрактный вектор.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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