Gráficos por Computadora - ILAPEP - Inicioilapep.mx/g1/unidad2/transformaciones2d.pdfDe este modo,...
Transcript of Gráficos por Computadora - ILAPEP - Inicioilapep.mx/g1/unidad2/transformaciones2d.pdfDe este modo,...
Gráficos por
Computadora
Mtro. J. Fco. Jafet Pérez L.
Transformaciones Geométricas Bidimensionales
Objetivo
Analizaremos los procedimientos estándares
para realizar transformaciones geométricas
bidimensionales sobre objetos gráficos
inmersos en algún marco de referencia
específico (real o virtual).
Existen básicamente tres operaciones o
transformaciones geométricas básicas, a partir
de las cuales se pueden realizar todas las
demás. Estas transformaciones son la traslación,
el escalamiento y la rotación, todas respecto del
origen.
Traslación o Desplazamiento
La traslación o desplazamiento se refiere a
mover un punto, un conjunto de puntos o un
objeto compuesto, de su ubicación original
hacia una nueva ubicación en su marco de
referencia.
La operación tiene un parámetro: el vector de
desplazamiento.
Como podemos ver en la figura, el cuadro que representaremos de
manera abstracta como P ha sido trasladado en un valor de (3,-1)
(este es el parámetro de la operación).
En su nueva ubicación lo llamaremos P'.
Tomemos su esquina inferior izquierda como base: Su posición
original era (2,3) y la nueva es (5,2). El mismo desplazamiento ha
afectado a todos los demás puntos del cuadro.
Escalamiento
El escalamiento es la operación que nos permiteagrandar o empequeñecer un conjunto de puntos oun objeto compuesto. La operación requiere dedos parámetros: el factor de escalamiento aaplicar en x y el factor de escalamiento a aplicaren y. La operación requiere además, de un puntode referencia, típicamente el origen del marco dereferencia.
En el caso de aplicar escalamiento básico a unpunto, se produce el efecto de acercarlo o alejarlodel punto de referencia.
En la siguiente figura, se muestra un ejemplo de escalamiento.
Escalamos el cuadro representado por P tomando como
referencia al origen y con factores de escalamiento 1/3 en x, y
1/2 en y. El efecto, debido a que ambos factores son menores
que 1, es que todos los puntos del cuadro P se han acercado al
origen (pero más en x que en y).
Ejemplo 2
P (en la misma posición que en el ejemplo anterior) tomando
como referencia a su esquina inferior derecha y con factores de
escalamiento 1/2 en x, y 1/2 en y. (Este es un escalamiento compuesto
ya que para lograrlo, se requiere realizar dos operaciones, escalamiento y
traslación)
Rotación
La rotación es la más compleja de las operaciones otransformaciones geométricas básicas. Consiste en girarun punto, un conjunto de puntos o un cuerpocompuesto, al rededor de un punto de referencia (elcentro de rotación), típicamente el origen del marco dereferencia. Requiere como parámetro el ángulo derotación.
La rotación más simple es aquella que se realiza ensentido antihorario y utiliza como centro de rotación alorigen del marco de referencia.
En la siguiente figura, se ilustra la rotación de P, que está en las
coordenadas (6, 2). La rotación es de π/6 en sentido contrario al de
las agujas del reloj a partir del eje x+. El punto de referencia es el
origen del marco de referencia. Las coordenadas del punto inferior
izquierdo de P' son (4.1962; 4.7321).
Representación matricial.
Aunque existen diversas maneras de representar
las coordenadas de los objetos gráficos y de
representar las transformaciones geométricas
que operan sobre ellos, vamos a elegir la más
estándar y flexible.
Los puntos se representan como vectores
columna de tamaño 3 x 1:
La operación de traslación bidimensional se
representa como una matriz de 3 X 3:
La operación de escalamiento bidimensional
(con el origen como punto de referencia) se
representa similar:
La operación de rotación bidimensional
(respecto del origen, en el sentido opuesto al de
las manecillas del reloj) se representa así:
De este modo, para efectuar transformaciones geométricas
básicas, esas "funciones" en forma de matrices, deben
premultiplicarse por los puntos que se pretende transformar, así:
P' = T(dx, dy) . P significa que P' es P con un
desplazamiento de (dx, dy)
P' = S (sx, sy) . P significa que P' es P con factores de
escalamiento sx en x y sy en y tomando el origen como
referencia.
P' = R(θ) . P significa que P' es P con una rotación de θ
radianes en sentido opuesto al movimiento de las
manecillas del reloj, a partir del eje x+, tomando como
eje de rotación al origen del marco de referencia.
Ejercicio: Escale la siguiente figura en un factor
de 2,3. Traslade la figura resultante con un
vector de 1, -1. Por último rote la figura original
45 grados.
Escale la siguiente figura en un factor de 2,3.
P1 (2,2)
P2 (2,4)
P3 (4,4)
P4 (4,2)
Escale la siguiente figura en un factor de 2,3.
P1’ = 4 P2’= 4
6 12
1 1
P3’ = 8 P4’= 8
12 6
1 1
P1' = 4,6
P2' = 4,12
P3' = 8,12
P4' = 8,6
Traslade la figura resultante con un vector de 1, -1.
P5 = 4,6
P6 = 4,12
P7 = 8,12
P8 = 8,6
P5 = 4,6
P6 = 4,12
P7 = 8,12
P8 = 8,6
P5’ = 5 P6’= 5
5 11
1 1
P7’ = 9 P8’= 9
11 5
1 1
Por último rote la figura original 45 grados.
P1 (2,2)
P2 (2,4)
P3 (4,4)
P5(4,2)
P1’=
P2’ =
(0.7071)·2 + (-0.7071)·2 + 0·1 = (1.4142) + (-1.4142) + 0 = 0
(0.7071)·2 + (0.7071)·2 + 0·1 = (1.4142) + (1.4142) + 0 = 2.8284
0·2 + 0·2 + 1·1 = 0 + 0 + 1 = 1
(0.7071)·2 + (-0.7071)·4 + 0·1 = (1.4142) + (-2.8284) + 0 = -1.4142
(0.7071)·2 + (0.7071)·4 + 0·1 = (1.4142) + (2.8284) + 0 = 4.2426
0·2 + 0·4 + 1·1 = 0 + 0 + 1 = 1
P3’=
P4’ =
(0.7071)·4 + (-0.7071)·4 + 0·1 = (2.8284) + (-2.8284) + 0 = 0
(0.7071)·4 + (0.7071)·4 + 0·1 = (2.8284) + (2.8284) + 0 = 5.6568
0·4 + 0·4 + 1·1 = 0 + 0 + 1 = 1
(0.7071)·4 + (-0.7071)·2 + 0·1 = (2.8284) + (-1.4142) + 0 = 1.4142
(0.7071)·4 + (0.7071)·2 + 0·1 = (2.8284) + (1.4142) + 0 = 4.2426
0·4 + 0·2 + 1·1 = 0 + 0 + 1 = 1
Ejercicio: Diseñe la inicial de su nombre en un
plano cartesiano. Escale su figura al doble de
tamaño. Mueva la figura resultante dos
unidades a la derecha y dos hacia arriba. Rote
la figura resultante 30 grados antihorario
tomando como centro de rotación el origen.