Як можна візуалізувати кватерніон?


24

Коли я візуалізую тривимірну матрицю обертання або матрицю масштабування, я візуалізую її як три осі.

Чи є подібний спосіб я візуалізувати кватерніон обертання?


Це насправді не візуалізація, але хтось одного разу поставив мені це як "складні числа: 2 :: quaternions: 4"
кодерангер

Відповіді:


19

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

Книга насправді досить гарна, охоплює широкий спектр тем. Він починається з хорошого ознайомлення з лінійною алгеброю, пов’язаною з іграми, розповідає про матриці та вектори, їх недоліки та чому ви хочете використовувати Quaternions. Потім пояснюється, що вони є, і як ними користуватися. Якщо ви зацікавлені, ви можете взяти його за адресою : http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003


1
+1 для "Візуалізація кватерніонів", її чудова книга, також її дуже рекомендується
Maik Semder

7
Хоча приємна книга, якщо це посилання коли-небудь піде погано, ця відповідь буде абсолютно марною. Я пропоную вам у відповіді надати деяку інформацію про те, як візуалізувати кватерніони.
MichaelHouse

10

Один із способів візуалізації, який мені подобається, - це представляти кватерніон (орієнтація в 3d просторі) як вектор ( x, y, z компоненти) + спін (обертання навколо цього вектора, що зберігається у w- компоненті).

Якщо ви шукаєте якийсь онлайн-візуалізатор для кватерніонів, ви завжди можете використовувати wolframalpha:

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

Погляньте на візуалізацію, позначену як "відповідне 3d обертання" (3d-вектор + віджимання):

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

Я вважаю це корисним під час роботи з кватерніонами в своєму 3d-двигуні.


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

7

Я візуалізую свої кватерніони як тривимірні вектори (напрям + довжина) трохи в бік, щоб можна було показувати обертання вздовж осі вектора.

Це звичайний спосіб візуалізації вектора обертання у фізиці, але назва уникає мене.


3
Кутове обертання?
CiscoIPPhone

4

Вам не обов’язково потрібна альтернативна техніка візуалізації кватерніонів проти матриць.

Коли ви візуалізуєте свою матрицю обертання як три осі штучки, те, що ви насправді візуалізуєте, - це орієнтація. Оскільки кватерніон також представляє орієнтацію, подумайте, як продовжувати використовувати свої 3 осі штучки як об’єкт візуалізації очей вашого розуму.

Рідко, як для кватерніонів, так і для матриць, чи потрібно співвідносити фактичні значення компонентів у своїй візуалізації, так що лише тому, що значення компонентів кватерніона не стосуються вашої 3 осі gizmo, не означає, що його не можна використовувати для візуалізації цілей.


2

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

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

Кватерніони, безумовно, не область, на якій я твердий, але ця сторінка Вікі містить пристойну інформацію про неї. Вікіпедія, однак, говорить про обертання в гіперсфері, стає дещо заплутаною. Удачі!


2

Як відомо, Кватерніон заснований на складних числах і являє собою обертання 4D сфери в 4D вимірі. Таким чином, ви не можете візуалізувати це так, як є. Я бачу, що ти це теж знаєш. І єдиним вибором буде візуалізація результату обертання. Наприклад результат обертання основи; Або ви можете зобразити 3D-сферу і пофарбувати її за допомогою шаруватої «температури» обертання кожної осі; Удачі!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.