Rotaciones 2D
La rotación de un objeto en 2D se lleva a cabo alrededor de
un punto, que es el eje puntual (cero-dimensional) de rotación. Las rotaciones
principales 2D son aquellas que se llevan a cabo alrededor del origen, las
rotaciones sobre cualquier otro punto arbitrario se llaman rotaciones
generales 2D. En
esta Sección 3.5
, se analizan
sólo las rotaciones principales para
todas las dimensiones,
en la Sección
3.6 se discuten las
rotaciones generales.
Para generar una rotación, se especifica el ángulo de
rotación 0, y el punto de rotación (pivote) sobre el cual el objeto será
rotado. Los ángulos de rotación positivos definen una rotación en sentido
contrario a las manecillas del reloj sobre el punto pivote (del eje X1 al eje
X2), entonces los ángulos de rotación negativos producen una rotación en el
sentido de las manecillas (del eje X2 al eje X1). [Hearn 95] describe la
rotación 2D como el giro sobre el eje de rotación que es perpendicular al plano
X1X2 (mejor conocido como plano XY) y que pasa a través del punto pivote.
Aplicando algunas propiedades trigonométricas:
x1 ' = r cos(Ø + 0 ) = r cosØ cos0 − r sin Ø sin0
x2 ' = r sin(Ø + 0 ) = r cosØ sin0 + r sin Ø cos 0
Substituyendo los
valores de x1 = r cos(Ø ) y x2 =
r sin(Ø ) se obtienen las ecuaciones para rotar un punto p = (x1, x2 ) alrededor del origen dado un
ángulo Ø:
x1 ' = x1 cos
0 − x2 sin 0
x2 '= x1 sin
0+ x2 cos0
muestra el efecto de rotación de una figura con 0 = 45°
Translación 2D
La
translación 2D implica el desplazamiento de un polígono, donde cada
punto p = (x1 , x2 ) es trasladado d1 unidades en el eje X1 y d2 unidades en el
eje X2, de esta forma, las coordenadas del nuevo punto p' = (x1 ', x2 ' ) , se
obtienen como:
x1 ' = x1 + d1
x2 ' = x2 + d 2
Sea
d = (d1 , d 2 ) el vector de distancias, y T(d) la matriz de
translación, en coordenadas homogéneas la translación de un punto p en 2D se
puede expresar como el producto matricial p' = p ⋅ T
(d ) , es decir:
La
Figura 3.3 muestra el efecto de translación de una figura con d1 = 1 y d2 =
2.
Escalamiento en 2D
El
escalamiento permite cambiar el tamaño de un objeto expandiéndolo o
contrayéndolo en sus dimensiones.
Sea
s = (s1, s2) el vector de factores de escalamiento, y S(s)
la matriz de escalamiento, en coordenadas homogéneas el escalamiento de un
punto p en 2D se puede expresar como el producto matricial p' = p ⋅ S
(s), es decir:
2.2. Coordenadas homogéneas y representación matricial
En las aplicaciones de diseño y de creación de imágenes,
realizamos traslaciones, rotaciones y escalaciones para ajustar los componentes
de la imagen en sus posiciones apropiadas. En este tema consideramos cómo se
pueden volver a formular las representaciones de la matriz de modo que se
pueden procesar de manera eficiente esas secuencias de transformación. Es
posible expresar cada una de las transformaciones básicas en la forma de matriz
general con las posiciones de coordenadas P y P’ representadas como columnas de
vector.2.15.P'=M1·P+M
No hay comentarios:
Publicar un comentario