2015-09-08 6 views
0

У меня есть твердое тело, центр тяжести которого находится в позиции p относительно происхождения фиксированной глобальной системы отсчета. ux, uy и uz - три ортогональных единичных вектора относительно начала фиксированной глобальной системы отсчета. Эти единичные векторы представляют собой локальную систему координат твердого тела. Локальная координатная рамка следует линейному и вращательному движению твердого тела.Получение исходного кватерниона для твердого тела

Как я могу построить начальный кватернион для этого твердого тела в его текущей ориентации?

ответ

1

«ux, uy и uz - три ортогональных единичных вектора относительно начала фиксированной глобальной системы отсчета».

Это точно матрица вращения 3x3. Вы можете просто преобразовать из этой матрицы 3x3 в кватернион, используя хорошо известную реализацию.

+0

Хорошо. Большое спасибо за ответ. Я также получил тот же ответ: преобразовать матрицу вращения, состоящую из этих ортогональных единичных векторов, в кватернион. – nurabha

+0

Еще один вопрос. Теперь я хочу, чтобы теперь, когда я хочу отобразить точку на жестком теле с вектором положения V в локальную систему координат, основанную на матрице вращения B, я могу выполнить это, выполнив следующее: Vnew = Transpose (B) .V. Теперь вместо этого я хочу сделать то же самое с помощью моего кватерниона q = MatrixToQuaternion (B), должен ли я сделать что-то подобное: Vnew = q^(- 1). V. q? – nurabha

+0

Кватернион с обратным вращением может быть получен только инвертирующим вектором (x, y, z) ИЛИ скалярной (w) частью кватерниона. – minorlogic

 Смежные вопросы

  • Нет связанных вопросов^_^