Download - Transformaciones Geometric As 2D Graficacion
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
1/31
TRANSFORMACIONES
GEOMTRICASEN 2D
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
2/31
Introduccin a las transformaciones
2D Un Sistema grfico debera permitir la definicin de
objetos o imgenes que incluyan una serie de
transformaciones. Estas transformaciones son el medio para construiro modificar imgenes u objetos.
Una rotacin, traslacin y escalamiento entre otras,
son tales transformaciones. Cada transformacin utiliza un punto (x, y) paragenerar un nuevo punto (x, y).
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
3/31
Transformaciones en dos
dimensionesLos objetos se definen mediante un conjunto de
puntos. Las transformaciones son procedimientos para
calcular nuevas posiciones de estos puntos, cambiadoel tamao y orientacin del objeto.
Las operaciones bsicas de transformacin son
Traslacin Escalamiento
Rotacin.
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
4/31
TraslacinLas coordenadas (x,y) de un objeto se transforman a (x',y')de acuerdo a las frmulas:
x x T y y Tx y' , '! !
El par (Tx, Ty) se conoce como vector de traslacin.
y
x
y
x
(a)(b)
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
5/31
Escalamiento
El escalamiento modifica el tamao de un polgono. Paraobtener este efecto, se multiplica cada par coordenado (x,y)
por un factor de escala en la direccin x y en la direccinypara obtener el par (x',y').
Las frmulas son x x S y y S
x y! ! y
x
y
x
(a)(b)
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
6/31
Escalamiento respecto a un punto
fijoSe puede llevar a cabo un escalamiento respecto a un puntofijo trasladando primero ese punto al origen, despusescalando y luego regresando el objeto a la posicin original.
Las ecuaciones son x x x x S y y y y S
x y' , '! ! F F F F
y
x
y
x
(a)(b)
(x ,y )F F
F
F
1'
1'ySSyy
xSSxx
yy
xx
!!
Reacomodando
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
7/31
Rotacin
La rotacin gira los puntos de una figura alrededor de un puntofijo. De la figura se obtiene
y
x
r
r(x, y)
(x', y')
J
U
x r r r
y r r r
' cos cos cos sen sen
' sen sen cos cos sen
! !
! !
J U J U J U
J U J U J U
x x y
y y x
' cos sen
' cos sen
!
!
U U
U U
Simplificando
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
8/31
Rotacin respecto a un punto
arbitrarioLa rotacin respecto a un punto arbitrario es
x x x x y y
y y y y x x
' cos sen
' cos sen
!
!
R R R
R R R
U U
U U
y
x
(x , y )R R
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
9/31
Coordenadas homogneasPara poder representar las tres transformaciones en formamatricial como producto de matrices, es necesario representarlos puntos en coordenadas homogneas.
Estas coordenadas agregan una tercer componente a lascoordenadas bidimensionales. De tal forma que, un punto (x,y)
pasa a ser (x,y, W). El punto en coordenadas Cartesianasrepresentado por esta trada es el (x/W,y/W). El valor de Wesgeneralmente 1.
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
10/31
Representacin matricial de
traslacionesHaciendo uso de coordenadas homogneas la traslacin puederepresentarse como:
? A ? Ax y x y
T Tx y
' ' 1 1
1 0 0
0 1 0
1
!
-
En forma abreviada la transformacin se representar porT(Tx, Ty)
T T TT T
x y
x y
, !
-
1 0 0
0 1 0
1
P P T T Tx y' ,!
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
11/31
Haciendo uso de coordenadas homogneas el escalamientopuede representarse como:
En forma abreviada la transformacin se representar porS(Sx, Sy)
? A ? Ax y x y
S
S
x
y' ' 1 1
0 0
0 0
0 0 1
!
-
P P S S Sx y' ,! S S SS
Sx y
x
y, !
-
0 0
0 0
0 0 1
Representacin matricial de
escalamientos
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
12/31
Representacin matricial de
rotacionesHaciendo uso de coordenadas homogneas la rotacin puederepresentarse como:
En forma abreviada la transformacin se representar porR(U)
? A ? Ax y x y' '
cos sen
sen cos1 1
0
0
0 0 1
!
-
U U
U U
P P R' ! U R UU UU U!
-
cos sensen cos
0
0
0 0 1
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
13/31
Composicin detransformaciones
Para aplicar varias transformaciones a un conjunto de puntosbasta con combinar las matrices de transformacin en una sola,mediante multiplicacin matricial. En caso de tener solotransformaciones del mismo tipo, la combinacin sigue reglas
muy simples. T T T T T T T T T T T x y x y x x y y1 1 2 2 1 2 1 2, , , ! Traslacin:
Escalamiento:
Rotacin:
S S S S S S S S S S S
xy
xy
x xy
x1 1 2 2 1 2 1 2, , , !
R R RU U U U1 2 1 2 !
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
14/31
Escalamiento respecto a un punto
fijo en forma matricialPara llevar a cabo un escalamiento respecto a un punto fijo, seprocede multiplicando una matriz de traslacin para llevar elpunto fijo al origen por una de escalamiento y posteriormentepor otra de traslacin para llevar al punto fijo a su posicinoriginal.
1 0 0
0 1 0
1
0 0
0 0
0 0 1
1 0 0
0 1 0
1
0 0
0 0
1 1 1
-
-
-
!
-
x y
S
S
x y
S
S
S x S y
x
y
x
y
x y
F F F F
F F
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
15/31
(a)
(x ,y )F F
Objeto original y punto fijo
(b)Traslada de manera que el
punto fijo quede en el origen
(c)Escala el objeto respecto al origen
(d)
(x ,y )F F
Traslada de manera que elpunto fijo quede en la posicinoriginal
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
16/31
Rotacin respecto a un punto fijo
en forma matricialPara llevar a cabo una rotacin respecto a un punto fijo, se
procede multiplicando una matriz de traslacin para llevar elpunto fijo al origen por una de rotacin y posteriormente porotra de traslacin para llevar al punto fijo a su posicin original.
-
!
-
-
-
1cos1cos1
0cos
0cos1
010
001
100
0cos
0cos
1
010
001
RRRR
RRRR
UUUU
UU
UU
UU
UU
senxysenyx
sen
sen
yx
sen
sen
yx
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
17/31
(a)
(x ,y )R R
Ob eto original y punto i o
(b)Traslada de manera que el
punto i o quede en el origen
(c)Rota el ob eto respecto al origen
(d)
(x ,y )R R
Traslada de manera que elpunto i o quede en la posicinoriginal
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
18/31
Forma general
En general una transformacin que utilice traslaciones,escalamientos y rotaciones tendr la forma:
? A ? Ax y x y
a d
b e
c f
' ' 1 1
0
0
1
!
-
Por tanto, el clculo de las coordenadas transformadas sepodr hacer con las siguientes ecuaciones
feydxy
cbyaxx
!
!
'
'
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
19/31
Otras transformaciones
Otras transformaciones que permiten llevar
a cabo operaciones muy tiles, estas son: Reflexiones
Corte.
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
20/31
Reflexiones en x yyLas reflexiones respecto al eje x yy se obtienen con las matricessiguientes:
1 0 0
0 1 0
0 0 1
-
-
1 0 0
0 1 0
0 0 1
(a) (b)
osicin original
osicin re le ada
osicin re le adaosicin original
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
21/31
Reflexin respecto al origen
-
1 0 0
0 1 0
0 0 1
(a)
osicin original
osicin refle ada
La reflexin respecto al origense obtiene con :
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
22/31
Reflexin respecto a la rectay = xUna reflexin respecto a la rectay = x, puede obtenerse en tres
pasos: girar un ngulo de 45 en el sentido de las manecillas delreloj, una reflexin respecto al eje x, y una rotacin de 45 gradosen contra del sentido del reloj.
osicin original
(a) Rotacin de -45 grados (b) Reflexin respecto a x. (a) Rotacin de 45 grados
osicin original
osicin reflejada
0 1 0
1 0 0
0 0 1
-
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
23/31
Corte en x
El corte produce una deformacin similar al deslizamiento deuna capa sobre otra. El corte en x se produce por la matriz:
1 0 0
1 0
0 0 1
SHx
-
(a) (b)
(1,1)(2,1) (3,1)
(1,0)
(0,1)
(0,0) (0,0) (1,0)x x
y y
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
24/31
Corte enyEl corte eny se produce por la matriz
1 0
0 1 0
0 0 1
SHy
-
(a) (b)
(1,1)
(1,2)
(1,3)
(1,0)
(0,1)
(0,0) (0,0)
(0,1)
x x
y y
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
25/31
Transformaciones Ventana-
Puerto de visinLas transformaciones ventana-puerto de visin, mapean puntosen el mundo real a puntos en la pantalla.
Coordenadas mundiales Coordenadas de pantalla
VentanaPuerto de visin 1
Puerto de visin 2
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
26/31
Transformaciones de visin
Ventana en coordenadas mundiales
(xmin,ymin)
(xmax,ymax)
Ventana trasladada al origen
Ventana escalada al tamao
del rea de visin.
Traslacin hasta la posicin final.
(umin, vmin)
(umax,vmax)
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
27/31
Transformaciones de visin
(continuacin)
minminminmax
minmax
minmax
minmaxminmin ,,, vuT
yy
vv
xx
uuSyxTMWV
!
-
-
-
!
1010
001
100
00
00
1010
001
minminminmax
minmax
minmax
minmax
minmin vuyy
vv
xx
uu
yx
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
28/31
Transformaciones de visin
(continuacin)
-
!
1
00
00
minminmax
minmax
minminminmax
minmax
min
minmax
minmax
minmax
minmax
vyy
vv
yuxx
uux
yy
vv
xx
uu
MW
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
29/31
Ejemplo
Las transformaciones complejas deben serdescritas como composicin de una mssimples. Suponga que queremos derivar unatransformacin que rote un punto en el sentido
de las manecillas del reloj, un ngulo conrespecto al punto (Rx, Ry).
Primero debemos trasladar el punto para que
(Rx, Ry) se convierta en el origen, esto es:
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
30/31
[x, y , 1] = [x, y , 1] 1 0 00 1 0-Rx Ry 1
[x, y , 1] = [x, y , 1]cos -sen 0sen cos 0
0 0 1
Posteriormente se aplica la rotacin.
Finalmente, trasladamos el punto para que el origen sea trasladado
(Rx, Ry).[x, y , 1] = [x, y , 1] 1 0 0
0 1 0Rx Ry 1
-
8/8/2019 Transformaciones Geometric As 2D Graficacion
31/31
Esto se podra haber realizado mediante una composicin detransformaciones.
[x, y , 1] =
= [ x, y , 1] 1 0 00
1
0
-Rx Ry 1
cos -sen 0sen cos 0
0 0 1
1 0 00 1 0Rx Ry 1
Si los valores de Rx, Ry y se conocen, las tres matrices se
pueden multiplicar para obtener una sola matriz de transformacin.Ejercicio: Obtener la matriz de transformacin final.