Как вы можете визуализировать кватернион?

24

Когда я визуализирую трехмерную матрицу вращения или масштабирующую матрицу, я визуализирую ее как три оси.

Есть ли подобный способ, которым я могу визуализировать вращение кватерниона?

CiscoIPPhone
источник
На самом деле это не визуализация, но кто-то однажды
назвал

Ответы:

19

На странице "Визуализация кватернионов" есть целая книга на 600 страниц: http://books.google.ca/books?id=CoUB09xzme4C&lpg=PP1&ots=uEdJHsni9y&dq=Visualizing%20Quaternions&pg=PP1#v=onepage&q&f=false

Книга на самом деле довольно хорошая, охватывает широкий спектр тем. Он начинается с хорошего введения в линейную алгебру, связанную с игрой, в нем рассказывается о матрицах и векторах, их недостатках и о том, почему вы хотите использовать кватернионы. Затем объясняется, что они из себя представляют и как их использовать. Если вы заинтересованы, вы можете поднять его: http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003

zfedoran
источник
1
+1 для "Визуализации кватернионов", это отличная книга, имейте это тоже, очень рекомендуется
Maik Semder
7
Хотя хорошая книга, если эта ссылка когда-нибудь испортится, этот ответ будет совершенно бесполезным. Я предлагаю вам предоставить в своем ответе некоторую информацию о том, как визуализировать кватернионы.
MichaelHouse
10

Один из методов визуализации, который мне нравится, состоит в том, чтобы представлять кватернион (ориентацию в трехмерном пространстве) в виде вектора ( компоненты x, y, z ) + spin (вращение вокруг этого вектора, сохраненного в компоненте w ).

Если вы ищете онлайн-визуализатор кватернионов, вы всегда можете использовать wolframalpha:

http://www.wolframalpha.com/input/?i=quaternion%3A+0%2B2i-j-3k&lk=3

Посмотрите на визуализацию, помеченную как «соответствующее трехмерное вращение» (3d вектор + вращение):

введите описание изображения здесь

Я нашел это полезным при работе с кватернионами в моем 3d движке.

PolGraphic
источник
1
Точный ответ! Таким образом, люди могут также понять механизм SLERP, потому что они могут изобразить кватернионы на трехмерной сфере, в то время как вращение можно рассматривать как скалярное вращательное движение по этому вектору (угадайте, что это что-то похожее на то, что некоторые математики называют роторной> геометрической алгеброй). net / quaternions.html ).
Теодрон
7

Я визуализирую свои кватернионы как трехмерные векторы (направление + длина) с небольшим отклонением в сторону, чтобы можно было показать вращение вдоль оси вектора.

Это обычный способ визуализации вектора вращения в физике, но название ускользает от меня.

drxzcl
источник
3
Угол вращения оси?
CiscoIPPhone
4

Вам не обязательно нужен альтернативный метод визуализации для кватернионов по сравнению с матрицами.

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

Редко, как для кватернионов, так и для матриц, нужно ли вам соотносить фактические значения компонентов в вашей визуализации, так как то, что значения компонентов кватерниона не связаны с вашими 3 осями, не означает, что его нельзя использовать для визуализации цели.

Стив Н
источник
2

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

http://en.wikipedia.org/wiki/Quaternion_rotation

Кватернионы определенно не та область, в которой я твердо держусь, но на этой вики-странице есть приличная информация. Википедия говорит о вращениях в гиперсфере, хотя и немного сбивает с толку. Удачи!

SpacePrez
источник
2

Как вы знаете, Quaternion основан на комплексных числах и представляет вращение 4-мерной сферы в 4-мерном измерении. Таким образом, вы не можете визуализировать это «как есть». Я вижу, что вы тоже это знаете. И одним и единственным выбором будет визуализация результата вращения. Например результат ротации базы; Или вы можете визуализировать трехмерную сферу и раскрасить ее слоистой «температурой» вращения по каждой оси; Удачи!

Edward83
источник