Rotación alrededor del origen - Universidad Autónoma de Tlaxcala

Report
UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
Gráficas en 2 Dimensiones
DRA. MARVA ANGELICA MORA LUMBRERAS
UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
Gráficas en 2 Dimensiones
3 OPERACIONES BÁSICAS EN GRAFICACION
Translación
 Escalamiento
 Rotación

Casita en 2D
3.5
3
2.5
X
0
Y
0
2
2
1
0
0
2
3
2
2
1.5
1
0.5
0
0
0.5
1
1.5
2
2.5
Translación
Mover un objeto de posición
X’=X+TX
Y’=Y+TY
Ejemplo de la casita (trabajar en excel)
3.5
3
2.5
T(TX,TY)=(3,-1)
2
1.5
1
0.5
0
0
0.5
1
1.5
2
2.5
Translación
3.5
3
2.5
2
1.5
1
0.5
0
0
-0.5
-1
-1.5
2
4
6
Escalamiento
Translación
Escalar un objeto
X’=X*SX
Y’=Y*SY
Escalar la casita
3.5
3
2.5
2
1.5
1
0.5
0
0
X
0
2
2
Y
0
0
2
1
0
0
3
2
0
0.5
1
1.5
2
T(X*SX,Y*SY)
=(4,4)
2.5
Escalamiento
16
14
12
10
8
6
4
2
0
0
5
10
15
REGLAS DE ESCALAMIENTO
Si SX>1 La imagen crece horizontalmente
 Si SX=1 La imagen se conserva
 Si 0<SX<1 La imagen se contrae
 Si SX=0 La imagen se colapsa en el eje Y

REGLAS DE ESCALAMIENTO

Si -1<SX<0 La imagen se refleja y se
contrae

Si SX=-1 La imagen se refleja
horizontalmente
Si SX<-1 La imagen se refleja y crece
 SX=SY Escalamiento Uniforme

Escalamiento alrededor de un punto fijo
Escalamiento alrededor de un punto fijo

Llevar el punto fijo al origen

Escalar

Regresar el punto fijo a su posición
Paso 1
X’=X-XF
Y’=Y-YF
Paso 2
X’’=(X-XF)SX
Y’’=(Y-YF)SY
Paso 3
X’’’=(X-XF)SX+XF
Y’’’=(Y-YF)SY+YF
Paso 3
X’’’=XSX-XFSX+XF
Y’’’=YSY-YFSY+YF
Paso 3
X’’’=XSX+(1-SX)XF
Y’’’=YSY+(1-SY)YF
Ejemplo
7
6
5
4
3
2
1
0
0
2
4
6
8
Rotación alrededor del origen
r=
r’=r
O’=O+
Rotación alrededor del origen
P es un punto a rotar alrededor del origen
por un ángulo α.
 P’ es el punto resultante después de la
rotación.
 La rotación puede expresarse usando
coordenadas polares: P’ = <r, θ+α>.

Rotación alrededor del origen

Es posible convertir el punto P’ = <r,
θ+α> a coordenadas rectangulares (x’, y’)
Rotación alrededor del origen

Desarrollando el seno y el coseno de la
suma de esos dos ángulos:
Rotación alrededor del origen

Y notando que
◦ x = r ⋅ cos(θ )
◦ x = r ⋅ sin(θ )
son las coordenadas rectangulares del punto
original P, obtenemos las ecuaciones finales de la
rotación como:
Rotación alrededor del origen

La matriz R(α ) asociada a la rotación por α
está dada por
Rotación alrededor del origen
La rotación del punto P alrededor del
origen por un ángulo α produciendo un
punto P’, se puede expresar en coordenadas
homogéneas como el producto matricial
Rotación Inversa

R(α ) representa a la matriz de rotación (la
dirección del giro es hacia la izquierda)

Si se cambia el signo en el ángulo de
rotación de α a -α, la dirección de giro en
R(−α ) será hacia la derecha, entonces la
matriz se puede escribir como:
Rotación Inversa
Entonces, la rotación del punto P alrededor
del origen por un ángulo α
 produciendo un punto P’, se puede
expresar en coordenadas homogéneas como
el
 producto matricial P'= P⋅ R(α ) , de la
siguiente manera

UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
ROTACION EN UN PUNTO FIJO
-Transladar al origen
-Rotar
-Regresar a posición inicial
Rotación (punto fijo)

Las rotaciones generales 2D por un ángulo
α son alrededor de un punto fijo (pf )
Rotación (punto fijo)

Tres etapas:
◦ Primero se debe llevar el punto fijo al origen
pf T(− pf )
◦ Después se realiza la rotación por un ángulo
α alrededor del origen R(α )
◦ Finalmente se debe regresar el punto fijo del
origen a su posición inicial T( pf )
Rotación (punto fijo)

Representación Matricial
UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
-5,-3
5,3
UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
7
6
5
4
3
2
1
0
-2
-1
-2
-3
0
2
4
6
8
UNIVERSIDAD AUTÓNOMA DE TLAXCALA
Departamento de Ingeniería y Tecnología
Ingeniería en Computación
7
6
6
5
6
4
4
5
2
3
4
2
3
2
-10
-5
-1 0
-2
0
2
4
6
-2
5
10
-4
-2
0
-1
-4
0
1
-5
0
1
0
5
10
-3
-4
-2
-6
-8
-5
-3
90 grados
180 grados
270 grados
8
Macro
Sub Rotar()
For k = 1 To
Range("B21").Value
Calculate
Next
End Sub

similar documents