You are on page 1of 12

Cuaterniones

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Por qu se usan cuaterniones en JMonkey?


Porque es la forma en la que se explican las rotaciones junto con los ngulos de Euler- en el libro que han tenido como base en el proyecto. Son muy utilizados en el mbito de la animacin, por ello slo los vamos a introducir brevemente Las ventajas las veremos al final

Pginas 11 a 17 (cuaterniones) y 18 a 26 (ngulos de Euler)


Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

La H de Hamilton

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Definicin de cuaternin

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Multiplicacin de cuaterniones

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Conjugada e inversa
Conjugada:

Inversa:
2

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Representacin de las rotaciones


La representacin de una rotacin de radianes alrededor del eje definido por el vector u viene dado por:

q tiene norma unidad Las rotaciones se logra mediante una multiplicacin de cuaterniones

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Rotar puntos
Podemos embeber las coordenadas cartesianas del vector sobre el que rotar en las 3 ltimas componentes del cuaternin (v).

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Del cuaternin unitario a la matriz de rotacin

Aplicar la matriz a un vector requiere unas pocas operaciones menos que aplicar un cuaternin a un vector??

Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Razones por las que usar cuaterniones


La representacin de una rotacin es ms compacta en un cuaternin (4 nmeros) que en una matriz ortogonal (9 nmeros) Ms sencillo de interpretar Permite hacer rotaciones suaves Robusto a errores de redondeo en la concatenacin de rotaciones No hay gimbal lock
Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Rendimiento frente a otras opciones

Fuente: Wiipedia Ya hemos dicho que, a menos que se definan a mano, las rotaciones se hacen en HW grfico mediante matrices
Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07

Recursos
Ejemplo de cdigo en OpenGL: Tutorial de NeHe Quaternion Camera Class

Artculo de Sobeit Void: Quaternion Powers http://www.gamedev.net/reference/articles/article1095.asp Artculo de Simon Brown: Representing Rotations in Quaternion Arithmetic MathWorld: http://mathworld.wolfram.com/Quaternion.html Wikipedia: http://en.wikipedia.org/wiki/Quaternion http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
Tcnicas de videojuegos -- Mster en Informtica Grfica, Juegos y Realidad Virtual QUATERNIONES 07 12

You might also like