2.1.3. Rotación. | Graficacion OpenGL C++

 La rotación es una transformación geométrica que se utiliza para girar un objeto alrededor de un punto de referencia en un ángulo específico. En OpenGL, la rotación se aplica mediante la matriz modelview.


La matriz modelview es una matriz 4x4 que se utiliza para transformar los objetos en OpenGL. Para aplicar una rotación, se debe actualizar la matriz modelview mediante la función `glRotatef(angle, x, y, z)`, donde `angle` es el ángulo de rotación en grados, y `x`, `y` y `z` son los componentes del vector que define el eje de rotación. Esta función rota la matriz modelview en el ángulo especificado y se aplica a cualquier objeto que se dibuje después de su llamado.


El siguiente ejemplo muestra cómo rotar un objeto 45 grados alrededor del eje Z utilizando la función `glRotatef()`:


```c++

glMatrixMode(GL_MODELVIEW); // Selecciona la matriz modelview

glLoadIdentity(); // Inicializa la matriz modelview

glRotatef(45.0f, 0.0f, 0.0f, 1.0f); // Rota el objeto 45 grados alrededor del eje Z

// Dibuja el objeto

```


En este ejemplo, primero se selecciona la matriz modelview mediante la función `glMatrixMode()`, y luego se inicializa la matriz a su estado predeterminado mediante `glLoadIdentity()`. Luego se aplica la rotación a la matriz modelview mediante `glRotatef()` con un ángulo de 45 grados alrededor del eje Z. Por último, se dibuja el objeto en su nueva orientación.


Es importante tener en cuenta que la rotación se aplica en relación al origen de coordenadas. Por lo tanto, si se desea rotar un objeto alrededor de su centro, es necesario trasladar el objeto a su posición deseada antes de aplicar la rotación.


En resumen, la rotación en OpenGL se logra mediante la matriz modelview y la función `glRotatef()`, que gira los objetos en el ángulo especificado alrededor del eje definido por el vector `x`, `y` y `z`. Esta transformación se aplica a cualquier objeto que se dibuje después de su llamado, lo que permite rotar y orientar objetos en la pantalla.

Comentarios