1 / 21

DOUGLAS GARCIA VICTOR GONZALEZ

DOUGLAS GARCIA VICTOR GONZALEZ. ANIMACIÓN II ROTACIÓN Y CUATERNIONES. ANIMACION II: ROTACIÓN Y CUATERNIONES. PARA LA IMPLEMENTACIÓN DE LA ORIENTACIÓN EN 3D EXISTEN VARIAS REPRESENTACIONES:. ÁNGULOS DE EULER EJES/ÁNGULO CUATERNIONES. ANIMACION II: ROTACIÓN Y CUATERNIONES.

vince
Download Presentation

DOUGLAS GARCIA VICTOR GONZALEZ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DOUGLAS GARCIA VICTOR GONZALEZ

  2. ANIMACIÓN II ROTACIÓN Y CUATERNIONES

  3. ANIMACION II: ROTACIÓN Y CUATERNIONES PARA LA IMPLEMENTACIÓN DE LA ORIENTACIÓN EN 3D EXISTEN VARIAS REPRESENTACIONES: ÁNGULOS DE EULER EJES/ÁNGULO CUATERNIONES

  4. ANIMACION II: ROTACIÓN Y CUATERNIONES ÁNGULOS DE EULER ÁNGULOS DE EULER Es el método mas simple para implementar la orientación. Para cada eje, hay un valor que especifica la rotación alrededor de él. De esta forma, tenemos 3 variables: X, Y, Z Estas variables van de 0 a 360 grados y son la representación de los movimientos YAW, PITCH y ROLL.

  5. ANIMACION II: ROTACIÓN Y CUATERNIONES ÁNGULOS DE EULER GIMBAL LOCK NO SON LA SOLUCIÓN MAS ADECUADA, DEBIDO AL PROBLEMA DE GIMBAL LOCK. Gimbal lock: Es la perdida de un grado de libertad (degree of freedom) que ocurre cuando 2 de los 3 ejes necesarios para las rotaciones en 3d, son llevados a la misma dirección. Gimbal: soporte pivoteado que permite la rotación de un objeto alrededor de un eje.

  6. ANIMACION II: ROTACIÓN Y CUATERNIONES ÁNGULOS DE EULER GIMBAL LOCK Ejemplo de GIMBAL LOCK. Rotamos 90° con respecto a z (pitch) Ahora el eje pitch esta paralelo al eje yaw y se ha perdido un grado de libertad. Todos los ángulos están perpendiculares entre si. Es decir, yaw, pitch y roll son cero.

  7. ANIMACION II: ROTACIÓN Y CUATERNIONES EJES/ÁNGULO EJES/ÁNGULOS Este método es mejor que los ángulos de euler ya que evitan el gimbal lock. esta representación consiste en un vector unitario que corresponde al eje de rotación y un valor (de 0 a 360) que corresponde a la rotación con respecto a ese vector. X, y, z, Θ

  8. ANIMACION II: ROTACIÓN Y CUATERNIONES EJES/ÁNGULO PROBLEMAS CON INTERPOLACIONES A pesar de que evitan el gimbal lock, tienen problemas cuando se quiere hacer interpolaciones entre 2 rotaciones. Las interpolaciones calculadas no resultan naturales (jerky rotations)… … y Los ángulos de euler tienen el mismo problema.

  9. ANIMACION II: ROTACIÓN Y CUATERNIONES EJES/ÁNGULO PROBLEMAS CON INTERPOLACIONES El problema es que las rotaciones no se comportan de la misma forma que las traslaciones. Las rotaciones involucran multiplicaciones. Mientras que las traslaciones solo involucran sumas… … además, las matrices de rotación no son conmutativas con la multiplicación… las matrices de traslación si son conmutativas con la adición.

  10. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES CUATERNIONES Un cuaternión es una forma alternativa de representar rotaciones a través del cualquier eje. Matemáticamente, son una extensión del conjunto de números complejos inventados por William Hamilton en 1843. ¡Estos tienen ventajas sobre los otros métodos que incluyen operaciones con matrices!

  11. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES ¿Cómo esta formado un cuaternión? Un número complejo es un número imaginario que se define en términos de i, el número imaginario, se define de tal manera que i*i=-1 Ahora un cuaternión es una extensión de los números complejos, en lugar de solo tener i se tiene j, i,k, donde tenemos que j*j= -1 y k*k=-1 Q = w+Xi+YJ+ZK ESTO ES UN CUATERNION! DONDE X,Y,Z SON NUMEROS COMPLEJOS…

  12. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Otra representación de los cuaterniones es: q = [ w , ( x , y , z ) ] En esta representación tenemos que w es un escalar y (x, y, z) es un vector. NO PIENSEN EN (X,Y,Z) COMO UN TIPICO VECTOR EN 3D, ES UN VECTOR EN 4D, AUNQUE ES MUY POCO INTUITIVO DE VER… Q = [1,(0,0,0)] Es el cuaternión identidad Para la multiplicación. Q = [0,(0,0,0)] Es el cuaternión identidad Para la adición.

  13. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Cuaterniones y las rotaciones Un cuaternión unitario es aquel que cumple que W 2 + X 2 + Y 2 + Z 2 = 1 LO ESPECIAL EN EL CUATERNION UNITARIO ES QUE REPRESENTA LA ORIENTACION EN EL ESPACIO 3D.¡CON ELLOS SE PUEDEN REPRESENTAR ROTACIONES EN 3D DE MANERA MUY SENCILLA! Si q es un cuaternión unitario, éste puede pensarse como una esfera de radio 1 en el espacio 4D. AUNQUE Sea MUY POCO INTUITIVO DE VER… Así, una rotación se puede representar con el cuaternión Q = (w,(x, y, z)),donde (x, y, z) es el eje de rotación y w el valor del ángulo de rotación.

  14. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Conversión desde cuaterniones Para usar los cuaterniones en la orientación, es necesario convertirlos a otras representaciones (como matrices) y volverlos a convertir a cuaterniones. De cuaternión a matriz M = [ w2+x2-y2-z2 2xy - 2wz 2xz + 2wy 2xy + 2wz w2-x2+y2-z22yz - 2wx 2xz - 2wy 2yz + 2wx w2-x2-y2+z2 ] Q=(w, x, y, z)EQUIVALE A De cuaternión a ejes/ángulo Q=(w, x, y, z)EQUIVALE A Θ = 2*COS(W)/S V = (X, Y, Z)/S DONDE S = √ x2 + Y2 + Z2

  15. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Conversión a cuaterniones De ejes/ángulo a cuaternión Θ,V = a*(X, Y, Z) EQUIVALE A Q=(COS(Θ/2), a*x* SEN(Θ/2), a*Y* SEN(Θ/2), a*Z* SEN(Θ/2)) De ángulos DE EULER a cuaternión SEA(X, Y, Z) HAY QUE OBTENER 3 CUATERNIONES INDEPENDIENTES Qx = [COS(X/2), (SEN(X/2), 0, 0)] Qy = [COS(Y/2), (0, SEN(Y/2), 0)] Qz = [COS(Z/2), (0, 0, SEN(Z/2)] Y FINALMENTE Q = Qx* Qy* Qz

  16. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Multiplicando cuaterniones La multiplicación de 2 cuaterniones (q1 y q2) da como resultado otro cuaternión unitario…. …Ese cuaternión representa la rotación combinada entre q1 y q2, ¡increíble pero cierto! Veamos como es la multiplicación… Q1=(w1, v1) CON v1 = (x1, y1, z1) Q2=(w2, v2) CON v2 = (x2, y2, z2) Q1 * Q2 =( w1.w2 - v1.v2, w1.v2 + w2.v1 + v1*v2)DONDE . Y * SON EL PRODUCTO PUNTO Y PRODUCTO CRUZ DE VECTORES. Nota: Q1 * Q2 ES DIFERENTE DE Q2 * Q1, LA MULTIPLICACION NO ES CONMUTATIVA!

  17. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Interpolación con cuaterniones Una de las principales razones del porque los programadores de juegos se interesan en los cuaterniones, es por su facilidad para interpolar dos orientaciones y por sus buenos resultados (smooth animation). Para interpolar entre 2 cuaterniones se puede aplicar tanto la interpolación linear LERP o interpolación linear esférica SLerp . Si se usa lerp, los resultados de la rotación se verán afectados por la velocidad, cosa que se soluciona con slerp.

  18. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Cuaterniones en videojuegos Una de las principales aplicaciones De los cuaterniones en los video Juegos, se da en la rotación de Cámaras de en 3ra persona.

  19. ANIMACION II: ROTACIÓN Y CUATERNIONES CUATERNIONES Eficiencia de los CuaternioneS Aparte de evadir problemas como gimbal lock y proveer de interpolaciones realistas, los cuaterniones son mucho mas eficientes a la hora de realizar las operaciones que involucran hacer rotaciones. Performance comparisons with other rotation methods Performance comparison of various rotation operations

  20. ANIMACION II: ROTACIÓN Y CUATERNIONES FIN

  21. ANIMACION II: ROTACIÓN Y CUATERNIONES REFERENCIAS http://es.wikipedia.org/wiki/Cuaterniones_y_rotaci%C3%B3n_en_el_espacio http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation http://www.gamedev.net/reference/programming/features/qpowers/default.asp http://www.gamasutra.com/features/19980703/quaternions_01.htm Advanced Animation and Rendering Techinques, [Watt y Watt]

More Related