ángulos de Euler sufren de singularidades y son difíciles de trabajar. Las representaciones de matriz NO tienen ese problema al contrario de una cantidad de respuestas aquí. Una representación matricial de orientación puede sufrir errores acumulados porque está utilizando 9 números para algo que solo tiene 3 grados de libertad. Los cuaterniones son muy interesantes matemáticamente, pero al final del día realmente están haciendo una multiplicación de matriz 4x4.
Un quaternion también se puede ver como un 3vec que representa un eje de rotación y su longitud está relacionada con el ángulo de rotación alrededor de ese eje (sin cuadrado?). El 4 ° parámetro se calcula para hacer que la longitud del 4vec sea igual a 1. Esta interpretación se puede convertir a una matriz de orientación equivalente.
La representación de matriz puede incluir información de escala, y puede extenderse a 4x4 para incluir información de posición así como orientación. Puede transformar ambos vectores de posición y dirección utilizando la transformación de matriz que no es posible con los otros dos.
Usted puede hacer una increíble cantidad de cosas de manera muy sencilla con una matriz de 4x4. Los ángulos de Quaternions y Euler solo hacen orientación. Sí, solo esa única cosa. Supongo que mi preferencia/parcialidad en este tema es bastante clara :-)
no relacionada con la programación –
Jestro: leyendo aquí: http://en.wikipedia.org/wiki/Gimbal_lock parece que el veredicto es usar cuaterniones .Pero no tengo experiencia directa (juego de palabras). –
@Mitch: Sin duda, esto está relacionado con la programación, cualquiera que trabaje con gráficos en 3D lidia con estas cosas a diario –