Eu os uso como caixa preta há um tempo, estou apenas aprendendo sobre matemática, mas gostaria de algumas respostas definitivas para essa pergunta.
Até agora, o único benefício que me deparei pessoalmente é a capacidade de SLERP entre dois ângulos - para obter o mesmo efeito com um vetor em que você precisa de um trabalho bastante feio (vincular intrinsecamente 0 e 2PI).
mathematics
quaternion
SirYakalot
fonte
fonte
Respostas:
Os quaternions resolvem alguns problemas com elegância:
Você pode contornar esses problemas com outras representações, mas os quaternions são uma boa opção para sua simplicidade e desempenho algorítmico.
fonte
Interpolation works from any start to end angle without special casing
, existe realmente um caso especial, quando eles não estão no mesmo hemisfério da hiperesfera, esse é realmente um caso especial que você deve considerar, já que sempre existem duas direções para interpolar para o alvo e você deseja escolher oThey never exhibit gimbal lock
- isso não é bem verdade. Eles podem, basta multiplicarq(Xaxis, 0) * q(YAxis, 90) * q(Zaxis, 20)
. É verdade que eles podem ser usados para evitar o bloqueio do cardan, mas matrizes, ângulos de eixo e outros também podem. Portanto, essa não é uma propriedade única dos quaternions. De fato, você pode fazer isso com a maioria das representações de rotação, mas com ângulos de euler. A única mensagem verdadeira aqui pode ser "Euler engles sofre de bloqueio do cardan", mas pode ser evitado por muitas outras representações de rotação, não apenas quaterniões.O uso do SLERP mencionado é um caso específico de um atributo mais geral de quaternions: você pode interpolar suavemente entre diferentes valores de rotação.
Ao interpolar os valores de rotação dos ângulos de Euler, você obtém movimentos estranhos, e simplesmente não há maneira lógica de interpolar os valores das rotações do eixo-ângulo (bem, além de dois ângulos diferentes em torno do mesmo eixo).
fonte