Resumen.
Si A es una matriz ortogonal,
Av es una rotación del
vector
v alrededor de un vector
u. En este trabajo,
a partir de un ángulo y un eje de rotación
u
arbitrario, se obtiene una matriz ortogonal que describe esta
rotación. Se hace una implemetación en MATHEMATICA y se
aplica a algunos objetos tridimensionales (se incluyen animaciones 3D). También se discute la relación entre los ángulos de
Euler
y el ángulo y el eje de rotación.
Introducción
Cuando se manipulan gráficos tridimensionales por computadora (en animación
y simulación, etc.), una tarea muy conveniente es hacer rotaciones de estos
objetos alrededor de una recta en el espacio. Cuando el objeto tridimensional es
un lista de primitivas y las primitivas son una lista de puntos
P = {P1, ... , Pk}
entonces, para hacer una animación del objeto tridimensional, que incluya
rotaciones, lo mejor es tener una parametrización
Pi = Pi()
del objeto . La animación es una sucesión de gráficos (frames) obtenidos al
hacer variar
.
Una parametrización de los puntos, para hacer una rotación, se puede lograr
con herramientas matriciales (matrices ortogonales). Una maipulación más
poderosa de las rotaciones se puede lograr con el álgebra de cuaterniones, con
esta última se puede establecer, e manera sencilla, la relación entre la
rotación alrededor de un eje y los ángulos de Euler.En las bibliotecas estándar
de MATHEMATICA 3.0 (4.0) hay dos alternativas para rotar un
objeto tridimensional, una es usando ángulos de Euler (RotateShape[])
y otra es manipulando el ViewPoint (SpinShow[]). Ambas
opciones son en general inadecuadas para tareas generales de animación. En el
caso de los ángulos de Euler, no hay una relación adecuada entre estos ángulos
y un eje de giro arbitrario. Sin embargo, se puede implementar un comando (de
manera relativamente sencilla) para la rotación de cualquier objeto tipo Graphiscs3D
alrededor de un eje arbitrario.