Rotación alrededor del origen - Universidad Autónoma de Tlaxcala
Download
Report
Transcript Rotación alrededor del origen - Universidad Autónoma de Tlaxcala
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