Você está na página 1de 17

Graficacin

III. Transformaciones
Transformaciones 2D
Con frecuencia, a partir de figuras, se requiere
presentarlas, realizando transformaciones en
ellas.
Las transformaciones permiten el redibujado de
formas sin tener que calcular individualmente
los valores para su representacin
Las transformaciones bsicas son:
Traslacin
Rotacin
Escalamiento
Traslacin
Se efecta la traslacin de un objeto para
cambiar su posicin a lo largo de una lnea
recta
Un punto bidimensional se convierte al agregar
las distancias de traslacin t
x
y t
y
a la posicin
de coordenadas original (x, y)
x = x + t
x
y = y + t
y
El par (t
x
, t
y
) es conocido como vector de
traslacin
Traslacin
Se puede expresar como ecuacin
matricial
x = x + t
x
y = y + t
y



P = P + T

P =
x
y



(

(

P' =
x'
y'



(

(

T =
t
x
t
y



(

(
Rotacin
Se aplica la transformacin de rotacin
bidimensional cuando se cambia la posicin de
un objeto a lo largo de una trayectoria de una
circunferencia en el plano xy
Se especifica el ngulo de rotacin u y la posicin
(x
r
,y
r
) del punto de rotacin (pivote)
En su aplicacin ms simple y directa, el pivote
es el origen
Rotacin
x = x cos u - y sen u
y = x sen u + y cos u



P = R P

R =
cosu senu
senu cosu



(

(
Escalamiento
La transformacin de escalamiento altera el
tamao de un objeto
Se multiplican los valores de coordenadas por los
factores de escalacin s
x
y s
y



P = S P
El escalamiento se hace con respecto al origen

x'
y'



(

(
=
s
x
0
0 s
y



(

(
-
x
y



(

(
Representaciones de matriz y
coordenadas homogneas
Cada transformacin puede ser expresada as:
P = M
1
P + M
2

donde
M
1
es una matriz 2x2 con factores de
multiplicacin (escala o rotacin)
M
2
es una matriz de 2 elementos con elementos
de aditivos (traslacin)
Para la traslacin, M
1
es matriz identidad
Para rotacin o escalamiento, M
2
puede contener
coordenadas de pivote (rotacin) o centro de
escalamiento
Representaciones de matriz y
coordenadas homogneas
Si se van a efectuar varias transformaciones, se deben
efectuar por pasos, aunque algunas transformaciones
se pueden agrupar
Para expresar cualquier transformacion bidimensional
como multiplicacin de matrices, cada posicin de
coordenadas cartesianas (x,y) se expresa con tres
coordenadas homogneas (x
h
,y
h
,h), donde



Para transformaciones bidimensionales, se puede utilizar
h=1 (cualquier nmero diferente de cero est bien)

x =
x
h
h

y =
y
h
h
Coordenadas homogneas
La expresin de posiciones en coordenadas
homogneas permiten representar todas las
ecuaciones de transformacin geomtrica
como multiplicacin de matrices
Coordenadas homogneas:
transformaciones
Traslacin
P=T(t
x
,t
y
)P

Rotacin
P=R(u)P

Escalamiento
P=S(s
x
,s
y
)P

x'
y'
1





(

(
(
(
=
1 0 t
x
0 1 t
y
0 0 1





(

(
(
(
-
x
y
1





(

(
(
(

x'
y'
1





(

(
(
(
=
cosu senu 0
senu cosu 0
0 0 1





(

(
(
(
-
x
y
1





(

(
(
(

x'
y'
1





(

(
(
(
=
s
x
0 0
0 s
y
0
0 0 1





(

(
(
(
-
x
y
1





(

(
(
(
Coordenadas homogneas:
transformaciones compuestas
Traslacin

Rotacin


Escalamiento

1 0 t
x1
0 1 t
y1
0 0 1





(

(
(
(
-
1 0 t
x2
0 1 t
y2
0 0 1





(

(
(
(
=
1 0 t
x1
+ t
x2
0 1 t
y1
+ t
y2
0 0 1





(

(
(
(

cosu
1
senu
1
0
senu
1
cosu
1
0
0 0 1





(

(
(
(
-
cosu
2
senu
2
0
senu
2
cosu
2
0
0 0 1





(

(
(
(
=
cos(u
1
+u
2
) sen(u
1
+u
2
) 0
sen(u
1
+u
2
) cos(u
1
+u
2
) 0
0 0 1





(

(
(
(

s
x1
0 0
0 s
y1
0
0 0 1





(

(
(
(
-
s
x2
0 0
0 s
y2
0
0 0 1





(

(
(
(
=
s
x1
s
x2
0 0
0 s
y1
s
y2
0
0 0 1





(

(
(
(
Rotacin del punto pivote general
Si slo contamos con rotacin centrada
en el origen, y queremos efectuar una
rotacin con respecto a otro punto:
Trasladar el objeto de modo que el pivote se
ubique en el origen
Rotar
Trasladar el objeto de vuelta
Rotacin del punto pivote
general

1 0 x
r
0 1 y
r
0 0 1





(

(
(
(
-
cosu senu 0
senu cosu 0
0 0 1





(

(
(
(
-
1 0 x
r
0 1 y
r
0 0 1





(

(
(
(
Traslacin, rotacin, traslacin







T(x
r
, y
r
) R(u) T(-x
r
, -y
r
) = R(x
r
, y
r
, u)

=
cosu senu x
r
(1cosu) + y
r
senu
senu cosu y
r
(1cosu) x
r
senu
0 0 1





(

(
(
(
Transformaciones 3D
Son una extensin a las transformadas 2D
Se agrega un rengln y una columna a la
representacin homognea
Traslacin 3D
Llevar de P=(x,y,z) a P=(x, y, z)
P=TP

x'
y'
z'
1






(

(
(
(
(
=
1 0 0 t
x
0 1 0 t
y
0 0 1 t
z
0 0 0 1






(

(
(
(
(
-
x
y
z
1






(

(
(
(
(
Rotacin 3D
Con respecto al eje z
Eje x

x'
y'
z'
1






(

(
(
(
(
=
cosu senu 0 0
senu cosu 0 0
0 0 1 0
0 0 0 1






(

(
(
(
(
-
x
y
z
1






(

(
(
(
(

x'
y'
z'
1






(

(
(
(
(
=
1 0 0 0
0 cosu senu 0
0 senu cosu 0
0 0 0 1






(

(
(
(
(
-
x
y
z
1






(

(
(
(
(

x'
y'
z'
1






(

(
(
(
(
=
cosu 0 senu 0
0 1 0 0
senu 0 cosu 0
0 0 0 1






(

(
(
(
(
-
x
y
z
1






(

(
(
(
(

Você também pode gostar