Вектор направления из Quaternion?

У меня есть Кватернион, представляющий поворот плеча трехмерного персонажа. У меня также есть линия, которая должна представлять новое положение руки этого персонажа. Положение этих линий задается двумя трехмерными точками.

Это единственные данные, которые у меня есть, и я пытаюсь вызвать метод в 3D-пакете (Digital Rune), который принимает 2 вектора направления и возвращает Quaternion, представляющий вращение, необходимое для перемещения руки в новое положение.

Проблема в том, что я вижу какое-то странное поведение, как будто оси перепутаны, и это просто обычно не ведет себя. Кроме того, объект Quaternion (из 3D-пакета), представляющий руку 3D-парней, имеет W, X, Y и Z. Представляют ли X, Y и Z вектор направления? Потому что это то, что мне нужно для правильного вызова функции. Я использовал это вместе с моим вычисленным вектором направления от конечных точек моей линии, но, как я уже сказал, это выглядит забавно.

Если X, Y и Z не являются вектором направления, как преобразовать из кватерниона в две конечные точки, чтобы я мог вычислить вектор направления?

7
задан Nicros 22 December 2011 в 23:52
поделиться