La transformación bidimensional es un concepto esencial en el campo de la computación gráfica. Permite modificar la posición, escala, rotación y sesgo de objetos en un plano 2D. Estas transformaciones son la base para la creación de gráficos y animaciones, y se utilizan en una variedad de aplicaciones, desde videojuegos hasta diseño gráfico y visualización de datos. En este blog, exploraremos las fórmulas fundamentales para realizar transformaciones bidimensionales.


Traslación

La traslación implica mover un objeto en una dirección específica. Si tienes un punto (x, y) y deseas trasladarlo en (dx, dy), puedes usar la siguiente fórmula:

Nuevo punto: (x', y') = (x + dx, y + dy)

Esta fórmula simplemente suma las cantidades de desplazamiento (dx, dy) a las coordenadas originales (x, y) para obtener las nuevas coordenadas (x', y') del punto trasladado.

Una forma de efectuar la traslación de un objeto es aplicándole a cada punto del

mismo la ecuación. Para trasladar todos los puntos de una línea, simplemente

se traslada los puntos extremos. En la figura se muestra el efecto de trasladar un

objeto 3 unidades en x y -4 unidades en y.



Escalación

La escala se utiliza para cambiar el tamaño de un objeto. Si deseas escalar un punto en un factor de escala (sx, sy), la fórmula es:

Nuevo punto: (x', y') = (sx * x, sy * y)

Esta fórmula multiplica las coordenadas originales (x, y) por los factores de escala (sx, sy) para obtener las nuevas coordenadas (x', y') del punto escalado.

El escalamiento se efectúa con respecto al origen:





Rotación

La rotación gira un objeto alrededor de un punto de referencia. Para rotar un punto (x, y) en un ángulo θ alrededor del origen (0,0), puedes usar las siguientes fórmulas:

x' = x * cos(θ) - y * sin(θ)
y' = x * sin(θ) + y * cos(θ)

Estas fórmulas aplican la función trigonométrica coseno y seno para calcular las nuevas coordenadas (x', y') después de la rotación.

Para rotar alrededor de un punto diferente (h, k), primero traslada el punto al origen, luego rota y finalmente traslada de vuelta utilizando las fórmulas adecuadas.

En la figura se muestra la rotación de la casa 45°, con respecto al origen:



Sesgo

El sesgo deforma un objeto en una dirección específica. Para aplicar un sesgo horizontal a un punto (x, y) con un valor de b, la fórmula es:

Nuevo punto: (x', y') = (x + b * y, y)

Para un sesgo vertical con un valor a, la fórmula es:

Nuevo punto: (x', y') = (x, y + a * x)

El sesgo es útil para crear efectos de distorsión en objetos.




Estas fórmulas son la base de las transformaciones bidimensionales en computación gráfica. Para aplicar transformaciones más complejas, como una secuencia de traslación, rotación y escala, se pueden combinar y multiplicar matrices de transformación. Las transformaciones bidimensionales son esenciales para crear efectos visuales impactantes y representaciones gráficas precisas en una variedad de aplicaciones. Ya sea que estés diseñando un videojuego, creando arte digital o visualizando datos, comprender estas fórmulas es fundamental para el éxito en el mundo de la computación gráfica.