Vous êtes sur la page 1sur 7

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

TRANSFORMACIONES GEOMTRICAS EN TRES DIMENSIONES


Illa Chambi, Rubn Edgar; Abanto Snchez, Fernando; Arcaya Chambilla, Patricia; Urur, Elizabeth

Escuela Acadmico Profesional de Ingeniera en Informtica y Sistemas Universidad nacional Jorge Basadre Grohmann
E-mail: Rubenich.2dic@hotmail.com; Fernando0260@gmail.com; Patyta1524@hotmail.com; Tierna_alma_eli@hotmail.com

RESUMEN: Se presenta las transformaciones geomtricas en tres dimensiones, el fundamento matemtico y la implementacin en Matlab. PALABRAS CLAVE: rotacin, escalamiento, traslacin, sesgo, objeto, punto, ngulo. I. INTRODUCCIN Las transformaciones forman una parte importante en la creacin manipulacin de imgenes y objetos en computacin graca. Estas nos permiten modicar la apariencia y posicin de los mismos sin tener que volver a modelar o componer de nuevo todo el objeto. Tambin permite denir un objeto en cualquier parte de la escena y como mover o rotar la escena para tener otra perspectiva de la misma. El trabajo est compuesto por 5 secciones:  Transformaciones: Se dene que es una transformacin y sus clasicacion en tipos.  Transformaciones en 2D: Se trata de las transformaciones en 2 dimensiones haciendo hincapi en las formulas matemticas detrs del proceso.  Transformaciones en 3D: Se trata de las transformaciones en 3 dimensiones haciendo hincapi en las formulas matemticas detrs del proceso.  Conclusin: se hace un resumen de lo realizado en el trabajo.  Bibliografa: se hace referencia a todos los libros tomados como ayuda para realizar el trabajo. Las operaciones o transformaciones de objetos en el plano o en el espacio, se puede realizar mediante el uso de matrices, un objeto se representa mediante un conjunto de puntos, y a cada punto se le aplica la transformacin adecuada (rotacin, escalamiento, traslacin). La Realidad La realidad conocida por nosotros consiste de tres dimensiones (3D), en un espacio donde hay solo tres direcciones perpendiculares entre s, estas direcciones

Son familiarmente conocidas como: izquierda o derecha, arriba o abajo, y atrs o adelante, cualquier otra direccin es simplemente una combinacin de estas direcciones bsicas matemticamente, se habla de los tres ejes en coordenadas cartesianas, llamados comnmente X, Y y Z.

Eje en el espacio 3D Se puede pensar que en este espacio tridimensional, no puede existir una dimensin ms, fsicamente podra ser cierto, sin embargo, matemticamente hablando, el numero 3 no limita la cantidad de dimensiones espaciales posibles, ya que es posible tener dimensiones menores, por ejemplo, el espacio 1D que consiste de una lnea recta que se extiende al infinito, o el espacio 2D que consiste de un plano que se extiende indefinidamente en alto y ancho, por tanto, matemticamente es posible tratar con dimensiones superiores a 3D. En general las tcnicas para representar el mundo tridimensional se basa en tcnicas utilizadas por artistas, fotgrafos, al crear imgenes realistas. Pero el computador se vale de modelos matemticos para tal propsito. Uno de los problemas fundamentales de la graficacin tridimensional es graficar un mundo en 3d con tres coordenadas que representan el alto, ancho y la profundidad de los objetos, en un dispositivo en dos dimensiones, esto se resuelve mediante la secuencia de actividades de la figura 1.

Fig. 1 Pasos para Desplegar un Objeto Tridimensional

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

.  Definir Objetos en Coordenadas Mundiales Establecer coordenadas que tendrn los objetos que se desea visualizar en la escena tridimensional. El establecimiento en base a un sistema de coordenadas de mano derecha.  Traslacin: Esta mueve el objeto y/o imagen completamente.  Rotacin: Se rota el objeto a partir de un eje.  Escalamiento isotrpico: Este escala el objeto manteniendo las mismas proporciones. Es decir, el objeto se escala la misma magnitud tanto en x como en y. 2. Euclidianas: En estas transformaciones se preservan tanto los ngulos como las distancias, para las traslaciones, rotaciones e incluyen la transformacin identidad. 3. Similitud: Estas incluyen a las transformaciones euclidianas, aadiendo la preservacin de los ngulos para el escalamiento isotrpico. 4. Lineales: En este caso se tienen la transformacin identidad, rotacin y escalamiento isotrpico. Adems se aaden.  Escalamiento: Se puede escalar en determinada magnitud las dimensiones de la gura y/o objeto.  Reejo: Consiste en la imagen especular de la imagen original.  Shear: En este caso se inclina el objeto. 5. Anes: Estas transformaciones incluyen las transformaciones Lineales y las de Similitud. Adems se preservan las lneas paralelas. 6. Proyectivas: Se incluyen las transformaciones Anes, agregando las perspectivas y preservando las lneas. Traslaciones Bidimensionales Se realiza una traslacin de un punto sencillo de coordenadas, mediante la inclusin de compensaciones en sus propias coordenadas, para generar una nueva posicin de coordenadas. En efecto, se est moviendo la posicin del punto original a lo largo de una trayectoria en lnea recta hacia su nueva localizacin. De modo similar, una traslacin es aplicable a un objeto que se define con mltiples posiciones de coordenadas, tales como cuadrilteros, mediante la recolocacin de todas las posiciones de sus coordenadas, usando el mismo desplazamiento a lo largo de trayectorias paralelas. As, el objeto completo se muestra en la nueva localizacin. Para trasladar una posicin bidimensional, aadimos distancias de traslacin tx, ty a las coordenadas originales (x,y) para obtener la nueva posicin de coordenadas (x,y) como se muestra a continuacin: x = x + tx, y = y + ty

Fig. 2 Sistema de Coordenadas de la mano derecha  Transformar a Coordenadas de Vista Los objetos se visualizan respecto de un observador. En el mejor de los casos el observador estar situado justo en el origen del sistema de coordenadas ya establecido.  Recortar Contra un Volumen Visual Una escena puede ser muy amplia como para que pueda observarse por completo.  Proyectar Un Objeto en el Plano Visual Mediante las proyecciones transformamos coordenadas tridimensionales en coordenadas bidimensionales.  Transformar a Coordenadas de Dispositivo Luego de haber obtenido las correspondientes coordenadas bidimensionales, mediante las proyecciones es ahora de mostrar la escena en el dispositivo. II. FUNDAMENTO TERICO

Las operaciones que se aplican a descripciones geomtricas de un objeto para cambiar su posicin, orientacin o tamao se llaman transformaciones geomtricas. Transformaciones Las transformaciones son funciones que mapean puntos de un lugar a otro. Esto se puede ver aplicado a un objeto, en este caso se mapean los puntos del objeto de un lugar de origen hacia un lugar de destino. A. Tipos de Transformaciones Las Transformaciones pueden ser clasicadas de la siguiente manera: 1. Simples: Estas transformaciones estn conformadas por:  Identidad: Esta transformacin deja los objetos tal cual como estaban. 2

Podemos expresar las ecuaciones de traslacin anteriores como una nica ecuacin de una matriz, usando los siguientes vectores columna para representar posiciones de coordenadas y el vector de traslacin:

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

t x x x' P ! , P' ! , T ! y y ' t y


Esto nos permite escribir las ecuaciones de traslacin bidimensionales en forma de matriz.
P = P + T

escala en dos dimensiones pueden escribirse en la forma siguiente:

x' Sx 0 x y ' ! 0 Sy . y P' ! S .P


Transformaciones Geomtricas En Un Espacio Tridimensional Los mtodos para transformaciones pueden obtenerse extendiendo los mtodos bidimensionales, incluyendo consideraciones para la coordenada z. Ahora, trasladamos un objeto especificando un vector de traslacin tridimensional, que determina cunto va a ser movido el objeto en cada una de las tres direcciones de coordenadas. De la misma forma, cambiamos la escala de un objeto eligiendo un factor de escala para cada una de las tres coordenadas cartesianas. Pero la extensin de los mtodos de rotacin a los de tres dimensiones es menos directa. Cuando hemos visto las rotaciones bidimensionales en el plano xy, necesitbamos considerar slo las rotaciones sobre los ejes que fueran perpendiculares al plano xy. En un espacio tridimensional, podemos seleccionar cualquier orientacin espacial para la rotacin de ejes. Traslaciones Tridimensionales La manera ms fcil de conseguir las transformaciones bsicas (traslacin, rotacin, escalacin, en general las transformaciones afines) es utilizando matrices de Transformacin. Con ligeros cambios a las matrices, se pueden combinar para conseguir que una sola matriz resultante nos sirva para varias de estas transformaciones. El utilizar coordenadas homogneas nos ayudar a obtener este efecto. Comenzaremos explicando cmo se utilizan para conseguir transformaciones en 2 dimensiones y, posteriormente, veremos las transformaciones en 3 dimensiones Coordenadas Homogneas

Rotaciones Bidimensionales Se genera una transformacin de rotacin de un objeto mediante la especificacin de un eje de rotacin y un ngulo de rotacin. Todos los puntos son entonces transformados a la nueva posicin, mediante la rotacin de puntos con el ngulo especificado sobre el eje de rotacin. Los parmetros para la rotacin bidimensional son el ngulo de rotacin U y una posicin (xt ,yt) llamada punto de rotacin sobre los cuales el objeto va ser rotado.

U
La relacin entre el ngulo y las coordenadas de las posiciones originales y transformadas es la siguiente (xt = 0, yt = 0)

x' ! x cos U  ysenU y ' ! x cos U  y cos U


Podemos escribir las ecuaciones de rotacin en forma de matriz:
P = R.P

Donde la matriz de rotacin es:

cos U R! senU

 senU cos U

Cambio De Escala Para alterar el tamao de un objeto, aplicamos transformaciones de escala. Una simple operacin de cambio de escala bidimensional se lleva a cabo multiplicando las posiciones de los objetos (x, y) por los factores de escala, Sx y Sy para producir las coordenadas transformadas (x, y). x' = x.Sx, y=y.Sy Nos ser til sustituir las coordenadas (x, y) por las coordenadas (xh, yh, h), llamadas coordenadas homogneas, donde x = xh/h, y = yh/h (2.1) de donde (xh, yh, h) = (h . x, h . y, h) (2.2) Existe un nmero finito de representaciones homogneas equivalentes para cada punto

El factor de escala Sx, cambia la escala de un objeto en la direccin x, mientras que Sy hace el cambio de escala en la direccin y. Las ecuaciones bsicas del cambio de 3

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

. de coordenadas (x, y) seleccionando un valor no cero para h. Por conveniencia, escogeremos h = 1, con lo que cada posicin bidimensional se representar con las coordenadas homogneas (x, y, 1). Expresar posiciones en coordenadas homogneas nos permite representar todas las ecuaciones de transformacin geomtrica como multiplicaciones de matriz. Se representan las coordenadas con vectores de columna de 3 elementos y las operaciones de transformacin se expresan como matrices de 3 por 3. Para la traslacin de un punto (x, y, 1) una distancia tx en x y una distancia ty en y, obtenemos: Donde P y P son vectores columna como matrices, la matriz.

y tx, ty y tz especifican las distancias de traslacin en x, yyz

Rotacin Para generar una transformacin de rotacin, debemos designar un eje de rotacin respecto del cual girar el objeto, y la cantidad de rotacin angular, es decir, un ngulo ( ). Una rotacin tridimensional se puede especificar alrededor de cualquier lnea en el espacio. Los ejes de rotacin ms fciles de manejar son aquellos paralelos a los ejes de coordenadas. Los ngulos de rotacin positiva producen giros en el sentido opuesto a las manecillas del reloj con respecto al eje de una coordenada, si el observador se encuentra viendo a lo largo de la mitad positiva del eje hacia el origen de coordenadas. La matriz de rotacin respecto al eje z se especifica como sigue.

Transformaciones Compuestas Esta representacin nos permite combinar varias transformaciones en una, multiplicando las diferentes matrices de transformacin, por ejemplo, el efecto de trasladar un objeto cierta distancia T (tx1, ty1), girarlo un cierto ngulo R( ) y volverlo a trasladar a su posicin inicial T2 (-tx1, -ty1), se consigue multiplicando cada uno de sus puntos P (x, y, 1) de la manera siguiente:

Donde P es el vector columna que representar al punto resultante y T, R y T2 son las matrices de transformacin correspondientes

Lo que sera lo mismo que multiplicar al punto P por la matriz M obtenida el combinar las tres matrices.

La matriz de rotacin respecto al eje x se especifica como sigue.

Y la matriz de rotacin respecto al eje y se especifica como sigue. III. MATRICES DE TRANSFORMACIN EN 3D

Traslacin En la representacin homognea tridimensional de las coordenadas, se traslada un punto de la posicin P = (x, y, z) a la posicin P = (x, y, z) con la operacin de matriz 4 Se forma una matriz de rotacin inversa al sustitur el ngulo de rotacin por . Los valores negativos para los ngulos de rotacin generan rotaciones en una direccin en el sentido del reloj, de modo que se produce

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

. la matriz identidad cuando se multiplica cualquier matriz de rotacin por su inverso. IV.

PROCEDIMIENTOS

Implementacin de transformaciones geomtricas en 2 y 3 dimensiones Las transformaciones geomtricas se implementaron en Matlab 6, este software nos ofrece la posibilidad de desarrollar interfaces grficas de usuario, comandos tiles para la graficacin, tratamiento de vectores y matrices, etc. Figura 1 - Escalamiento en 2D A continuacin se muestran capturas del programa desarrollado en Matlab. Procedimiento de las opciones de posicin de rotacin en 3D Lleve a cabo uno de los procedimientos siguientes: Escoja una posicin predefinida del men Posicin. 1.- Para rotar sin restricciones, arrastre una cara del cubo de seguimiento. La parte anterior del objeto est representada por la cara azul del cubo de seguimiento, las partes superior e inferior del objeto son de color gris claro, los lados son gris medio, y la parte posterior es gris oscuro. 2.- Para restringir la rotacin sobre un eje global, mantenga pulsada la tecla Mays mientras arrastra en horizontal (eje y global) o en vertical (eje x global). Para rotar el objeto alrededor del eje z global, arrastre la banda azul que rodea el cubo de seguimiento. 3.- Para restringir la rotacin alrededor del eje del objeto, arrastre un borde del cubo de seguimiento. El puntero se convierte en una fecha de dos puntas , y el borde del cubo cambia de color para indicar el eje alrededor del cual rotar el objeto. Los bordes rojos representan el eje x del objeto, los bordes verdes, el eje y, y los bordes azules, el z. 4.- Introduzca valores entre -180 y 180 en los cuadros de texto del eje horizontal de profundidad (z) . (x) , vertical (y) y Figura 3 - Sesgo

Figura 2 - Rotacin en 2D

5.- Para ajustar la perspectiva, introduzca un valor entre 0 y 160 en el cuadro de texto Perspectiva. Un ngulo menor es similar a un teleobjetivo; un ngulo de lente mayor es similar a un gran angular.

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

Figura 4

Figura 7 - Rotacin en 3D Parte del cdigo fuente para la rotacin en 3D %Rotacin function pushbutton3_Callback(hObject, eventdata, handles) r = eval(get(handles.edit13, 'String')); %convierte en angulo en grados en un angulo en radianes r = (pi/180)*r; hold off; grafica(handles); %grafica los puntos ingresados %Los puntos ingresados se almacenan en una matriz A = eval(get(handles.edit1, 'String')); [m,n] = size(A); %Rotacin respecto al eje x if (get(handles.radiobutton1, 'value') == 1) R = [1 0 0 0; 0 cos(r) -sin(r) 0; 0 sin(r) cos(r) 0; 0 0 0 1]; %Rotacin respecto al eje y elseif (get(handles.radiobutton2, 'value') == 1) R = [cos(r) 0 sin(r) 0; 0 1 0 0; -sin(r) 0 cos(r) 0; 0 0 0 1]; %Rotacin respecto al eje y else R = [cos(r) -sin(r) 0 0; sin(r) cos(r) 0 0; 0 0 1 0; 0 0 0 1 ]; end

Figura 5 - Traslacin en 3D

Figura 6 - Escalamiento en 3D

%Rota cada uno de los puntos de la matriz A for i=1:m P = [ A(i,1) A(i,2) A(i,3) 1]'; %P: Punto inicial NP = R*P; %NP: Nuevo Punto x(i) = NP(1,1); y(i) = NP(2,1); z(i) = NP(3,1); end plot3(x,y,z,'m');

DISEO ASISTIDO POR COMPUTADOR FAIN ESIS - TGTD

. V. CONCLUSIONES

Las operaciones requeridas para llevar a cabo las transformaciones geomtricas son amplias, por lo que el procesador realiza un trabajo considerable, cuando se habla de cientos o miles de puntos. VI. [1] BIBLIOGRAFA

Donald Hearn, M. Pauline Baker, Grficos por computadora con OpenGL.

[2] FOLEY James D., VAN DAM Andries, Fundamentals of Interactive Computer Graphics. 1nd Edition, Addison Wesley Professional. 1984.

Vous aimerez peut-être aussi