Example: barber

Tema II Transformaciones lineales en 3D - …

tema ii Transformaciones lineales en 3D Ricardo Ramos Colaboradores: Luis Jim nez de la Fuente, Alberto G mez Vicente, Jes s Mois s Pel ez Navarro, Emilio Gonz lez Gonz lez, Ignacio Coloma Gonz lez Antes de comenzar a estudiar el modelado o los m todos de renderizado conviene repasar algu-nos aspectos fundamentales de los espacios cartesianos tridimensionales, como por ejemplo las trasformaciones lineales , pues con frecuencia aparecen a lo largo del temario. Para entender bien la materia que ahora veremos ser a interesante desempolvar los conceptos elementales del lgebra vectorial y matricial Aspectos generales Antes de comenzar el estudio de las trasformaciones lineales en el espacio tridimensional, se han de repasar algunos conceptos b sicos en este campo. Sistemas de referencia Para la visualizaci n de los objetos, stos han de quedar ubicados en un sis-tema universal de referencia (SUR), en el cual el eje Z, p. ej., puede te-ner su origen en el plano Z (orientaci n derecha), por lo que se dirige hacia el observador (Figura 1-a), o bien tener orientaci n izquierda (Figura 1-b).

Tema II: Transformaciones lineales en 3D − 2 1.1.2 Transformaciones lineales y matrices La variación de la posición y/o el tamaño de los objetos, con respecto a los

Tags:

  Team, Lineales, Tema ii transformaciones lineales en 3d, Transformaciones, Tema ii, Transformaciones lineales en 3d, Transformaciones lineales

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Tema II Transformaciones lineales en 3D - …

1 tema ii Transformaciones lineales en 3D Ricardo Ramos Colaboradores: Luis Jim nez de la Fuente, Alberto G mez Vicente, Jes s Mois s Pel ez Navarro, Emilio Gonz lez Gonz lez, Ignacio Coloma Gonz lez Antes de comenzar a estudiar el modelado o los m todos de renderizado conviene repasar algu-nos aspectos fundamentales de los espacios cartesianos tridimensionales, como por ejemplo las trasformaciones lineales , pues con frecuencia aparecen a lo largo del temario. Para entender bien la materia que ahora veremos ser a interesante desempolvar los conceptos elementales del lgebra vectorial y matricial Aspectos generales Antes de comenzar el estudio de las trasformaciones lineales en el espacio tridimensional, se han de repasar algunos conceptos b sicos en este campo. Sistemas de referencia Para la visualizaci n de los objetos, stos han de quedar ubicados en un sis-tema universal de referencia (SUR), en el cual el eje Z, p. ej., puede te-ner su origen en el plano Z (orientaci n derecha), por lo que se dirige hacia el observador (Figura 1-a), o bien tener orientaci n izquierda (Figura 1-b).

2 Todas las coordenadas de los distintos objetos han de estar dadas en uno de estos sistemas de referencia. Figura 1: Sistemas de referencia con orientaci n diferente tema ii : Transformaciones lineales en 3D 2 Transformaciones lineales y matrices La variaci n de la posici n y/o el tama o de los objetos, con respecto a los sistemas de referencia, se hace mediante Transformaciones lineales . Las Transformaciones lineales que veremos ser n las siguientes: traslaci n, cambio de escala, giro, y reflexi n. La Inform tica Gr fica suele utilizar la notaci n matricial para descri-bir las Transformaciones lineales de los objetos. La convenci n m s emplea-da es que el punto (v rtice) que se quiere transformar, se exprese mediante un vector horizontal, multiplicado por la matriz de transformaci n. Por ejemplo, en la expresi n (x , y ) = (x, y) M, la matriz correspondiente a la transformaci n lineal estar a indicada por M; el punto inicial (antes de la transformaci n) ser a el (x, y), y el resultado (o sea, la ubicaci n del punto en el sistema de referencia despu s de la transformaci n lineal) ser a el (x , y ).

3 Dado que el estudio de las Transformaciones lineales sobre modelos po-li dricos es m s intuitivo, en adelante supondremos que los objetos (mode-los) son de este tipo. As , si un poliedro (objeto) tiene n v rtices, para trasla-dar, girar, etc. un objeto, se deber aplicar la misma transformaci n lineal a los n v rtices del poliedro. En general, se aplicar la transformaci n a todos los puntos significativos de los objetos. Sistemas homog neos Seg n lo anterior, siendo V = (x, y) el vector de un punto inicial en el SUR-2D, T = ),(yxtt el vector de translaci n, y V = (x , y ) las coordenadas del punto resultante, ocurre que la traslaci n del punto se ha de realizar calcu-lando V = V + T, ya que (x , y ) = (x, y) + ),(yxtt, o lo que es igual, x = x + tx, e y = y + ty. Esta manera de operar es extensible a cualquier dimensi n. Por otro lado, si E y G fuesen las matrices de escalado y giro, respecti-vamente, ocurrir a que V = V E y V = V G Vemos entonces que las traslaciones lineales de los puntos en el espa-cio se efect an sumando, mientras que los giros y los cambios de escala se consiguen multiplicando.

4 La heterogeneidad de los operadores supone un problema a la hora de generalizar los procesos de las Transformaciones , por lo que para evitarlo, normalmente se utilizan sistemas [de referencia] homog neos. B sicamente, un sistema de coordenadas homog neo es el resultante de a adir una dimensi n extra a un sistema de referencia dado. As , en el caso anterior, los vectores homog neos de los puntos inicial y final estar an dados por V = (x, y, w), V = (x , y , w) Por comodidad y sencillez, normalmente w = 1. En definitiva, utilizando un sistema homog neo, las traslaciones linea- tema ii : Transformaciones lineales en 3D 3 les de los puntos del plano pueden quedar expresadas como V = V T, si se utiliza la matriz de traslaci n (T) apropiada. As , siendo =1010001yxttT es f cil comprobar que (x , y , 1) = (x, y, 1) T. Composici n de matrices La composici n de matrices es una de las principales razones para traba-jar con sistemas homog neos.

5 Matem ticamente consiste en la multiplica-ci n de las matrices en un orden determinado. Supongamos que tenemos el punto P = (x, y, z, 1) del espacio tridimen-sional, que como vemos est expresado en un sistema homog neo. Al hacer GT)z',y',(x',)z",y",(x",)z,y,(x,),z',y'( x',1111== lo que se consigue es mover primero el v rtice P, y luego girarlo. Se puede llegar a un resultado final id ntico, si multiplicamos el vector P por la ma-triz resultante de componer T y G (en este orden). As , siendo M = T G, se tiene que M =)z,y,(x,)z",y",(x",11 El orden en que se multiplican las matrices es importante ya que por lo general, el producto de matrices no es conmutativo. En la composici n de matrices pueden intervenir tantos factores (ma-trices) como se requieran. As , siendo Mn la matriz compuesta o neta re-sultante de la composici n de las matrices T1, G, T2, y E (o sea, Mn = T1 G T2 E), al multiplicar un punto por esta matriz obtendremos el mismo punto final que hallar amos multiplic ndolo sucesivamente por las matrices que la componen1.

6 En 3D, por lo com n, la expresi n general de una matriz neta (com-puesta) es de la forma 1000333231232221131211zyxdddaaaaaaaaa donde la submatriz Aij representa el cambio de escala y rotaci n neta, y Di el vector de desplazamiento neto de los puntos. Si en la composici n de 1El orden de multiplicaci n de las matrices en el proceso de composici n de la matriz neta se corresponde directamente con el orden de las diferentes acciones a realizar sobre el objeto. tema ii : Transformaciones lineales en 3D 4 la matriz se incluyen las matrices que gobiernan las proyecciones en pers-pectiva, el aspecto de la matriz neta ser a 1333323122322211131211zyxdddpaaapaaapaaa siendo Pj el vector de perspectiva. En general, las Transformaciones de vectores homog neos por medio de este tipo de matrices netas se denominan Transformaciones bilineales2. Transformaciones lineales tridimensionales Como ahora veremos, en las Transformaciones lineales en el espacio 3D habitualmente se utilizan sistemas de coordenadas homog neos, ya que en la mayor a de los casos es aconsejable la composici n matricial.

7 Traslaciones La translaci n de un objeto consiste en moverlo cierta distancia, en una di-recci n determinada. Figura 2: traslaci n de un objeto en el espacio En 3D, el sistema de referencia homog neo tendr 4 dimensiones, por lo que la traslaci n del punto V = (x, y, z, 1) quedar indicada como V = (x , y , z , 1) = (x, y, z, 1) T, siendo =1010000100001zyxtttT la matriz de traslaci n en 3D. (tx, ty, tz) se conoce como el vector de traslaci n. La expre-si n anterior es equivalente al sistema de ecuaciones 2 Resultado de 2 m s Transformaciones lineales sucesivas. tema ii : Transformaciones lineales en 3D 5 '''101xyzxxtyytzzt=+=+=+=+ Como se coment arriba, para trasladar un objeto poli drico se ha de aplicar la matriz T a todos los v rtices del objeto. Es importante observar que al hacer la traslaci n de un objeto sus proporciones no var an, puesto que todos los puntos significativos (v rtices en el caso de los poliedros) se mueven la misma distancia, en la misma direcci n.

8 Para realizar la traslaci n inversa a la efectuada mediante la matriz T, se ha de aplicar la matriz inversa, es decir, la T-1, que se obtiene cambiando el signo (multiplicando por 1) el vector de traslaci n. Por tanto, = 10100001000011zyxtttT As , V = (V T) T-1, dado que T T-1 = 1. Cambios de escala en 3D Dentro de un espacio de referencia los objetos pueden modificar su tama o relativo en uno, dos, o los tres ejes. Para ello se ha de aplicar la matriz de escalado, que viene dada por =1000000000000zyxSSSS De esta forma, el cambio de escala del punto V = (x, y, z, 1) en el siste-ma homog neo quedar indicado por ==1000000000000) 1()1'''('zyxSSSzyxzyxV Las coordenadas del punto final ser n x' = xSx, y' = ySy, z' = zSz tema ii : Transformaciones lineales en 3D 6 Figura 3: Cambios de escala uniformes y no uniformes Cuando Sx = Sy = Sz el cambio de escala es uniforme; en cualquier otro caso el cambio de escala ser no uniforme.

9 Para obtener el cambio de escala inverso al realizado aplicando la ma-triz S, basta con multiplicar los puntos finales por la matriz inversa de S, o sea, por la matriz S-1, que se obtiene al sustituir Sx, Sy, Sz en S por 1/Sx, 1/Sy, 1/Sz, respectivamente. Los cambios de escala no uniformes deforman los objetos, por lo que pueden resultar interesantes (siempre que se realicen de manera controlada); por el contrario, el escalado uniforme no deforma los objetos, por lo que suele emplearse con mayor frecuencia. Si no se toman precauciones, los cambios de escala, adem s de suponer una variaci n en las proporciones de los objetos, tambi n implican una tras-laci n de los mismos (Figura 4), un efecto colateral no deseado en muchas ocasiones. Figura 4: el cambio de escala uniforme lleva asociado impl citamente una traslaci n Veamos c mo solucionar este problema, es decir, conseguir que un obje-to var e su tama o, sin que se desplace en el espacio con respecto a un punto dado.

10 tema ii : Transformaciones lineales en 3D 7 Cambio de escala respecto a un punto fijo Consiste en escalar un objeto, sin que ste se vea afectado por un cambio de posici n, respecto a un punto establecido. Figura 5: cambio de escala con respecto a un punto fijo Para ello se ha de realizar una serie de Transformaciones lineales b si-cas, ejecutadas en la secuencia siguiente: Tras establecer el punto fijo (que normalmente es un v rtice, o el centro geom trico del modelo), primero se trasladan hacia el origen de coordenadas todos los puntos significativos del modelo (v rtices), utilizando como vector de traslaci n las coordenadas del punto fijo (Figura 5-a). Esta operaci n se realiza multipli-cando todos los v rtices por la matriz de traslaci n T (Figura 5-b). A continuaci n, se realiza el cambio de escala correspondiente aplicando la matriz de escalado (E), como muestra la Figura 5-c. Por ltimo, se deshace la traslaci n inicial de todos los v rtices del modelo, utilizando de nuevo las coordenadas del punto fijo como vector de traslaci n del modelo ya escalado.