Como você pode visualizar um quaternion?


24

Quando visualizo uma matriz de rotação tridimensional, ou matriz de escala, visualizo-a como três eixos.

Existe uma maneira semelhante de visualizar um quaternion de rotação?


Não é realmente uma visualização, mas alguém uma vez me colocou como "números complexos: 2 :: quaternions: 4"
coderanger 26/10/10

Respostas:


19

Existe um livro inteiro de 600 páginas sobre "Visualizando Quaternions": http://books.google.ca/books?id=CoUB09xzme4C&lpg=PP1&ots=uEdJHsni9y&dq=Visualizing%20Quaternions&pg=PP1#v=onepage&q&f=false

O livro é realmente muito bom, cobrindo uma ampla gama de tópicos. Começa com uma boa introdução à álgebra linear relacionada a jogos, fala sobre matrizes e vetores, suas deficiências e por que você deseja usar o Quaternions. Em seguida, explica o que são e como usá-los. Se você estiver interessado, pode buscá-lo: http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003


11
+1 para "Visualizando Quaternions", é um grande livro, tê-lo também, altamente recomendado
Maik Semder

7
Embora um bom livro, se esse link for ruim, essa resposta será completamente inútil. Sugiro que você forneça algumas informações em sua resposta sobre como visualizar os quaternions também.
MichaelHouse

10

Um dos métodos de visualização que eu gosto é representar quaternion (orientação no espaço 3d) como vetor ( componentes x, y, z ) + spin (a rotação em torno desse vetor, armazenada no componente w ).

Se você está procurando algum visualizador on-line para quaternions, sempre pode usar wolframalpha:

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

Dê uma olhada na visualização rotulada como "rotação 3d correspondente" (o vetor 3d + rotação):

insira a descrição da imagem aqui

Eu achei útil ao trabalhar com quaternions no meu mecanismo 3D.


11
Resposta imediata! Dessa forma, as pessoas também podem entender o mecanismo SLERP porque podem visualizar quaternions em uma esfera 3D, enquanto o giro pode ser visto como o movimento de rotação escalar desse vetor (acho que é algo semelhante ao que alguns matemáticos chamam de rotor -> geometricalgebra. net / quaternions.html ).
Teodron

7

Eu visualizo meus quaternions como vetores tridimensionais (direção + comprimento) com um pouco para o lado para poder mostrar rotação ao longo do eixo do vetor.

É uma maneira comum de visualizar o vetor de rotação na física, mas o nome me escapa.


3
Rotação do eixo angular?
CiscoIPPhone 25/10/10

4

Você não precisa necessariamente de uma técnica de visualização alternativa para quaternions versus matrizes.

Quando você visualiza sua matriz de rotação como o mecanismo de três eixos, o que realmente está visualizando é uma orientação. Como o quaternion também representa uma orientação, considere continuar usando o dispositivo de três eixos como objeto de visualização ocular da sua mente.

Raramente, para quaternions ou matrizes, é necessário relacionar os valores reais dos componentes em sua visualização, apenas porque os valores dos componentes do quaternion não se relacionam com seus dispositivos de 3 eixos não significa que não possam ser usados ​​para visualização propósitos.


2

Você pode, mas isso se torna difícil. Em vez de três eixos de rotação separados, ou três cardan que se movem independentemente, um de cada vez, você deve imaginar um quaternion como uma descrição do ângulo de rotação tridimensional completo e a magnitude de uma só vez como uma descrição única de toda a tradução .

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

Definitivamente, os quaternions não são uma área em que eu sou sólida, mas essa página da wiki tem algumas informações decentes. A Wikipedia fala sobre rotações em uma hiperesfera, porém, fica um pouco confusa. Boa sorte!


2

Como você sabe, Quaternion é baseado em números complexos e representa a rotação da esfera 4D na dimensão 4D. Portanto, você não pode visualizá-lo 'como está'. Vejo que você também conhece. E uma e apenas uma opção será a visualização do resultado da rotação. Por exemplo, resultado da rotação da base; Ou você pode renderizar a esfera 3D e pintá-la pela 'temperatura' de rotação em camadas de cada eixo; Boa sorte!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.