Engenharia de Computação Computação Gráfica |
AULA 5 – ATIVIDADE: Quatérnios
Para as atividades abaixo, recomendamos que use alguma ferramenta como o Excel, Google Sheets, Python Notebook, ou similares.
Quatérnios possuem vários usos, porém aqui vamos nos concentrar nos recursos de realizar rotações no espaço 3D. A construção matemática do quatérnio é em geral expressa da seguinte forma:
Podemos calcular o comprimento de um quatérnio com a seguinte fórmula:
1. Calcule o comprimento dos seguinte quatérnios:
a) 0.024 -0.153i + 0.976j -0.153k
a) -0.559 +0.169i - 0.574j -0.574k
A multiplicação de quatérnios é um recurso que permite fazer as operações de rotação. Uma das formas de fazer essa opção é por um processo distributivo:
Outra forma é usando os recursos de multiplicação escalar e vetorial:
Não se esqueça que a ordem da multiplicação é importante, e o cuidado que você deve ter é na multiplicação dos imaginários. Assim siga sempre a seguinte regra:
2. Faça a multiplicação dos quatérnions anteriores, ou seja,
(0.024 -0.153i + 0.976j -0.153k)(-0.559 +0.169i - 0.574j -0.574k):
3. Calcule o comprimento do quatérnio calculado no exercício anterior. O que aconteceu de interessante com os valores?
4. Normalize o seguinte quatérnio para que ele seja unitário:
a) 2 +2i -1j -4k
Rotações podem ser calculadas no espaço 3D pelas matrizes de rotação, que usam coordenadas de Euler diretamente. Como visto em aula, essas matrizes têm suas limitações:
Uma outra alternativa é através de quatérnions. Para isso se pode criar o quatérnio de rotação com a seguinte fórmula:
Existem duas formas de aplicar a rotação por quatérnios, uma é multiplicando o vetor que se deseja rotacionar pelo quatérnio e depois pelo seu conjugado:
A outra forma é colocar os valores do quatérnio em uma matriz e então multiplicar o vetor. A matriz de rotação usando quatérnios usa a seguinte construção:
5. Vamos verificar se os quatérnios funcionam mesmo.
a) Assuma um ponto (0, 1, 0), faça uma rotação por Z de 45° usando a matriz de rotação por coordenadas de Euler e depois por quatérnios, verifique se os resultados coincidem.
b) Continue a rotação do ponto acima, porém agora além da rotação em Z, faça também uma rotação de 45° em X.
c) Continue mais uma vez a rotação do ponto, agora com mais uma rotação em Y de 45°.