0% encontró este documento útil (0 votos)
45 vistas2 páginas

Transformaciones Geométricas en OpenGL

Cargado por

oliveri.r.fer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas2 páginas

Transformaciones Geométricas en OpenGL

Cargado por

oliveri.r.fer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Plan de actividades: Graficación Universidad CETEC

Dr. Carlos Manuel Lara Barrios

Unidad 2. Graficación en dos dimensiones

Practica 2: Estudiando las transformaciones geométricas en OpenGL.

En esta práctica, el estudiante analizará un código de programación simple en OpenGL donde podrá aplicar
transformaciones geométricas a una figura en una ventana de graficación.

Ejecute y modifique el siguiente código para comprender el efecto de cada transformación lineal:
traslación, rotación y escalado. Considere los comentarios incluidos en el código, marcados en negrita y
resaltados en color amarillo en este documento.

Tarea

Estudie cada transformación de forma individual y presente capturas de pantalla con sus resultados:

1. Dé un ángulo de rotación de 30° alrededor del eje Z, con una traslación de 0 en todos los ejes, y una
escala de 1 en 𝑋, 𝑌.
2. Dé un ángulo de rotación de 0° alrededor del eje Z, con una traslación de 100 en el eje X, y una
escala de 1 en 𝑋, 𝑌.
3. Dé un ángulo de rotación de 0° alrededor del eje Z, con una traslación de 10 en el eje X, y una escala
de 0.5 en 𝑋, 𝑌.
4. Dé un ángulo de rotación de 90° alrededor del eje Z, con una traslación de −50 en el eje Y, y una
escala de 2 en 𝑋 y de 1 en 𝑌.
5. Dé un ángulo de rotación de 130° alrededor del eje Z, con una traslación de 100 en el eje X, −40 en
el eje Y, y una escala de 0.5 en 𝑋, 𝑌.

Presente además sus conclusiones luego de estudiar el código y realizar las transformaciones solicitadas.
Plan de actividades: Graficación Universidad CETEC
Dr. Carlos Manuel Lara Barrios

#include <windows.h>
#include <ruta a su librería de glut.h>

float angle=45; // ángulo de rotación en grados


void myinit(void)
{
glClearColor(1.0,1.0,1.0,0.0); //fondo de pantalla color blanco
glMatrixMode(GL_PROJECTION);
gluOrtho2D (-600.0,600.0,-600.0,600.0); // tamaño de pantalla desde -600 hasta +600 tanto en X como en Y
}

void polySegment(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0); //color de la figura (R,G,B)
glTranslatef(0,0,0); // instrucción de traslación en punto flotante (coordenadaX, coordenadaY, coordenadaZ)
glScalef(1.0,1.0,0.0); //instrucción de escala en punto flotante (escala en X, escala en Y, escala en Z)
glRotatef(angle, 0.0, 0.0, 1.0); //instrucción de rotación en punto flotante (ángulo de rotación, alrededor del
eje X, alrededor del eje Y, alrededor del eje Z)
glBegin(GL_POLYGON);
int p1[]={50,100};
int p2[]={200,100};
int p3[]={200,300};
int p4[]={50,300};

glVertex2iv(p1);
glVertex2iv(p2);
glVertex2iv(p3);
glVertex2iv(p4);
glEnd();
glFlush();
}
int main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(0,0);
glutInitWindowSize(600,600);
glutCreateWindow("POLYGON");
myinit();
glutDisplayFunc(polySegment);
glutMainLoop();
}

También podría gustarte