2.2. Representación matricial de las transformaciones bidimensionales. | OpenGL C++

 En OpenGL, las transformaciones bidimensionales se representan mediante matrices de transformación de 3x3. Estas matrices se utilizan para realizar transformaciones de traslación, escalado, rotación y sesgado en objetos bidimensionales.


La matriz de transformación de 3x3 se representa como:


```

| a11  a12  tx |

| a21  a22  ty |

|  0    0   1 |

```


donde `a11` y `a22` representan los factores de escala en los ejes X e Y, `a12` y `a21` representan la inclinación o el sesgado, `tx` y `ty` representan la traslación en los ejes X e Y. La tercera fila siempre es `(0,0,1)`.


Para aplicar una transformación en OpenGL, se multiplica la matriz de transformación por el vector de coordenadas del objeto:


```

| x' |   | a11  a12  tx |   | x |

| y' | = | a21  a22  ty | * | y |

| 1  |   |  0    0   1 |   | 1 |

```


donde `(x,y)` son las coordenadas originales del objeto y `(x',y')` son las nuevas coordenadas transformadas.


Por ejemplo, para realizar una transformación de traslación en un objeto bidimensional, la matriz de transformación se define como:


```

| 1  0  tx |

| 0  1  ty |

| 0  0  1  |

```


y se multiplica por el vector de coordenadas `(x,y,1)`, donde `tx` y `ty` son las cantidades de traslación en los ejes X e Y, respectivamente.


En resumen, las transformaciones bidimensionales en OpenGL se representan mediante matrices de transformación de 3x3, que se utilizan para realizar transformaciones de traslación, escalado, rotación y sesgado en objetos bidimensionales. Estas matrices se multiplican por el vector de coordenadas del objeto para producir las nuevas coordenadas transformadas.

Comentarios