>> Transformación << Transformaciones 3D

Slides:



Advertisements
Presentaciones similares
EL ROBOTICA DE Y ARTIFICIAL DEL INTELIGENCIA
Advertisements

TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Transformaciones geométricas
Actualización en Geometría: Simulación por Ordenador
TRANSFORMACIONES ISOMÉTRICAS
TRANSFORMACIONES LINEALES EN 3D
Vectores en el espacio 2º Bachillerato
Rotación de los ejes coordenados
TRANSFORMACIONES GEOMÉTRICAS
Transformaciones geométricas en 2D y 3D
Conservación del Momento Angular:
Espacios de dimensión infinita
Ecuaciones Diferenciales
Recursos matemáticos para física
Geometría Analítica Plana
Tema V Sistemas no Lineales de Ecuaciones Diferenciales - Estabilidad de Sistemas de EDO Ecuaciones Diferenciales.
PROBLEMAS ELECTROSTÁTICOS
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Transformaciones geométricas
Transformaciones.
2.6. Momento de una fuerza El momento de una fuerza puede definirse como el efecto de giro que se produce sobre un cuerpo alrededor de un punto o eje,
Circunferencia. Presentado por: María del Rosario Ochoa Guerrero.
DERIVADAS PARCIALES Gráficas.
Transformaciones Isométricas
Álgebra Lineal – Escuela Superior de Ingeniería de Bilbao – UPV/EHU
Graficación III. Transformaciones.
Vectores en el plano. Producto escalar.
Mónica Sarahí Ramírez Bernal A IIS 11 Capitulo 3
Supongamos que nos plantean el siguiente problema:
TRANSFORMACIONES LINEALES PARA REDES NEURALES ARTIFICIALES
ECUACIONES DE SEGUNDO GRADO
Matemáticas III Tema I FUNCIONES
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Nociones de Algebra Lineal
GEOMETRÍA ANALÍTICA EN EL PLANO.
Descomposición Factorial Unidad 5
TRANSFORMACIONES ISOMÉTRICAS
Transformaciones Geométricas
El tornillo y el producto cruz
Cónicas. Secciones cónicas Circunferencia
ECUACIONES DE RECTAS Ecuación vectorial
Tema 3.- MATRICES INVERTIBLES
CAPÌTULO 1 Vectores en el espacio
Transformaciones isométricas
Ecuaciones Algebraicas
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Transformaciones Isométricas
El movimiento Circular
Homotecias Cuando cambias una figura de tamaño se hace más grande o más pequeño. ... pero es similar: los ángulos no cambian Los tamaños relativos son.
Graficación 2D Alumna: Yasmin Rosales Cruz
NÚMEROS COMPLEJOS son una extensión de los números reales, cumpliéndose que . Los números complejos tienen la capacidad de representar todas las raíces.
MATRICES.
VECTORES RECTAS.
Trigonometría con circulo unitario
PROYECCIONES AXONOMETRICAS
Robótica M.C. Fco. Javier de la Garza S.
Análisis cinemático: ACELERACION
TRANSFORMACIONES ISOMÉTRICAS
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
Escuela de Ciencias Básicas Tecnología e Ingeniería UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA SEPTIEMBRE.
Análisis cinemático: VELOCIDAD
UNSa Sede Regional Oran TEU - TUP. Un espacio vectorial (o espacio lineal) es el objeto básico de estudio del álgebra lineal.álgebra lineal A los elementos.
TRANSFORMACIONES ISOMÉTRICAS En una transformación isométrica:
CALCULO VECTORIAL VECTORES EN R2 y R3
Álgebra, ecuaciones y sistemas
TEORIA ELECTROMAGNETICA Clase 16 VECTORES DE JONES.
UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TACHIRA UNIDAD DE ADMISION CURSO PROPEDEUTICO ASIGNATURA FISICA Prof. Juan Retamal G.
VECTORES CONCEPTO DE DIRECCION ESCALARES Y VECTORES
OPERADORES CINEMÁTICOS Roger Miranda Colorado
Transcripción de la presentación:

>> Transformación << Transformaciones 3D LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones Trfm.3D A. García-Alonso

Contenido Transformaciones (Foley 5, Hearn 11) Coordenadas homogéneas Traslación de un cuerpo Escalado con pívot en el origen Oblicua (shear) Rotación de un cuerpo sobre un eje coordenado Transformaciones y topología Coordenadas homogéneas Matrices de transformación Composición de transformaciones. Ejemplos Álgebra : matriz cambio de base, quaternion Gestión trfm. 3D en OpenGL Trfm.3D A. García-Alonso

Traslación de un cuerpo Entry Level Graphics Course Curriculum Western Michigan University Jason_a.cavanaugh@wmich.edu http://grog.lab2.cc.wmich.edu/atkins/section52.htm Trfm.3D A. García-Alonso

Descripción de la traslación La traslación se define mediante un vector t Todo punto P perteneciente al cuerpo trasladado pasa a una posición P’ determinada por el vector de traslación t Sea un punto P de coordenadas (x, y, z) deseamos calcular sus nuevas coordenadas (x’, y’, z’) tras sufrir una traslación t (tx, ty, tz) : En la figura aparece en la izquierda el objeto en la posición original. En la derecha aparece el objeto –en el mismo sistema de referencia-, pero en la nueva posición generada a través de la transformación de las coordenadas de sus vértices. x’ = x + tx y’ = y + ty z’ = z + tz t P P’ Traslación de un punto y z x Trfm.3D A. García-Alonso ver nota

Escalado Escalado homogéneo en los tres ejes, con pívot (centro) de escalado en el origen En la figura de la izquierda aparecen dos vistas distintas del mismo objeto en la situación original. En la derecha aparece el objeto –en el mismo sistema de referencia, y en las mismas vistas-, pero en la nueva posición generada a través de la transformación de las coordenadas de sus vértices. Trfm.3D A. García-Alonso ver nota

... El escalado se puede realizar respecto de cualquier pívot . En este caso se ha elegido el centro del cubo que envuelve al sólido Obsérvese que la proyección isométrica del objeto transformado (superior derecha) es idéntica a la vista en la transparencia anterior, sin embargo en la vista inferior se observa cómo el pívot de esta transformación está en el centro del cubo envolvente del objeto.. Trfm.3D A. García-Alonso ver nota

... Escalado no homogéneo: en cada eje se utiliza un coeficiente de escalado distinto. Trfm.3D A. García-Alonso

Cálculo del escalado El escalado se define mediante factores de escala Escalado homogéneo : un único factor s  , s > 0 s > 1 aumenta el tamaño s < 1 disminuye Escalado heterogéneo : factores de escalado en cada eje coordenado : sx, sy, sz El escalado homogéneo es el más habitual Si consideramos como pívot el origen de coordenadas Sea un punto P de coordenadas (x, y, z), deseamos calcular sus nuevas coordenadas (x’, y’, z’) x’ = sx · x y’ = sy · y z’ = sz · z Trfm.3D A. García-Alonso

Oblicua (shear) x’ = shx · x y’ = y z’ = z x’ = x y’ = shy · y z’ = z z’ = shz · z x y z x’ = shx · x y’ = y z’ = shz · z Trfm.3D A. García-Alonso

Rotación sobre un eje coordenado Entry Level Graphics Course Curriculum Western Michigan University Jason_a.cavanaugh@wmich.edu http://grog.lab2.cc.wmich.edu/atkins/section52.htm Trfm.3D A. García-Alonso

Descripción de la rotación La rotación puede ser sobre cualquier eje Una rotación se define mediante (O, r ) Un punto del eje Un vector que determina la dirección y sentido del eje El sentido positivo de giro de un eje lo determina la regla de la mano derecha o del sacacorchos http://www.cac.psu.edu/dept/cac/publications/web/ publications/cacguide/viz/sem_notes/3d_fundamentals Trfm.3D A. García-Alonso

... Signo o sentido de la rotación Trfm.3D A. García-Alonso

... Todo punto P perteneciente al cuerpo girado pasa a una posición P’ por rotación de un ángulo β sobre (Q, j) La figura supone que β es positivo De modo similar se presentan las rotaciones positivas (O, i), (O, k) y z x β j : (0,1,0) Q P α i U’ U y z x y z x P’ Trfm.3D A. García-Alonso

Giro  Coordenada polar Distinguir Rotación (no usa origen de referencia) Coordenada polar (requiere referencia) x y z θ P P’ Rotación x y z θ P Coordenada polar referida al eje z Trfm.3D A. García-Alonso

Cálculo : rotación de un punto (eje y) Sea un punto P de coordenadas (x, y, z) deseamos calcular sus nuevas coordenadas (x’, y’, z’) tras girar un ángulo β alrededor del eje y P’ estará contenido en un plano perpendicular a j que pasa por P Resolveremos el problema en ese plano x y z β P P’ Rotación de un punto sobre el eje y Trfm.3D A. García-Alonso

Similarmente, y sustituyendo lo anterior, se obtiene: β P P’ α y x z x’ = z sin β + x cos β y’ = y z’ = z cos β – x sin β Usando dos parámetros auxiliares : α y d (distancia de P al eje y), se puede expresar : x = d sin α z = d cos α Similarmente, y sustituyendo lo anterior, se obtiene: x’ = d sin (α + β ) = d ( cos α sin β + sin α cos β ) = z sin β + x cos β y’ = y z’ = d cos (α + β ) = d (cos α cos β – sin α sin β ) = z cos β – x sin β Que se puede expresar matricialmente : x´ cos β 0 sin β x y´ 0 1 0 y z´ -sin β 0 cos β z Trfm.3D A. García-Alonso

Transformaciones y topología Se puede observar que las relaciones topológicas entre vértices, aristas y caras no varían en ninguna de las transformaciones estudiadas Tampoco varían sus ángulos relativos, excepto en el caso de escalado no homogéneo Trfm.3D A. García-Alonso

Coordenadas homogéneas Utilizaremos coordenadas homogéneas (Burgos 11.8) Con una única estructura de datos se describen todas las transformaciones : matrices M44 Permite componer una sucesión de transformaciones en una única matriz No toda M44 representa una transformación geométrica válida Lo habitual será considerar la unidad en la cuarta coordenada (la homogénea) x´ a11 a12 a13 a14 x y´ a21 a22 a23 a24 y z´ a31 a32 a33 a34 z 1 0 0 0 1 1 Trfm.3D A. García-Alonso

Matriz de traslación Expresaremos ahora la translación de un punto usando coordenadas homogéneas x´ 1 0 0 tx x y´ 0 1 0 ty y z´ 0 0 1 tz z 1 0 0 0 1 1 Trfm.3D A. García-Alonso

Matrices de rotación sobre ejes coord. x´ 1 0 0 0 x y´ 0 cos θ -sin θ 0 y z´ 0 sin θ cos θ 0 z 1 0 0 0 1 1 Rotación en x x´ cos θ 0 sin θ 0 x y´ 0 1 0 0 y z´ -sin θ 0 cos θ 0 z 1 0 0 0 1 1 Rotación en y x´ cos θ -sin θ 0 0 x y´ sin θ cos θ 0 0 y z´ 0 0 1 0 z 1 0 0 0 1 1 Rotación en z Trfm.3D A. García-Alonso

Oblicua en xy (z invariante) ... x´ sx 0 0 0 x y´ 0 sy 0 0 y z´ 0 0 sz 0 z 1 0 0 0 1 1 Escalado x´ 1 0 a 0 x y´ 0 1 b 0 y z´ 0 0 1 0 z 1 0 0 0 1 1 Oblicua en xy (z invariante) x´ 1 0 0 0 x y´ 0 1 0 0 y z´ 0 0 -1 0 z 1 0 0 0 1 1 Reflexión plano xy Trfm.3D A. García-Alonso

Matrices inversas 1 0 0 tx 1 0 0 -tx 0 1 0 ty 0 1 0 -ty 0 0 1 tz 0 0 0 1 MT = 1 0 0 -tx 0 1 0 -ty 0 0 1 -tz 0 0 0 1 MT–1 = sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1 MS = Modo de evaluar las transformaciones inversas : Usar los métodos matriciales habituales Razonamiento geométrico : a) La translación inversa a (tx, ty, tz) es (-tx, -ty, -tz) b) La rotación inversa a θ es -θ y como [cos -θ = cos θ ; sin -θ = -sin θ] ... c) El escalado inverso a s es 1/s 1/sx 0 0 0 0 1/sy 0 0 0 0 1/sz 0 0 0 0 1 MS–1 = Trfm.3D A. García-Alonso ver nota

... 1 0 0 0 0 cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 MRx = 1 0 0 0 1 0 0 0 0 cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 MRx = 1 0 0 0 0 cos θ sin θ 0 0 -sin θ cos θ 0 0 0 0 1 MRx–1 = cos θ 0 sin θ 0 0 1 0 0 -sin θ 0 cos θ 0 0 0 0 1 MRy = cos θ 0 -sin θ 0 0 1 0 0 sin θ 0 cos θ 0 0 0 0 1 MRy–1 = cos θ -sin θ 0 0 sin θ cos θ 0 0 0 0 1 0 0 0 0 1 MRz = cos θ sin θ 0 0 -sin θ cos θ 0 0 0 0 1 0 0 0 0 1 MRz–1 = Trfm.3D A. García-Alonso

Composición de transformaciones Apliquemos una transformación : P´ = MT1 · P Apliquemos otra : P´´ = MT2 · P´ = MT2 · MT1 · P  La matriz que acumula ambas transformaciones será M = MT2 · MT1 En general : M = MTn · ... · MT3 · MT2 · MT1 Trfm.3D A. García-Alonso

No conmutativa La composición de transformaciones no es conmutativa Trfm.3D A. García-Alonso

Ejemplo : transformar vector ligado Problema : dados dos vectores ligados encontrar la transformación que “lleva” a uno sobre el otro Sean dos vectores ligados especificados mediante su punto origen y su vector. Los denominaremos móvil (Am , vm ) y fijo (Af , vf ) Se trata de determinar la matriz de transformación que aplicada a Am obtiene Af y aplicada al punto Am+vm lo transforma situándolo sobre el semieje positivo de vf x y z vm Am vf Af vmt NOTA : se dibuja en negro la recta soporte: Continua por encima del plano xz Discontinua por debajo Trfm.3D A. García-Alonso

... Resolvemos el problema con ambos vectores aplicados en el origen Usaremos coordenadas esféricas (mod, φ, θ) nota * Llevamos vm sobre el plano yz+ mediante rotY(-φm) : vm´ Lo transformamos sobre z+ con rotX(θm) : vm´´ Deshacemos esa rotación con rotX(-θf) Y queda resuelto el problema aplicando rotY(φf) Nota * Cuando vxz se hace cero, es decir, cuando θ= ± π/2, entonces a φ se le puede asignar cualquier valor, pero si esa variable polar está cambiando en el tiempo, entonces conviene conservar el valor que tenía en el estado anterior : φnew = φold x y z vxz vm (vx,vy,vz) vm´ (0,vy,vxz) vm´´ (0,0,|v|) -φm θm vxz=sqrt(vx2+vz2) if( vxz / | v | < ε ) φ = 0 else φ = acos( vz/ vxz ) if( vx < 0 ) φ = - φ x y z vf vm x y z v (vx,vy,vz) θ φ vxz θ = sin( vy / | v | ) Siempre resulta: -π  φ  π -π/2  θ  π/2 Trfm.3D A. García-Alonso ver nota

... El problema completo queda resuelto componiendo también las transformaciones de traslación trans(-Am) rotY(-φm) rotX(θm) rotX(-θf) rotY(φf) trans(Af) Trfm.3D A. García-Alonso

Ejemplo : giro sobre cualquier eje Problema : giro sobre cualquier eje (Hearn 11.9) Sea un eje definido por (Q, r ) Dado P (x, y, z) deseamos conocer sus nuevas coordenadas (x’, y’, z’) tras rotarle un ángulo θ sobre dicho eje El problema se resuelve mediante composición de transformaciones Primero se enuncian las transformaciones Después se determina el cálculo de cada una de ellas Finalmente se explica como evaluar los ángulos requeridos x y z θ Q R O r Trfm.3D A. García-Alonso

Componiendo las siguientes transformaciones queda el problema resuelto x y z Q R r Q’ R’ R´´ R´´´ Traslac. QO Rotac. α en z Rotac. β en x Rotac. θ en y Rotac. -β en x x y z Q R r Q’ R’ R´´ Rotac. - α en z Traslac. -QO Trfm.3D A. García-Alonso

... Solución Sea R tal que R = Q + r Calcular la traslación que lleva Q al origen M1 = MT(-qx, -qy, -qz) Se cumplirá que r´ = M1 · r el resultado verificará que : r´ = r Q´ = M1 · Q Q´ = O (queda sobre el origen) R´ = M1 · R OR´ = r´ = r x y z θ Q R O r x y z Q´ R´ Trfm.3D A. García-Alonso

... Para calcular el ángulo α entre π y πyz tendremos en cuenta : π es el plano que pasa por el eje z, y contiene a r πyz es el plano definido por los ejes y-z Se cumple, por tanto, que O  π r´  π k  π rxy es la proyección ortogonal de r sobre πxy α es el ángulo formado por rxy y j Tener en cuenta el sentido de giro positivo k Calcular M2 = MRz (α) Aplicar M2 a R´ para obtener R´´ R´´ quedará sobre πyz es decir, se verificará que, Rx´´= 0 r´´ quedará paralelo a ese plano, es decir, se verificará que, rx´´= 0 R´´ x y rxy z Q’ R´ α Trfm.3D A. García-Alonso

... Calcular el ángulo β entre r´´ y j Calcular M3 = MRx (β) Tener en cuenta el sentido de giro positivo i Calcular M3 = MRx (β) Si se aplicase M3 (β) a R´´ se obtendría R´´´ R´´´ quedaría situado sobre el eje y x y z Q’ R´´´ R´´ β Trfm.3D A. García-Alonso

... Calcular la matriz de giro M4 = MRy (θ) Una vez calculado el giro θ alrededor del eje transformado, habrá que invertir el proceso de transformación y para ello se calculan las matrices inversas M5 = MRx (-β) M6 = MRz (-α) M7 = MT(qx, qy, qz) La matriz de transformación que resuelve el problema planteado será la que combina todas esas transformaciones M(Q,r) (θ) = M7 · M6 · M5 · M4 · M3 · M2 · M1 No se calcula la expresión algebraica de la matriz M(Q,r) (θ), sino que se crea el código que realiza esos procedimientos Trfm.3D A. García-Alonso

... Cálculo del ángulo α Se proyecta r sobre πxy : rxy (rx, ry, 0) z Q’ R’ α ... Cálculo del ángulo α Se proyecta r sobre πxy : rxy (rx, ry, 0) cos α = j · rxy / | rxy | cos α = ( (0, 1, 0) · (rx, ry, 0) ) / (rx2 + ry2 )1/2 cos α = ry / (rx2 + ry2 )1/2 Como cos (α) = cos (–α) , entonces si rx < 0 entonces el ángulo debe ser (2π- α)  α = - α Nota : Si r es casi paralelo al eje “z”, el denominador (rx2 + ry2 )1/2 se hace casi 0, por tanto si rz> (1- ξ), entonces hay que resolver el problema de otro modo, que es mucho más simple, pues se puede girar directamente el ángulo θ alrededor del eje “z”. α y z x rxy j α = acos ( ry / (rx2 + ry2 )1/2 ) si rx < 0  α = - α Trfm.3D A. García-Alonso ver nota

x y z Q’ R´´´ R´´ β ... Cálculo del ángulo β R´´, y por tanto r´´, ha quedado abatido sobre πyz cos β = j · r´´ / | r´´| cos β = ( (0, 1, 0) · (0, ry´´, rz´´) ) / (ry´´2 + rz´´2 )1/2 cos β = ry´´ / (ry´´2 + rz´´2 )1/2 Como cos β = cos –β , entonces si rz ´´ > 0 entonces el ángulo debe ser (2π- β)  β = - β β r´´ j z x y β = acos ( ry´´ / (ry´´2 + rz´´2 )1/2 ) si rz´´ > 0  β = - β Trfm.3D A. García-Alonso

Matriz inversa Dada una matriz de transformación 3D cualquiera, su inversa se puede calcular por lo métodos habituales del Álgebra de matrices La matriz inversa se puede calcular de modo directo si la transformación se ha construido componiendo Traslaciones Rotaciones sobre ejes Escalado (tanto homogéneo como heterogéneo) Dada una matriz de ese tipo se puede descomponer en un producto de tres matrices (4x4) M = T · R · S Trfm.3D A. García-Alonso

... Se puede comprobar que si Entonces R1 R2 R3 T3x1 01x3 1 M = I3x3 T3x1 01x3 1 T = R1 R2 R3 03x1 |R1| |R2| |R3| 01x3 1 R = |R1| 0 0 0 |R2| 0 03x1 0 0 |R3| 01x3 1 S = Trfm.3D A. García-Alonso

... Por tanto Y las inversas de estas matrices se calculan fácilmente M-1 = (T · R · S)-1 = S-1 · R-1 · T-1 Y las inversas de estas matrices se calculan fácilmente I3x3 -T3x1 01x3 1 T-1= R-1 = RT por ser una matriz de columnas ortonormales 1/ |R1| 0 0 0 1/ |R2| 0 03x1 0 0 1/|R3| 01x3 1 S-1 = Trfm.3D A. García-Alonso

Transformaciones : vectores fila Hasta ahora se han utilizado vectores columna Pero, existen otros modos de gestión, por ejemplo, OpenGL utiliza una versión transpuesta (vectores fila): x´ a11 a12 a13 a14 x y´ a21 a22 a23 a24 y z´ a31 a32 a33 a34 z 1 0 0 0 1 1 // The meaning of the parameters that define the transformation are : // // | r1x r1y r1z 0 | // {x' y' z' 1} = {x y z 1} | r2x r2y r2z 0 | // | r3x r3y r3z 0 | // | tx ty tz 1 | // OpenGL stores transformations in one array : // [r1x r1y r1z 0 r2x r2y r2z 0 r3x r3y r3z 0 tx ty tz 1] // Transformations are composed in the following way : // P1 = P0 * m1 = P0 * M1 // P2 = P1 * m2 = P0 * m1 * m2 = P0 * M2 // P3 = P2 * m3 = P0 * m1 * m2 * m3 = P0 * M3 // In user interfaces, angles are usually in degrees // Within program structures, angles are usually stored in radians // Conversions can be done using the following parameters (see gc.h) : // angle * ANGLE_TO_RAD transforms from degrees into radians // angle * RAD_TO_ANGLE transforms from radians into degrees a11 a21 a31 0 a12 a22 a32 0 a13 a23 a33 0 a14 a24 a34 1 { x’ y’ z’ 1 } { x y z 1 } Trfm.3D A. García-Alonso ver nota

[ r1x r1y r1z 0 r2x r2y r2z 0 r3x r3y r3z 0 tx ty tz 1] ... Todo lo visto es válido, si se tiene en cuenta que hay que transponer la matrices de transformación El modo de componer transformaciones, sigue el orden opuesto al visto, quedando M = MT1 · MT2 · MT3 · ... · MTn OpenGL almacena estas matrices en un vector del siguiente modo [ r1x r1y r1z 0 r2x r2y r2z 0 r3x r3y r3z 0 tx ty tz 1] r1x r1y r1z 0 r2x r2y r2z 0 r3x r3y r3z 0 tx ty tz 1 Trfm.3D A. García-Alonso

Otros ejercicios de composición +++ Cambio de sistema de referencia Calcular la matriz de transformación que, con pívot en P (Px, Py, Pz), realiza un escalado no homogéneo de coeficientes (Sx, Sy, Sz) Pegado de objetos usando caras, aristas y vértices Movimientos relativos Gestión de pilas y composición Transformación de vectores Transformación de planos Trfm.3D A. García-Alonso

Álgebra : matriz cambio de base +++ Trfm.3D A. García-Alonso

Transf. 3D vs. Cambio Sist. Ref. Trfm.3D A. García-Alonso

Quaternion Fundamentos matemáticos (Hearn Anexo 6) q = s + ia + jb + kc ; q =(s, v) q1+q2 = (s1+s2, v1+v2) q1q2 = (s1s2 - v1 · v2 , s1 v2 +s2v1+ s1+v1  v2) |q|2 = s2 + v · v q-1 = (1/|q|2) (s, -v) Uso en rotaciones (Hearn 11.2, al final) Trfm.3D A. García-Alonso

“Clase” trfm3D +++ Trfm.3D A. García-Alonso

Gestión trfm. 3D en OpenGL +++ A. García-Alonso

Animación y transformación 3D +++ Animación 3D Cadena abierta Cadena cerrada Trayectorias Movimiento con restricciones (automóvil, avión) Control Interactivo (grados de libertad) Procedural : ley, comportamiento, agente, etc Definición posición Parámetros para posicionamiento relativo Matriz para cada sólido Trfm.3D A. García-Alonso