Кватернион и три оси - PullRequest
       4

Кватернион и три оси

4 голосов
/ 19 августа 2010

Учитывая кватернион q и три трехмерных вектора (vx, vy, vz), которые образуют координатные оси, которые могут быть ориентированы в произвольном направлении, но все перпендикулярны друг другу, образуя, таким образом, трехмерное пространство.

Как проверить, вращается ли кватернион q в том же направлении (или противоположном направлении), что и некоторые из трехмерных векторов (vx, vy, vz)?

1 Ответ

3 голосов
/ 19 августа 2010

Если q = (w, x, y, z), где w - «скалярная часть», а qv = (x, y, z) - «векторная часть», тогда вы можете рассчитать угол между qv и каждым из базисных векторов vx, vy, vz используя точечное произведение.

cos (theta) = (qv dot vx) / (| qv | * | vx |)

Если cos (theta) равно +1, ось вращения q параллельна этому базисному вектору.

cos (theta) = -1 означает, что они антипараллельны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...