You are on page 1of 88

COMPUTACION GRAFICA

Prof. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Ingeniera de Sistemas Departamento de Ciencias de la Computacin

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


1

TRANSFORMACIONES GEOMETRICAS 2D

Prof. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Ingeniera de Sistemas Departamento de Ciencias de la Computacin

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


2

Motivacin
Objetivo de la Computacin Grfica: crear una imagen bidimensional de una escena 3D. Tareas involucradas:
Colocacin de los objetos en la escena y animacin de los mismos. Definicin de un punto de vista y una forma de visualizacin (volumen de visualizacin) Mapeado de coordenadas 3D en coordenadas 2D

Las tareas involucradas se llevan a cabo mediante procesos de transformacin y proyeccin.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Motivacin
Con los algoritmos de primitivas podemos dibujar en pantalla El siguiente paso consiste en permitir modificar o manipular dichas primitivas Transformaciones Geomtricas
Para poder implementar aplicaciones de diseo Para poder realizar animaciones Para interactuar con la escena

Las transformaciones bsicas que se necesitan son:


Traslacin: cambios en la posicin Rotacin: cambios en la orientacin Escalado: cambios en el tamao

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Motivacin
Necesitamos disponer de una descripcin matemtica que nos permita definir

el espacio, los objetos que componen la escena las propiedades de esos objetos el movimiento de los mismos algoritmos apropiados para describir la interaccin de la luz con la materia.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Motivacin
Nos centraremos en los conceptos matemticos que permiten describir:
el espacio los objetos que residen en l sus posiciones los movimientos de los objetos dentro del espacio

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Motivacin
Un sistema referencial es un sistema de coordenadas que permite describir la situacin de un punto en el espacio. Existen mltiples sistemas de coordenadas.
Cartesianas Polares Cilndricas Esfricas...

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Sistema de Coordenadas
Sistema de Coordenadas Fsica:
Representacin matemtica de los objetos. Independiente del Dispositivo. Denominado Espacio Euclideano. Valores infinitesimales Reales.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Sistema de Coordenadas
Sistema de Coordenadas Maestras:
Coordenadas de Modelado a coordenadas locales. Definen la forma del objeto. Sistema Individual, independiente para cada objeto.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Sistema de Coordenadas
Sistema de Coordenadas Universales:
Definen la posicin y orientacin de los objetos. Espacio de la escena. Sistema nico para todos los objetos.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Sistema de Coordenadas
Sistema de Coordenadas Normalizadas:
Coordenadas de dispositivos normalizadas. Proyeccin bidimensional del objeto en base a la posicin y la orientacin de una hipottica cmara. Rango de valores: entre -1 y 1 o entre 0 y 1.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Sistema de Coordenadas
Sistema de Coordenadas de Dispositivo:

Monitor: Coordenadas de pantalla. Origen: Vrtice superior izquierdo. Espacio de pantalla (pixels). Discreto y acotado: [0, Xmax] x [0, Ymax] Xmax y Ymax N Valores enteros.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Las transformaciones geomtricas modifican la posicin, orientacin y el tamao de los objetos y el observador en la escena.
Las transformaciones geomtricas son utilizadas para manipular los objetos dentro de un modelo 3D. Transformaciones como la traslacin, rotacin y escalado permiten simular el movimiento de los objetos, as como situar los objetos y el observador en la posicin adecuada.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Las transformaciones geomtricas permiten cambiar la posicin, orientacin y tamao de los objetos. En estas escenas se ven involucradas traslaciones, rotaciones compuestas, adems de escalamientos entre otras.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Una transformacin geomtrica es una funcin matemtica que transforma un punto o conjunto de puntos en otro punto o conjunto de puntos, dentro del sistema de referencia global de la escena.
Las transformaciones geomtricas se pueden expresar mediante ecuaciones. La representacin matricial permite comprender mejor a las ecuaciones, lo cul es aprovechado en la ingeniera. Las matrices traen mucha informacin, adems de permitir una mejor representacin de datos. A travs de las composiciones matriciales estas pueden ser representadas en una nica matriz de transformacin

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Problema: Cmo mover un objeto? En la vida real sabemos como mover un objeto Cmo hacerlo en un ordenador? Objetivo: Mover la casa de aqu a all Se necesita cuantificar: aqu y all

Solucin: Utilizar un sistema de coordenadas Define el espacio de forma numrica Proporciona una mtrica: permite describir la distancia entre 2 puntos Ejemplo: 1, 2 y 3 dimensiones
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Un objeto se representa por polgonos. Un polgono es una coleccin de vrtices y aristas.

Para transformar un objeto se transforman sus vrtices. Del sistema local al sistema global: transformaciones. Ejemplo: Utilizando los sistemas de coordenadas tenemos instrucciones cuantitativas para mover la casa.
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas
Cmo podemos objetos? relacionar distintos
Se puede considerar la localizacin de los objetos con respecto a un punto central de referencia llamado origen. Un vector indica cual es la direccin a seguir desde el origen y la longitud del camino hasta llegar a un punto.

Notacin del vector: fila [x y] o columna

X P. Ej : el vector que apunta al centro del y coche

Los vectores se utilizan en CG para:


Representar las posiciones de los vrtices Determinar la orientacin de una superficie Vector normal a la superficie Para modelar la interaccin de la luz Vector de incidencia de la luz
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Traslacin
La operacin de traslacin consiste en modificar la posicin de un punto en el plano definido por las coordenadas (x, y), mediante un movimiento en lnea recta desde la posicin actual (posicin inicial) a la posicin final.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Traslacin

Se traslada cada punto P(x,y) dx unidades paralelamente al eje x y dy unidades paralelamente al eje y, hacia el nuevo punto P'(x',y').

P (x y)

dy P (x y)

X dx

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Traslacin
Es una transformacin rgida: el objeto no se deforma. Para trasladar todos los puntos de una lnea, simplemente se traslada los puntos extremos. En las nuevas posiciones vuelven a unirse los vrtices. Para trasladar polgonos, trasladamos slo sus vrtices y redibujamos.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Traslacin
Esta operacin consiste en sumar a las coordenadas de cada punto, los valores de los desplazamientos en las dos direcciones x e y. La traslacin no modifica la geometra del objeto, slo su posicin en el espacio. Las ecuaciones quedan:

x' x dx
y' y dy

Si se definen los vectores columna queda:

x , P' y

x' , y'

dx , dy

entonces la ecuacin anterior puede ser expresada como:

P'
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

P T

Traslacin
Una forma de efectuar la traslacin de un objeto es aplicndole a cada punto del mismo la ecuacin anterior.

Vector de desplazamiento T = (3, 2)


(x1, y1) = (2, 3) (x2, y2) = (1, 1) (x3, y3) = (3, 1)

(x1, y1) = (2, 3) + (3, 2) = (1, 1) (x2, y2) = (1, 1) + (3, 2) = (2, 1)

(x3, y3) = (3, 1) + (3, 2) = (0, 1)


John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
La operacin de escalado modifica la distancia de los puntos sobre los que se aplica, respecto a un punto de referencia.
Consiste en cambiar el tamao del objeto. Se realiza respecto a un punto

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
Es una transformacin rgida: el objeto no se deforma. Para escalar lneas rectas escalamos slo sus extremos. Para escalar polgonos, escalamos slo sus vrtices y redibujamos.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
El escalamiento se hace con un factor Sx en el eje x y en un factor Sy en el eje y, y un punto o eje de referencia. La transformacin de escalamiento puede expresarse con las siguientes multiplicaciones

x' Sx x y' Sy y
En forma matricial

x' y'

Sx 0

0 Sy

x y

P' S P

Matriz S
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
Escalado respecto al punto origen:
Si Sx, Sy > 1, la distancia entre el objeto y el punto de referencia aumenta. Si Sx, Sy < 1, la distancia entre el objeto y el punto de referencia disminuye. Si Sx, Sy = 1, la operacin no tiene ningn efecto.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
Dos tipos de escalado:
Escalado uniforme: El factor de escala es el mismo en las dos coordenadas, es decir Sx = Sy, y por lo tanto vara el tamao pero no la forma del objeto. Escalado diferencial: El factor de escala es distinto en cada direccin, es decir Sx es distinto de Sy, y se produce una distorsin en la forma del objeto.
Si Si Si Si |Sx|>1 y |Sy|>1 aumenta el tamao, Si |Sx|<1 y |Sy|<1 disminuye Sx = Sy escalado uniforme, Si Sx<>Sy escalado no uniforme Sx<0 el objeto se refleja respecto al eje Y Sy<0 el objeto se refleja respecto al eje X

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
Ejemplo de escalamiento
Factores de escalamiento T = (2, 1)

(x1, y1) = (2, 3) (x2, y2) = (1, 1) (x3, y3) = (3, 1)

(x1, y1) = (2*2, (1)3) = (4, 3) (x2, y2) = (2*1, (1)1) = (2, 1)
(x3, y3) = (2*3, (1)1) = (6, 1)

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Escalamiento
Reflexin: Corresponde a escalar usando coeficientes negativos:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Rotacin
La operacin de rotacin o giro desplaza un punto a travs de la circunferencia definida sobre un centro determinado, es decir, siguiendo un movimiento circular.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Rotacin
Igual que en la traslacin, esta operacin no modifica la geometra del

objeto, slo su posicin. Se utiliza para orientar objetos. Se realiza respecto a un punto Los ngulos positivos se miden en sentido contrario al giro de las agujas del reloj, es decir, un giro desde x hacia y se considera positivo. Es una transformacin rgida: el objeto no se deforma. Para rotar lneas rectas rotamos slo sus extremos. Para rotar polgonos, rotamos slo sus vrtices y redibujamos.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Rotacin
La rotacin de un ngulo que transforma al punto P(x,y) en P'(x',y') Por trigonometra tenemos

r cos ,

y
) r cos cos ) r cos sen

r sen ,
r sen sen r sen cos

x' r cos( y' r sen(

x'
y'

x cos
x sen

y sen
y cos

En forma matricial

x' y'

cos sen

sen cos

x y

P' R P

Matriz R
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Rotacin
Ejemplo de rotacin
ngulo de rotacin = 45
(x1, y1) = (2, 3) (x2, y2) = (1, 1) (x3, y3) = (3, 1) (x1, y1) = (2cos(45) 3sen(45), 3cos(45) + 2sen(45)) = (2*0.7073*0.707, 3*0.707+2*0.707) = (0.707, 3,54) (x2, y2) = (3cos(45) sen(45), cos(45) + 3sen(45)) = (3*0.7070.707, 0.707+3*0.707) = (1.414, 2.828) (x3, y3) = (cos(45) sen(45), cos(45) + sen(45))
= (0.7070.707, 0.707+0.707) = (0, 1.414)
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Homogenizacin de coordenadas
Las representaciones matriciales obtenidas hasta ahora para traslacin, escalamiento y rotacin son, respectivamente

P' T

P' S P
P' R P
Problema: La traslacin es tratada de forma diferente Solucin: Utilizar un sistema de coordenadas homogneas

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Homogenizacin de coordenadas
Se introduce una coordenada adicional al sistema de referencia XY respetando todas las operaciones. Las matrices de transformacin se redimensionan transformaciones son llevadas a cabo en el sistema XYW. Y P(x,y) Y P(x,y,w) P(x,y,w) w X Z
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

las

P(x,y) X

Homogenizacin de coordenadas
Las coordenadas homogneas de (x, y) son (x', y', w), donde
x = x'/w y = y'/w w no puede ser 0.

Para un punto concreto del plano existen infinitas representaciones en coordenadas homogneas (4, 5) se puede representar como
(8, 10, 2) (4, 5, 1) (12, 15, 3)

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Homogenizacin de coordenadas
Las ecuaciones de traslacin pasan a ser una matriz 3x3 en coordenadas homogneas
x' y' 1 1 0 0 1 0 0 dx dy 1 x y 1

Esta ecuacin puede ser representada de la siguiente forma:

P' T (dx, dy) P,


Donde T(dx, dy) es la matriz de transformacin
T (dx, dy)
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

1 0 0 1 0 0

dx dy 1

Homogenizacin de coordenadas
Las ecuaciones de Escalamiento pasan a ser una matriz 3x3 en coordenadas homogneas
x' y' 1 Sx 0 0 0 0 Sy 0 0 1 x y 1

Esta ecuacin puede ser representada de la siguiente forma:

P' S ( Sx, Sy) P


Donde S(Sx, Sy) es la matriz de transformacin
Sx 0 0 0 0 Sy 0 0 1

S ( Sx, Sy)
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Homogenizacin de coordenadas
Las ecuaciones de Rotacin pasan a ser una matriz 3x3 en coordenadas homogneas
x' y' 1 Cos Sen 0 Sen Cos 0 0 0 1 x y 1

Esta ecuacin puede ser representada de la siguiente forma:

P' R( ) P
Donde R() es la matriz de transformacin

R( )
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

cos sen 0

sen cos 0

0 0 1

Homogenizacin de coordenadas
Ventajas de las coordenadas homogneas:
Facilitan las operaciones de concatenacin de transformaciones, mediante el producto de matrices. Las tarjetas aceleradoras de grficos implementan en hardware las operaciones matriciales con coordenadas homogneas, mejorando el rendimiento de estas operaciones. Si las operaciones se realizasen por software requeriran un gran poder de cmputo

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Traslacin


La aplicacin consecutiva de transformaciones geomtricas se denomina concatenacin El resultado es otra transformacin geomtrica equivalente. En notacin matricial equivale al producto de matrices Supongamos que realizamos 2 traslaciones consecutivas.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Traslacin


P' T (d x1 , d y1 ) P P' ' T ( d x 2 , d y 2 ) P'

P' ' T (d x 2 , d y 2 ) (T (d x1 , d y1 ) P)

(T (d x 2 , d y 2 ) T (d x1 , d y1 )) P

Y nos queda realizar el producto matricial

T (d x 2 , d y 2 ) T (d x1 , d y1 )

T (d x 2 , d y 2 ) T (d x1 , d y1 )

1 0 d x2 0 1 d y2 0 0 1

1 0 d x1 0 1 d y1 0 0 1

1 0 d x1 d x 2 0 1 d y1 d y 2 0 0 1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Escalamiento


Supongamos que realizamos 2 escalados consecutivas.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Escalamiento


P' ' S ( s x 2 , s y 2 ) P'
P' ' S ( sx 2 , s y 2 ) ( S ( sx1 , s y1 ) P)

P' S ( s x1 , s y1 ) P
( S ( sx 2 , s y 2 ) S ( sx1 , s y1 )) P

Y nos queda realizar el producto matricial

S ( sx 2 , s y 2 ) S ( sx1 , s y1 )
sx 2 0 0 0 sy2 0 0 0 1 s x1 0 0 0 s y1 0 0 0 1 s x 2 s x1 0 0 0 s y 2 s y1 0 0 0 1

S ( s x 2 , s y 2 ) S ( s x1 , s y1 )

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Rotacin


Supongamos que realizamos 2 rotaciones consecutivas.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Rotacin

P' '

R( ) P'

P'

R( ) P

P' '

R( ) ( R( ) P)

( R( ) R( )) P

Y nos queda realizar el producto matricial

R( ) R( )

R( ) R( )

cos( ) sen( ) 0

sen( ) 0 cos( ) cos( ) 0 . sen( ) 0 1 0

sen( ) 0 cos( ) 0 0 1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Concatenacin de Transformaciones: Rotacin

R( ) R( )

cos( ) cos( ) sin( ) sen( ) sen( ) cos( ) cos( ) sen( ) 0

(cos( ) sen( ) sen( ) cos( )) 0 sen( ) sen( ) cos( ) cos( ) 0 0 1

cos( sin(

) cos( ) cos( ) sin( ) sin( ) ) cos( ) sin( ) sin( ) cos( )

R( ) R( )

cos( sin( 0

) )

sin( cos( 0

) 0 ) 0 1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Composicin de Transformaciones
Las aplicaciones utilizan movimientos ms complejos que se pueden conseguir combinando transformaciones bsicas.
Cmo se puede aplicar a un objeto una operacin compleja en la que intervengan varias operaciones bsicas encadenadas?.
Empleando la composicin o multiplicacin de las matrices asociadas a las operaciones bsicas.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Composicin de Transformaciones
Ejemplo: Rotar un objeto con respecto a un punto arbitrario P1 distinto del origen de coordenadas. Se convierte el problema original en tres subproblemas separados y sencillos de resolver.
1.- Trasladar el punto (-x1, -y1) al origen de coordenadas. 2.- Rotar el objeto. 3.- Trasladar (x1, y1) a su posicin original.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Composicin de Transformaciones

Otro Ejemplo: Escalar un objeto respecto a un punto arbitrario P1.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Composicin de Transformaciones
Ejemplo: Escalado y rotacin del pentgono, como aparece en la figura. La secuencia de operaciones a realizar es la siguiente:
1. Trasladar el punto P1 al origen de coordenadas. 2. Efectuar el escalado. 3. Efectuar la rotacin. 4. Trasladar el origen a la posicin P2, donde se ubicar el pentgono.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Otras Transformaciones
El producto de una secuencia arbitraria de matrices de rotacin, traslacin y escalamiento constituyen una transformacin afn, teniendo la propiedad de conservar el paralelismo de las lneas, pero no longitudes ni ngulos . Rotaciones, escalamientos y traslaciones subsiguientes no podran hacer que las lneas dejen de ser paralelas.

Cubo Unitario

45

Escalado en x, no escalado en y

Un cubo unitario rotado 45 en sentido horario y luego escalado no uniformemente. El resultado es una transformacin afn de la figura inicial, donde se mantiene el paralelismo de las lneas, pero no las longitudes ni ngulos originales.
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Otras Transformaciones
Produce un desplazamiento de los puntos sin alterar los ejes.

SH x : Cizalla paralela al eje x

SH y : Cizalla paralela al eje y

x = x + sh x y
John Ledgardy Y = Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

x = x Y = sh yx + y

Problemas
Determine la transformacin geomtrica M que transforma al triangulo de vrtices A = (1, 1), B = (3, 1), C = (2, 3) en el tringulo de vrtices A = (8, 5), B = (4, 5) y C = (6, 2) (A = M.A, B = M.B y C = M.C) Solucin: Dibujamos el tringulo ABC y luego de su transformacin

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
1. 2. Trasladamos el tringulo ABC al origen de coordenadas: Escalamiento con reflexin con respecto al el origen

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
3. Trasladamos el tringulo ABC a la posicin final para obtener ABC:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
As la sucesin de transformaciones sern: una traslacin al origen, un escalamiento de -2 unidades en el eje x y 3/2 unidades en el eje y, esto es para conseguir la reflexin del triangulo con respecto a los ejes coordenados, y por ultimo una traslacion de 8 unidades en el eje x y 5 unidades en el eje y. De esta manera obtendremos la matriz de transformacin como la siguiente composicin de matrices:

De manera explcita se tendr:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Obtenga la transformacin geomtrica que permite la reflexin de un punto P = (x, y) con respecto a la recta y = x.

Solucin: El razonamiento es puramente geomtrico, usando nociones de congruencia de tringulos se tiene que:

Y + 0y

0x + y
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Entonces se tiene que:

Puede verificarse que:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Obtenga la transformacin geomtrica de reflexin con respecto a una recta arbitraria y = mx + b. Solucin: 1. Trasladamos, tanto la recta como el punto P = (x, y), b unidades en el eje y, con esto conseguimos que la recta pase por el origen de coordenadas.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
2. Rotamos un ngulo apropiado, el cual viene dado por tan() = m, esto se hace de tal forma que la recta coincida con el eje x;

3. Hacemos la reflexin de las coordenadas con respecto al eje x

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
4. Retornamos aplicando una rotacin en el sentido inverso al considerado en los pasos anteriores

5.

Finalmente una traslacin de b unidades en el sentido contrario considerado en el eje y.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
La secuencia de transformaciones seria:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Obtener la matriz de la figura siguiente:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 1. Primero apliquemos escalamiento (reflexin con respecto al eje X)

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 2. Rotacin con respecto al punto A.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 3. Cizalla en direccin del eje Y

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 4. Traslacin

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 4. Finalmente la matriz de transformacin M ser:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Solucin: 5. La prueba

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

TRANSFORMACIONES GEOMETRICAS 3D

Prof. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Ingeniera de Sistemas Departamento de Ciencias de la Computacin

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


73

Transformaciones Geomtricas 3D
La representacin de las transformaciones en 2D como matrices de 3x3 tiene un equivalente para las transformaciones 3D, las cuales son representadas como matrices de 4x4. Para permitir esto, el punto (x,y,z) ser representado en coordenadas homogneas como (W.x, W.y, W.z, W), con W 0. Si W 1, entonces W es dividido dentro de las tres primeras coordenadas homogneas para as obtener el punto cartesiano 3D (x,y,z). Esto implica, que dos puntos homogneos H1 y H2 representan el mismo punto 3D s y solo s H1 = c. H2, para cualquier constante c 0.

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Traslacin


La matriz de traslacin en 3D es una simple extensin de 2D

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

x y z

= = =

x y z

+ + +

dx dy dz

Transformaciones Geomtricas 3D: Traslacin

Al multiplicar esta matriz por el vector de puntos x, y, z, 1 queda:

T (dx, dy, dz)

x y z 1

x dx y dy z dz 1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Escalado


La matriz de escalamiento es similarmente extendida:

x y z
John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

= = =

sx x sy y sz z

Transformaciones Geomtricas 3D: Escalado

Al multiplicar esta matriz por el vector de puntos x, y, z, 1 queda:

S ( Sx, Sy, Sz)

x y z 1

x Sx y Sy z Sz 1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Rotacin


La rotacin en 2D es justo una rotacin con respecto al eje z. En 3D, una rotacin con respecto al eje z es:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Rotacin


La rotacin con respecto al eje x:

Al multiplicar esta matriz por el vector de puntos x, y, z, 1 queda:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Rotacin


La rotacin con respecto al eje y:

Al multiplicar esta matriz por el vector de puntos x, y, z, 1 queda:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Rotacin


La rotacin con respecto al eje z:

Al multiplicar esta matriz por el vector de puntos x, y, z, 1 queda:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Composicin de Transformaciones Geomtricas 3D


Se pueden aplicar sucesivas transformaciones a un punto.
Al resultado de la primera transformacin:
M1 P

se aplica una segunda transformacin:


M2 [ M1 P] = [M2 M1 ] P

La composicin de transformaciones se realiza mediante el producto de matrices M = Mn Mn-1 M2 M1

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Transformaciones Geomtricas 3D: Rotacin


La composicin de transformaciones no es conmutativa

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
Dado el siguiente slido, un prisma piramidal con aristas en O = (0, 0, 0), A = (1, 0, 0), B = (0, 1, 0) y C = (0, 0, 1). Halle la matriz de rotacin con respecto al eje que se encuentra sobre las arista AB, considerando que el sentido de rotacin es efectuada en la direccin de Z hacia el plano xy.
Solucin: El diseo del slido es como se muestra en la figura:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

Problemas
La matriz de transformacin estara dada por:

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

BIBLIOGRAFIA
Eduardo Azevedo y Aura Conci. Computao Grfica Foley J., Van Dame A., Feiner S., Hughes J., Phillips R. Computer Graphics: Principles and Practice. Addison Wesley Publishing Company, Massachusetts. 1996 Hoschek J., Lasser D. A.K. Peters Ltd. Fundamentals of Computer Aided Geometric Design. Wellesley Massachusetts. 1993 Hearn D., Baker M.P. Grficas por computadora. Prentice - Hall Hispanoamericana. 1998

John Ledgard Trujillo Trejo UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

PREGUNTAS?

Facultad de Ingeniera de Ingeniera de Sistemas Departamento de Ciencias de la Computacin

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

You might also like