algebra lineal

14
INTRODUCCIÓN: Animación Computarizada Hoy en día ignoramos que las matemáticas están implícitas 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 sueño. En la ingeniería sin embargo las matemáticas van más allá, puesto que para obtener y utilizar la tecnología, 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 preguntaría ¿qué tienen que ver las matemáticas con la animación? Y la respuesta es : todo. Una rama particular de las matemáticas, permite realizar diseños de personajes tridimensionales en un plano bidimensional y con herramientas de programación hacer que dichos diseños tengan movimiento, y esta rama es el Álgebra lineal. Visualización y animación computarizada La animación computarizada es una ciencia ecléctica que combina de manera singular: matemática, ciencia de la computación, arte, animación clásica, física, biomecánica y anatomía, por nombrar sólo algunos campos. Los algoritmos dependen fuertemente en técnicas de computación científica, estadística, procesamiento de señales, álgebra lineal, teoría de control, y geometría computacional. Matrices, transformaciones afines en 3D. Animar objetos en su forma más básica 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 geometría que se despliega en las aplicaciones Open GL está basada en los conceptos de Matrices y Vectores y las operaciones aritméticas aplicables a estas estructuras. En Open GL existen básicamente tres matrices principales: Una matriz de proyección llamada GL_PROJECTION, la cual nos permite determinar la perspectiva que usaremos para observar la escena generada, así como el tipo de proyección a usar (esto tiene que ver mucho con cuestiones de óptica y de geometría, y abordaremos este tema en otra ocasión más específicamente, ya que es bastante extenso y complejo). Esta matriz tiene una gran relación con otro concepto también muy interesante llamado clipping, que consiste en recortar u ocultar todo aquello que “está pero no se ve”, es decir lo que queda fuera del foco de nuestra cámara o nuestro campo visual activo, este es un proceso que se hace automáticamente una vez, habiendo inicializado pertinentemente esta matriz.

Upload: cubo321

Post on 14-Jul-2015

2.156 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algebra lineal

INTRODUCCIÓN:

Animación Computarizada

Hoy en día ignoramos que las matemáticas están implícitas 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 sueño.

En la ingeniería sin embargo las matemáticas van más allá, puesto que para obtener y utilizar la tecnología,

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

preguntaría ¿qué tienen que ver las matemáticas con la animación? Y la respuesta es : todo.

Una rama particular de las matemáticas, permite realizar diseños de personajes tridimensionales en un plano

bidimensional y con herramientas de programación hacer que dichos diseños tengan movimiento, y esta rama

es el Álgebra lineal.

Visualización y animación computarizada La animación computarizada es una ciencia ecléctica que combina de manera singular: matemática, ciencia de la computación, arte, animación clásica, física, biomecánica y anatomía, por nombrar sólo algunos campos. Los algoritmos dependen fuertemente en técnicas de computación científica, estadística, procesamiento de señales, álgebra lineal, teoría de control, y geometría computacional.

Matrices, transformaciones afines en 3D. Animar objetos en su forma más básica 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 geometría que se despliega en las aplicaciones Open GL está basada en los conceptos de Matrices y Vectores y las operaciones aritméticas aplicables a estas estructuras. En Open GL existen básicamente tres matrices principales: Una matriz de proyección llamada GL_PROJECTION, la cual nos permite determinar la perspectiva que usaremos para observar la escena generada, así como el tipo de proyección a usar (esto tiene que ver mucho con cuestiones de óptica y de geometría, y abordaremos este tema en otra ocasión más específicamente, ya que es bastante extenso y complejo). Esta matriz tiene una gran relación con otro concepto también muy interesante llamado clipping, que consiste en recortar u ocultar todo aquello que “está pero no se ve”, es decir lo que queda fuera del foco de nuestra cámara o nuestro campo visual activo, este es un proceso que se hace automáticamente una vez, habiendo inicializado pertinentemente esta matriz.

Page 2: Algebra lineal

Una matriz de Modelado llamada GL_MODELVIEW, donde ésta es la matriz que usaremos para aplicar a nuestra escena operaciones de rotación, traslación o escalamiento, o bien para manipular la posición y orientación de la cámara, para obtener así las animaciones. La figura 2 muestra algunos ejemplos de matrices de transformación lineal para el caso de sistemas de 3 dimensiones

Y una última matriz para el manejo de Texturas llamada GL_TEXTURE, sobre la cual también podemos aplicar las transformaciones lineales de rotación, traslación y escalamiento para manipular las texturas a utilizar en las figuras de nuestra escena, cuando estemos más 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 vértices de las figuras, hasta los colores, los materiales y las luces, entre otras muchas cosas. Existen básicamente 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 según sea el caso. Y cuando se maneja como una estructura estos valores están contenidos en una estructura de datos que bien puede ser un arreglo o un registro. A continuación se muestra una ligera explicación de la creación 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 enseñanza

matemática. Software matemático 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 líder a nivel mundial, que ofrece frescura y profundidad

para tratar todo tipo de matemáticas.

¿Cómo se utilizó Maple?

Page 3: Algebra lineal

Yoda tiene un físico que está literalmente construido por

álgebra lineal. Para que un ordenador maneje a este

Maestro Jedi, en contraposición a un titiritero, el personaje

debe crearse digitalmente, a través de un mallado, o

teselación, como puede verse en la imagen.

El modelo del mallado se define por dos tipos de información: la localización de cada vértice, y las conexiones entre los vértices que determinan cada cara. Cuantos más vértices, mejor es la imagen. Las herramientas de graficación 3D de Maple toman ésta información y construyen la imagen de Yoda.

Las rutinas de álgebra lineal de Maple pueden, entonces, ser utilizadas para mover a Yoda.

Con la información de los vértices almacenada en una matriz, la multiplicación de matrices puede ser utilizada para modificar el modelo, resultando en una nueva imagen 3D. Por ejemplo, al multiplicarla por una matriz de rotación, rotará la imagen por una cantidad específica. Las formidables rutinas numéricas de álgebra lineal en Maple, hacen que estas operaciones sean factibles, aun cuando se tenga miles de vértices.

Las potentes capacidades interactivas de los gráficos 3D en Maple añaden más dimensiones a la exploración. Los usuarios pueden rotar, escalar o trasladar la imagen interactivamente, pueden tratar diferentes modelos de iluminación, niveles de brillo y transparencia para hacer tu modelo personalizado de Yoda.

La Digitalización de Yoda

Yoda apareció por primera vez en la saga de Star Wars en 1980, The Empire Strikes Back. En esta película, Yoda estaba representado por un muñeco, su voz y movimientos estaban controlados por Frank Oz. Más recientemente el personaje fue producido mediante una animación computarizada, empleando conceptos matemáticos pertenecientes a las ramas del álgebra lineal, cálculo, ecuaciones diferenciales y análisis numérico.

Cuando se desea realizar una proyección tridimensional de alguna figura, se debe de considerar la

pantalla de proyección como el plano bidimensional (x,y); y en base a este colocar un sistema de

coordenadas tridimenssional (x,y,z) ,cuya orientación coincida con la del primero; es decir, con z

dirigido hacia afuera de la pantalla.

Page 4: Algebra lineal

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 serán quienes generen nuesttra matriz de la forma

Esta matriz puede transformarse en otras dependiendo de la vista que quisiéramos. 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:

Escalamiento

Como su nombre lo dice, es el tipo de transformación 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 3x3

Entonces 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 simultáneamente para

producir la matriz coordenadas P’ de la vista escalada como sigue:

Page 5: Algebra lineal

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 proyección del objeto sobre el plano xy.

Traslación.

Se considera ahora la transformación de trasladar o desplazar un objeto a una nueva posición 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 traslación de la transformación. 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 ecuación

P’ = P + T

La 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 traslación.

Page 6: Algebra lineal

El resultado es la vista 3. Advertir, de nueva cuenta, que la traslación z0=1.7 a lo largo del eje z no

aparece explícitamente en la vista 3.

Rotación

Un tipo más complicado de transformación es la rotación de una vista alrededor de uno de los tres

ejes de coordenadas. Se empieza con una rotación alrededor del eje z (el eje perpendicular a la

pantalla) a través 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’= zi

Estas ecuaciones se pueden escribir de forma matricial como:

Page 7: Algebra lineal

Si se hace que R denote una matriz de 3 x 3 en esta ecuación, todos los n puntos se pueden rotar

por medio del producto matricial.

P’ = RP

Para 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 análoga, y las matrices

de rotación resultantes se dan en las vistas 4, 5, 6. Estas tres nuevas vistas de la pirámide truncada

corresponden a rotaciones de a vista 1 alrededor de los ejes x, y, z respectivamente, cada una de

ellas a través de un ángulo de 90°.

Page 8: Algebra lineal

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, después -

70° alrededor del eje y, por último, -27° alrededor del eje z. matemáticamente, estas tres

rotaciones sucesivas se pueden sintetizar en la ecuación de la trasformación P’ = RP, donde R es el

producto de las tres matrices de rotación individuales:

En el orden:

Page 9: Algebra lineal

Ejemplos:

Figura 1

1) La figura 1 muestra un cuadrado con vértices (0, 0,0),

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

a) ¿Cuál es la matriz de coordenadas de la figura 1?

b) ¿Cuál es la matriz de coordenadas de la figura 1

después de escalarla por un factor de 1½ en la

dirección x y de ½ en la dirección y? Hacer un diagrama de la vista escalada.

c) ¿Cuál es la matriz de coordenadas de la figura 1 después de trasladarla por el siguiente vector?

Dibujar un diagrama de la vista trasladada.

d) ¿Cuál es la matriz de coordenadas de la figura 1 después de rotarla a través de un ángulo de -

30º alrededor del eje z? Dibujar un diagrama de la vista rotada.

a) b)

c)

Page 10: Algebra lineal

d)

2)

a) ¿Cuáles son las coordenadas de los cuatro vértices del cuadrado con el deslizamiento cortante

de la figura 2?

Figura 2

b) La matriz determina un deslizamiento cortante den la dirección y con factor 0.6

con respecto al a coordenada x. Trazar una vista del cuadrado de la figura 1 después de someterlo

al deslizamiento cortante descrito y encontrar las nuevas coordenadas de los cuatro vértices

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)

Page 11: Algebra lineal

3) a) La reflexión respecto al plano xz se define como la transformación 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 reflexión respecto

al plano xz, respectivamente, encontrar una matriz M tal que P’=MP.

b) De manera análoga al inciso anterior, definir la reflexión respecto al plano yz y construir la

matriz de transformación correspondiente. Dibujar un diagrama de la figura 0 reflejada respecto al

plano xz.

c) De manera análoga al inciso a) definir la reflexión respecto al plano xy y construir la matriz de

transformación 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 dirección x, 2 en la dirección y, y ⅓ en la dirección z.

2.- Traslación de ½ unidad en la dirección x.

Page 12: Algebra lineal

3.- Rotación de 20º alrededor del eje x.

4.- Rotación de -45º alrededor del eje y.

5.- Rotación 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º)]

Page 13: Algebra lineal

[0 -1 0]

M5= [1 0 0]

[0 0 1]

P’=M5 M4 M3(M1P+ M2)

Page 14: Algebra lineal

Arroyo Valdez Ernesto

Perdomo Perdomo Fragoso Daniek Alejandro

Tobón Vázquez Lizzouli