artygrand
@artygrand
Прогер, кодер, писатель кода

Как найти угол для поворота вектора?

У меня есть 2 зеленых точки в 3д пространстве и синий вектор.
Мне надо повернуть синий вектор вдоль плоскости, определенной нормалью первой точки так, что бы он смотрел на вторую точку, но я могу понять, как найти нужный угол.

6038bc5c12b60222067201.jpeg

Ну или может быть есть альтернативный способ нахождения точки на грани куба, которая является местом перегиба "нити", закрепленной в зеленых точках.
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru
Разработчик на С++, гуглер, экс-олимпиадник.
Вы можете найти косинус и синус этого угла, воспользовавшись векторным и скалярным произведениями между векторами двух направлений.

Достаточно только иместь координаты обоих векторов (синего и фиолетового) в евклидовом пространстве.

Делаете произведения, делите длину вектора или число на длины изначальных векотров и получаете синус и косинус. Этого уже достаточно для матрицы поворота. Но если вам нужен сам угол, то скормите эти значения функции atan. На знаю C#, но точно должна быть версия, которая получает значения синуса и косинуса.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы