algebra lineal

Click here to load reader

Post on 14-Jul-2015

2.146 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

INTRODUCCIN:Animacin ComputarizadaHoy en da ignoramos que las matemticas estn implcitas en cualquier aspecto de nuestra vida diaria, desde que nos levantamos y consultamos la hora del reloj despertador, hasta que nos vamos a dormir y como estudiantes calculamos las horas que quedan de sueo.En la ingeniera sin embargo las matemticas van ms all, puesto que para obtener y utilizar la tecnologa, de debe contar en un principio por estas poderosas herramientas. Un caso particular y en el cual nos concentraremos ser en las animaciones por computadora. Usted se preguntara qu tienen que ver las matemticas con la animacin? Y la respuesta es : todo. Una rama particular de las matemticas, permite realizar diseos de personajes tridimensionales en un plano bidimensional y con herramientas de programacin hacer que dichos diseos tengan movimiento, y esta rama es el lgebra lineal.Visualizacin y animacin computarizada

La animacin computarizada es una ciencia eclctica que combina de manera singular: matemtica, ciencia de la computacin, arte, animacin clsica, fsica, biomecnica y anatoma, por nombrar slo algunos campos. Los algoritmos dependen fuertemente en tcnicas de computacin cientfica, estadstica, procesamiento de seales, lgebra lineal, teora de control, y geometra computacional.

Matrices, transformaciones afines en 3D.

Animar objetos en su forma ms bsica consistir en multiplicar matrices, y algo muy importante es el orden en el que realicemos estas multiplicaciones. Si no realizamos las multiplicaciones en el orden correcto, nuestro modelo 3D sin duda se mover de forma cuanto menos "rara" o inesperada. Este problema se soluciona recordando el orden que hay que aplicar, que siempre va a ser el mismo, partiendo de la matriz identidad: Escalar el modelo Rotar el modelo sobre su propio eje Rotar el modelo sobre un punto externo Trasladar el modelo

Toda la geometra que se despliega en las aplicaciones Open GL est basada en los conceptos de Matrices y Vectores y las operaciones aritmticas aplicables a estas estructuras.En Open GL existen bsicamente tres matrices principales:Una matriz de proyeccin llamada GL_PROJECTION, la cual nos permite determinar la perspectiva que usaremos para observar la escena generada, as como el tipo de proyeccin a usar (esto tiene que ver mucho con cuestiones de ptica y de geometra, y abordaremos este tema en otra ocasin ms especficamente, ya que es bastante extenso y complejo). Esta matriz tiene una gran relacin con otro concepto tambin muy interesante llamado clipping, que consiste en recortar u ocultar todo aquello queest pero no se ve, es decir lo que queda fuera del foco de nuestra cmara o nuestro campo visual activo, este es un proceso que se hace automticamente una vez, habiendo inicializado pertinentemente esta matriz.

Una matriz de Modelado llamada GL_MODELVIEW, donde sta es la matriz que usaremos para aplicar a nuestra escena operaciones de rotacin, traslacin o escalamiento, o bien para manipular la posicin y orientacin de la cmara, para obtener as las animaciones. La figura 2 muestra algunos ejemplos de matrices de transformacin lineal para el caso de sistemas de 3 dimensiones

Y una ltima matriz para el manejo de Texturas llamada GL_TEXTURE, sobre la cual tambin podemos aplicar las transformaciones lineales de rotacin, traslacin y escalamiento para manipular las texturas a utilizar en las figuras de nuestra escena, cuando estemos ms avanzados explicaremos mas a detalle el manejo de texturas en nuestros programas

Vectores de diversos tipos

Los vectores son un conjunto de valores que nos permiten definir dentro de nuestra escena, desde los vrtices de las figuras, hasta los colores, los materiales y las luces, entre otras muchas cosas. Existen bsicamente dos formas de trabajar con vectores en Open GL, con sus elementos como variables independientes, o manejarlos como una estructura de datos. Cuando trabajamos sus elementos de forma independiente cada vector es descompuesto en 3 4 valores segn sea el caso. Y cuando se maneja como una estructura estos valores estn contenidos en una estructura de datos que bien puede ser un arreglo o un registro.A continuacin se muestra una ligera explicacin de la creacin de un conocido personaje de la saga Star Wars utilizando herramientas del lgebra lineal y un programa llamado MAPLE. Maple da un toque fuera de este mundo a la enseanza matemtica. Software matemtico utilizado para digitalizar al personaje de Yoda en la guerra de las galaxias. Un colaborador de confianza en este proyecto es Maple, la herramienta computacional lder a nivel mundial, que ofrece frescura y profundidad para tratar todo tipo de matemticas.

Cmo se utiliz Maple? Yoda tiene un fsico que est literalmente construido por lgebra lineal. Para que un ordenador maneje a este Maestro Jedi, en contraposicin a un titiritero, el personaje debe crearse digitalmente, a travs de un mallado, o teselacin, como puede verse en la imagen. El modelo del mallado se define por dos tipos de informacin: la localizacin de cada vrtice, y las conexiones entre los vrtices que determinan cada cara. Cuantos ms vrtices, mejor es la imagen. Las herramientas de graficacin 3D de Maple toman sta informacin y construyen la imagen de Yoda. Las rutinas de lgebra lineal de Maple pueden, entonces, ser utilizadas para mover a Yoda. Con la informacin de los vrtices almacenada en una matriz, la multiplicacin de matrices puede ser utilizada para modificar el modelo, resultando en una nueva imagen 3D. Por ejemplo, al multiplicarla por una matriz de rotacin, rotar la imagen por una cantidad especfica. Las formidables rutinas numricas de lgebra lineal en Maple, hacen que estas operaciones sean factibles, aun cuando se tenga miles de vrtices. Las potentes capacidades interactivas de los grficos 3D en Maple aaden ms dimensiones a la exploracin. Los usuarios pueden rotar, escalar o trasladar la imagen interactivamente, pueden tratar diferentes modelos de iluminacin, niveles de brillo y transparencia para hacer tu modelo personalizado de Yoda.

La Digitalizacin de Yoda Yoda apareci por primera vez en la saga de Star Wars en 1980, The Empire Strikes Back. En esta pelcula, Yoda estaba representado por un mueco, su voz y movimientos estaban controlados por Frank Oz. Ms recientemente el personaje fue producido mediante una animacin computarizada, empleando conceptos matemticos pertenecientes a las ramas del lgebra lineal, clculo, ecuaciones diferenciales y anlisis numrico.

Cuando se desea realizar una proyeccin tridimensional de alguna figura, se debe de considerar la pantalla de proyeccin como el plano bidimensional (x,y); y en base a este colocar un sistema de coordenadas tridimenssional (x,y,z) ,cuya orientacin coincida con la del primero; es decir, con z dirigido hacia afuera de la pantalla.Debido a que una figura est formada de diversos segmentos de recta unidos enntre s, es necesario conocer las coordenadas de dichas uniones que se almacenan en la memoria del sistema.Estas mismas coordenadas sern quienes generen nuesttra matriz de la forma

Esta matriz puede transformarse en otras dependiendo de la vista que quisiramos. Debemos notar que los segmentos de recta que conectan los diferentes puntos se mueven con los puntos cuando estos ltimos son transformados. De esta forma, cada vista tiene su matriz nica.Existen diversos tipos de transformaciones:EscalamientoComo su nombre lo dice, es el tipo de transformacin que se considera mediante un esalonamiento de la vista en direcciones x,y,z por factores ,,; de modo que si

Ejemplo.Definimos una matriz diagonal de 3x3Entonces si un punto Pi en la vista original est representado por l vector columna

El punto transformado Pi est representado por el vector columna

Usando la matriz de coordenadas P, que contiene las coordenadas de todos los n puntos de la vista original como sus columnas, es posible transformar estos n puntos simultneamente para producir la matriz coordenadas P de la vista escalada como sigue:

La nueva matriz de coordenadas se puede introducir entonces en el sistema de despliegue de video para producir la nueva vista del objeto. Como un ejemplo, la vista 2 es la vista 1 escalada al hacer =1.8, 0.5 y =3.0. Advertir que el escalamiento =3.0 a lo largo del eje z no es visible en la vista 2, ya que lo nico que se ve es la proyeccin del objeto sobre el plano xy.

Traslacin.Se considera ahora la transformacin de trasladar o desplazar un objeto a una nueva posicin en la pantalla. Con la figura 11.11.3, suponer que se desea cambiar una vista existente de tal modo que cada punto Pi con coordenadas (xi,yi,zi) se mueva a un nuevo punto Pi con coordenadas (xi + x0,yi + y0,zi + z0). El vector

Se denomina el vector de traslacin de la transformacin. Definiendo una matriz T3 x n como

Es posible trasladar los n puntos de la vista determinada por la matriz de coordenadas P por suma de matrices mediante la ecuacinP = P + TLa matriz de coordenadas P especifica entonces las nuevas coordenadas de los n puntos. Por ejemplo, si se quiere trasladar la vista 1 de acuerdo con el vector de traslacin.

El resultado es la vista 3. Advertir, de nueva cuenta, que la traslacin z0=1.7 a lo largo del eje z no aparece explcitamente en la vista 3.

RotacinUn tipo ms complicado de transformacin es la rotacin de una vista alrededor de uno de los tres ejes de coordenadas. Se empieza con una rotacin alrededor del eje z (el eje perpendicular a la pantalla) a travs del ngulo t. Dado un punto P, en la vista original con coordenadas (xi, yi, zi) se quiere calcular las nuevas coordenadas (xi, yi, zi) del punto rotado Pi. De acuerdo con la siguiente figura podemos deducir lo siguiente:

Xi= cos () = cos cos sen sen = xi cos yi sen yi= cos ( + ) = cos cos sen sen = xi cos yi sen zi= ziEstas ecuaciones se pueden escribir de forma matricial como:

Si se hace que R denote una matriz de 3 x 3 en esta ecuacin, todos los n puntos se pueden rotar por medio del producto matricial.P = RPPara producir la matriz de coordenadas P de la vista rotada.Las rotaciones alrededor de los ejes x y se pueden llevar a cabo de manera anloga, y las matrices de rotacin resultantes se dan en las vistas 4, 5, 6. Estas tres nuevas vistas de la pirmide truncada corresponden a rotaciones de a vista 1 alrededor de los ejes x, y, z respectivamente, cada una de ellas a travs de un ngulo de 90.

Las rotaciones alrededor de los tres ejes de coordenadas se pueden combinar para obtener vistas oblicuas de un objeto. Por ejemplo, la vista 7 es la vista 1 rotada 30 alrededor del eje x, despus -70 alrededor del eje y, por ltimo, -27 alrededor del eje z. matemticamente, estas tres rotaciones sucesivas se pueden sintetizar en la ecuacin de la trasformacin P = RP, donde R es el producto de las tres matrices de rotacin individuales:

En el orden:

Ejemplos:

Figura 1 1) La figura 1 muestra un cuadrado con vrtices (0, 0,0), (1, 0,0), (1, 1,0) y (0, 1,0)

a) Cul es la matriz de coordenadas de la figura 1?b) Cul es la matriz de coordenadas de la figura 1 despus de escalarla por un factor de 1 en la direccin x y de en la direccin y? Hacer un diagrama de la vista escalada.c) Cul es la matriz de coordenadas de la figura 1 despus de trasladarla por el siguiente vector?

Dibujar un diagrama de la vista trasladada.

d) Cul es la matriz de coordenadas de la figura 1 despus de rotarla a travs de un ngulo de -30 alrededor del eje z? Dibujar un diagrama de la vista rotada.

a) b)

c)

d)

2) a) Cules son las coordenadas de los cuatro vrtices del cuadrado con el deslizamiento cortante de la figura 2?

Figura 2

b) La matriz determina un deslizamiento cortante den la direccin y con factor 0.6 con respecto al a coordenada x. Trazar una vista del cuadrado de la figura 1 despus de someterlo al deslizamiento cortante descrito y encontrar las nuevas coordenadas de los cuatro vrtices

a) (0,0,0),(1,0,0),(1,1,0) y (,1,0)

b) (0,0,0),(1,6,0),(1,1,6,0) , (0,1,0)

3) a) La reflexin respecto al plano xz se define como la transformacin que lleva un punto (xi, yi, zi) al punto (xi,-yi, zi). Si P y P son las matrices de coordenadas de una vista y su reflexin respecto al plano xz, respectivamente, encontrar una matriz M tal que P=MP.

b) De manera anloga al inciso anterior, definir la reflexin respecto al plano yz y construir la matriz de transformacin correspondiente. Dibujar un diagrama de la figura 0 reflejada respecto al plano xz.

c) De manera anloga al inciso a) definir la reflexin respecto al plano xy y construir la matriz de transformacin correspondiente. Dibujar un diagrama de la figura 0 reflejada respecto al plano xy

[1 0 0] [-1 0 0]a) [0 -1 0] b) [0 1 0] [0 0 1] [0 0 0]

[1 0 0]c) [0 1 0] [0 0 -1]

4) La figura 3 es la figura 1 sujeta a las cinco transformaciones siguientes:

1.- Escalamiento por un factor de en la direccin x, 2 en la direccin y, y en la direccin z.2.- Traslacin de unidad en la direccin x.3.- Rotacin de 20 alrededor del eje x.4.- Rotacin de -45 alrededor del eje y.5.- Rotacin de 90 alrededor del eje z.Construir las 5 matrices M1, M2, M3, M4, M5 asociadas con estas 5 transformaciones.

[ 0 0]M1= [0 2 0] [0 0 ]

[ .... ]M2= [0 0 ... 0] [0 0 ... 0]

[1 0 0 ] M3= [0 cos20 -sen20] [0 sen20 cos20]

[Cos (-45) 0 sen (-45)]M4= [ 0 1 0 ] [-sen (-45) 0 cos (35)]

[0 -1 0]M5= [1 0 0] [0 0 1]

P=M5 M4 M3(M1P+ M2)

Arroyo Valdez ErnestoPerdomo Perdomo Fragoso Daniek AlejandroTobn Vzquez Lizzouli