manual open gl
TRANSCRIPT
![Page 1: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/1.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 1
UTILIZACION DE SOFTWARE DE
DISEÑO
MANUAL DE OPEN GL
PROFESOR: RENE DOMINGUEZ ESCALONA
ALUMNOS: EDUARDO TAPIA HERNANDEZ Y
CESAR RAFAEL ESCOBAR SANCHEZ
GRUPO: 303
TURNO: MATUTINO
ESPECIALIDAD: INFORMATICA
![Page 2: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/2.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 2
INTRODUCCION: En este manual podremos dibujar en Open GL
atravez de códigos en los cuales se apreciaran
desde los más sencillos como hacer formas
geométricas tales como el rectángulo, triangulo,
circulo, cuadrado etc. Hasta los más complicados
como hacer figuras en 3D con movimiento
Este manual será de gran ayuda para aquellos que
cursen la materia de informática ya que viene
mucha información acerca de este programa de
Open GL.
![Page 3: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/3.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 3
Tablero de ajedrez
En esta práctica tenemos que hacer un tablero de
ajedrez en el programa de Open GL Dev c++ no
olvidemos que cada tablero de ajedrez tiene 8
cuadrados x 8 cuadrados así que tenemos que ser
muy precisos con nuestras coordenadas y poner
un cuadrado de color negro y uno de color blanco
tal y como es un ajedrez real.
Borrador con coordenadas utilizadas:
glBegin(GL_POINTS)
glPointSize();
Código:
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
![Page 4: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/4.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 4
glClearColor(0.0,0.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1050.0, 0.0, 1000.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(60);
glBegin(GL_POINTS);
glVertex2i(100,100);
glVertex2i(347,100);
glVertex2i(597,100);
glVertex2i(848,100);
glVertex2i(220,220);
glVertex2i(473,220);
glVertex2i(723,220);
glVertex2i(970,220);
glVertex2i(100,340);
glVertex2i(347,340);
glVertex2i(597,340);
glVertex2i(848,340);
glVertex2i(220,460);
glVertex2i(473,460);
![Page 5: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/5.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 5
glVertex2i(723,460);
glVertex2i(970,460);
glVertex2i(100,580);
glVertex2i(347,580);
glVertex2i(597,580);
glVertex2i(848,580);
glVertex2i(220,700);
glVertex2i(473,700);
glVertex2i(723,700);
glVertex2i(970,700);
glVertex2i(100,820);
glVertex2i(347,820);
glVertex2i(597,820);
glVertex2i(848,820);
glEnd();
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(60);
glBegin(GL_POINTS);
glVertex2i(220,100);
glVertex2i(473,100);
glVertex2i(723,100);
glVertex2i(970,100);
glVertex2i(100,220);
glVertex2i(347,220);
glVertex2i(597,220);
glVertex2i(848,220);
![Page 6: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/6.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 6
glVertex2i(220,340);
glVertex2i(473,340);
glVertex2i(723,340);
glVertex2i(970,340);
glVertex2i(100,460);
glVertex2i(347,460);
glVertex2i(597,460);
glVertex2i(848,460);
glVertex2i(220,580);
glVertex2i(473,580);
glVertex2i(723,580);
glVertex2i(970,580);
glVertex2i(100,700);
glVertex2i(347,700);
glVertex2i(597,700);
glVertex2i(848,700);
glVertex2i(220,820);
glVertex2i(473,820);
glVertex2i(723,820);
glVertex2i(970,820);
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
![Page 7: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/7.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 7
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 8: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/8.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 8
Estrella
En esta nueva práctica tenemos que hacer una
estrella de 5 picos utilizando la instrucción ya
antes mencionada gl lines.
Borrador con coordenadas utilizadas:
glBegin(Gl _LINES);
Código:
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,0.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
![Page 9: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/9.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 9
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glBegin(GL_LINES);
glVertex2i(400,700);
glVertex2i(700,100);
glVertex2i(700,100);
glVertex2i(100,500);
glVertex2i(100,500);
glVertex2i(800,500);
glVertex2i(800,500);
glVertex2i(200,100);
glVertex2i(200,100);
glVertex2i(400,700);
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
![Page 10: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/10.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 10
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 11: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/11.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 11
Cubo con líneas
En esta ocasión realizaremos un cubo como en
efecto 3D utilizando la misma función de la
actividad pasada.
Borrador con coordenadas utilizadas:
glBegin(GL_LINES)
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,0.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
![Page 12: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/12.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 12
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glBegin(GL_LINES);
glVertex2i(200,300);
glVertex2i(400,300);
glVertex2i(200,300);
glVertex2i(200,500);
glVertex2i(400,300);
glVertex2i(400,500);
glVertex2i(400,500);
glVertex2i(200,500);
glVertex2i(200,300);
glVertex2i(300,400);
glVertex2i(400,300);
glVertex2i(500,400);
glVertex2i(300,400);
glVertex2i(500,400);
glVertex2i(500,400);
glVertex2i(500,600);
glVertex2i(500,600);
glVertex2i(300,600);
glVertex2i(300,600);
![Page 13: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/13.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 13
glVertex2i(300,400);
glVertex2i(300,600);
glVertex2i(200,500);
glVertex2i(400,500);
glVertex2i(500,600);
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
inicializa();
![Page 14: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/14.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 14
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 15: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/15.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 15
Pirámide
En esta nueva practica tenemos que hacer una
pirámide que se vea como si alguien la estuviera
viendo desde arriba pueden ser varios cuadrados
del más grande al más chico o al contrario pero
tienen que ser 10 cuadrados.
Borrador con coordenadas utilizadas:
glBegin(GL_LINES);
for(i=1;i<=11;i++)
Código
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,0.0,0.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
}
![Page 16: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/16.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 16
void dibuja(void) //funcion dibuja
{
int i,a=25;
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(1.0 , 1.0 , 1.0);
glLineWidth(2);
glBegin(GL_LINES);
//valor inicial ---- valor final o condicion ---- incremento
for(i=1;i<=11;i++){
//abajo
glVertex2i (250-a*i,250-a*i);
glVertex2i (270+a*i,250-a*i);
//derecha
glVertex2i (270+a*i,250-a*i);
glVertex2i (270+a*i,270+a*i);
//izquierda
glVertex2i (250-a*i,250-a*i);
glVertex2i (250-a*i,270+a*i);
//arriba
glVertex2i (250-a*i,270+a*i);
glVertex2i (270+a*i,270+a*i);
}
glEnd();
glFlush(); //forza dibujo
}
![Page 17: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/17.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 17
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(400,400); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("Cuadros"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 18: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/18.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 18
Cubo delineado
Esta vez haremos un cubo como ya lo habíamos
hecho antes pero esta vez cada una de sus caras
tendrá que ir de un color deferente y el grosor de
las líneas tendrá que cambiar.
Borrador con coordenadas utilizadas
glBegin(GL_QUADS);
glLineWidth();
glBegin(GL_LINES);
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(0.0,1.0,0.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
![Page 19: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/19.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 19
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glBegin(GL_QUADS);
glColor3f(1.0 , 0.0 , 0.0);
glVertex2i(200,300);
glVertex2i(400,300);
glVertex2i(400,500);
glVertex2i(200,500);
glColor3f(0.0 , 0.0 , 1.0);
glVertex2i(400,300);
glVertex2i(500,400);
glVertex2i(500,600);
glVertex2i(400,500);
glColor3f(0.0 , 1.0 , 1.0);
glVertex2i(400,500);
glVertex2i(500,600);
glVertex2i(300,600);
glVertex2i(200,500);
glEnd();
glColor3f(0.0 , 0.0 , 0.0);
glLineWidth(6);
![Page 20: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/20.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 20
glBegin(GL_LINES);
glVertex2i(200,300);
glVertex2i(400,300);
glVertex2i(200,300);
glVertex2i(200,500);
glVertex2i(400,300);
glVertex2i(400,500);
glVertex2i(400,500);
glVertex2i(200,500);
glVertex2i(200,300);
glVertex2i(300,400);
glVertex2i(400,300);
glVertex2i(500,400);
glVertex2i(300,400);
glVertex2i(500,400);
glVertex2i(500,400);
glVertex2i(500,600);
glVertex2i(500,600);
glVertex2i(300,600);
glVertex2i(300,600);
glVertex2i(300,400);
glVertex2i(300,600);
glVertex2i(200,500);
glVertex2i(400,500);
glVertex2i(500,600);
![Page 21: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/21.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 21
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 22: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/22.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 22
Muñeco con triángulos
Esta vez haremos un muñeco en forma de
humano pero de puros triángulos utilizaremos una
nueva instrucción.
Borrador con coordenadas utilizadas:
glBegin(GL_TRIANGLES);
glBegin(GL_LINES);
glBegin(GL_QUADS);
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(0.0,0.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
![Page 23: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/23.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 23
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 1.0 , 0.0);
glBegin(GL_QUADS);
glVertex2i(360,700);
glVertex2i(360,370);
glVertex2i(630,370);
glVertex2i(630,700);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_TRIANGLES);
glVertex2i(470,700);
glVertex2i(500,650);
glVertex2i(530,700);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_TRIANGLES);
glVertex2i(400,900);
glVertex2i(500,700);
glVertex2i(600,900);
glEnd();
glColor3f(1.0 , 0.0 , 0.0);
glBegin(GL_TRIANGLES);
![Page 24: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/24.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 24
glVertex2i(310,900);
glVertex2i(500,990);
glVertex2i(690,900);
glEnd();
glColor3f(0.0 , 1.0 , 0.0);
glBegin(GL_QUADS);
glVertex2i(0,100);
glVertex2i(0,0);
glVertex2i(1000,0);
glVertex2i(1000,100);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_TRIANGLES);
glVertex2i(450,50);
glColor3f(1.0 ,1.0 ,1.0);
glVertex2i(450,370);
glVertex2i(380,300);
glEnd();
glColor3f(1.0 , 0.0 , 1.0);
glBegin(GL_TRIANGLES);
glVertex2i(450,50);
glVertex2i(370,110);
glVertex2i(290,50);
glEnd();
glColor3f(0.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
![Page 25: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/25.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 25
glVertex2i(360,700);
glColor3f(1.0 ,1.0 ,0.0);
glVertex2i(200,540);
glVertex2i(250,450);
glEnd();
glColor3f(0.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
glVertex2i(630,700);
glColor3f(1.0 ,1.0 ,0.0);
glVertex2i(800,530);
glVertex2i(750,440);
glEnd();
glColor3f(1.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
glVertex2i(190,600);
glVertex2i(200,540);
glVertex2i(130,500);
glEnd();
glColor3f(1.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
glVertex2i(820,600);
glVertex2i(800,530);
glVertex2i(860,470);
glEnd();
glColor3f(1.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
![Page 26: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/26.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 26
glVertex2i(710,270);
glColor3f(1.0 ,1.0 ,1.0);
glVertex2i(540,370);
glVertex2i(540,270);
glEnd();
glColor3f(1.0 ,1.0 ,0.0);
glBegin(GL_TRIANGLES);
glVertex2i(680,130);
glVertex2i(710,270);
glVertex2i(650,210);
glEnd();
glColor3f(1.0 ,0.0 ,1.0);
glBegin(GL_TRIANGLES);
glVertex2i(680,130);
glVertex2i(760,190);
glVertex2i(840,130);
glEnd();
glColor3f(0.0 ,0.0 ,0.0);
glBegin(GL_POLYGON);
glVertex2i(720,130);
glVertex2i(780,130);
glVertex2i(840,80);
glVertex2i(840,40);
glVertex2i(780,0);
glVertex2i(720,0);
glVertex2i(660,40);
![Page 27: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/27.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 27
glVertex2i(660,80);
glEnd();
glColor3f(0.0 ,1.0 ,1.0);
glBegin(GL_TRIANGLES);
glVertex2i(770,730);
glVertex2i(890,400);
glVertex2i(910,750);
glEnd();
glColor3f(0.0 ,1.0 ,1.0);
glBegin(GL_TRIANGLES);
glVertex2i(840,350);
glVertex2i(890,400);
glVertex2i(950,370);
glEnd();
glColor3f(0.0 ,0.0 ,0.0);
glBegin(GL_LINES);
glVertex2i(880,700);
glVertex2i(880,730);
glVertex2i(880,730);
glVertex2i(850,730);
glVertex2i(850,730);
glVertex2i(850,700);
glEnd();
glColor3f(0.0 ,0.0 ,0.0);
glBegin(GL_LINES);
glVertex2i(850,670);
![Page 28: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/28.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 28
glVertex2i(880,670);
glVertex2i(880,670);
glVertex2i(880,640);
glVertex2i(880,640);
glVertex2i(850,640);
glVertex2i(850,640);
glVertex2i(850,670);
glEnd();
glColor3f(0.0 ,0.0 ,0.0);
glBegin(GL_LINES);
glVertex2i(840,610);
glVertex2i(880,610);
glVertex2i(880,610);
glVertex2i(880,590);
glVertex2i(880,590);
glVertex2i(860,590);
glVertex2i(860,590);
glVertex2i(860,610);
glEnd();
glColor3f(0.0 ,0.0 ,0.0);
glBegin(GL_LINES);
glVertex2i(880,550);
glVertex2i(850,560);
glVertex2i(880,550);
glVertex2i(850,540);
glVertex2i(865,555);
![Page 29: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/29.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 29
glVertex2i(865,540);
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 30: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/30.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 30
Casita
Ahora realizaremos una casa con todo lo
aprendido hasta ahora esta casa tiene que tener
cuadrados, carretera, triángulos, etc.
Borrador con coordenadas utilizadas:
glBegin(GL_QUADS);
glBegin(GL_LINES);
glBegin(GL_POLYGON);
glBegin(GL_TRIANGLES);
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(0.0,1.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0,0.0, 1000.0); //vista ortogonal
![Page 31: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/31.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 31
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
//carretera
glBegin(GL_QUADS);
glVertex2i(0,200);
glVertex2i(0,0);
glVertex2i(1000,0);
glVertex2i(1000,200);
glEnd();
glColor3f(1.0 , 1.0 , 1.0);
glLineWidth(2);
glBegin(GL_LINES);
glVertex2i(10,100);
glVertex2i(100,100);
glVertex2i(200,100);
glVertex2i(300,100);
glVertex2i(400,100);
glVertex2i(500,100);
glVertex2i(600,100);
glVertex2i(700,100);
glVertex2i(800,100);
![Page 32: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/32.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 32
glVertex2i(900,100);
glVertex2i(980,100);
glVertex2i(1000,100);
glEnd();
//pasto
glColor3f(0.0 , 1.0 , 0.0);
glBegin(GL_QUADS);
glVertex2i(0,500);
glVertex2i(0,200);
glVertex2i(1000,200);
glVertex2i(1000,500);
glEnd();
//linea amarilla
glColor3f(1.0 , 1.0 , 0.0);
glLineWidth(8);
glBegin(GL_LINES);
glVertex2i(0,200);
glVertex2i(1000,200);
glEnd();
//banqueta
glColor3f(0.5 , 0.5 , 0.5);
glLineWidth(50);
glBegin(GL_QUADS);
glVertex2i(0,208);
glVertex2i(0,300);
![Page 33: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/33.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 33
glVertex2i(1000,300);
glVertex2i(1000,208);
glVertex2i(440,300);
glVertex2i(440,450);
glVertex2i(560,450);
glVertex2i(560,300);
glEnd();
glColor3f(0.5 , 0.5 , 0.5);
glBegin(GL_QUADS);
glVertex2i(200,350);
glVertex2i(200,380);
glVertex2i(250,380);
glVertex2i(250,350);
glVertex2i(150,350);
glVertex2i(150,380);
glVertex2i(100,380);
glVertex2i(100,350);
glVertex2i(200,400);
glVertex2i(200,430);
glVertex2i(250,430);
glVertex2i(250,400);
glVertex2i(150,400);
![Page 34: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/34.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 34
glVertex2i(150,430);
glVertex2i(100,430);
glVertex2i(100,400);
glEnd();
//serca
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_POLYGON);
glVertex2i(0,540);
glVertex2i(0,480);
glVertex2i(20,480);
glVertex2i(20,540);
glVertex2i(10,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(40,540);
glVertex2i(40,480);
glVertex2i(60,480);
glVertex2i(60,540);
glVertex2i(50,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(710,540);
glVertex2i(710,480);
glVertex2i(730,480);
glVertex2i(730,540);
glVertex2i(720,550);
![Page 35: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/35.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 35
glEnd();
glBegin(GL_POLYGON);
glVertex2i(750,540);
glVertex2i(750,480);
glVertex2i(770,480);
glVertex2i(770,540);
glVertex2i(760,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(790,540);
glVertex2i(790,480);
glVertex2i(810,480);
glVertex2i(810,540);
glVertex2i(800,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(830,540);
glVertex2i(830,480);
glVertex2i(850,480);
glVertex2i(850,540);
glVertex2i(840,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(870,540);
glVertex2i(870,480);
glVertex2i(890,480);
![Page 36: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/36.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 36
glVertex2i(890,540);
glVertex2i(880,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(910,540);
glVertex2i(910,480);
glVertex2i(930,480);
glVertex2i(930,540);
glVertex2i(920,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(950,540);
glVertex2i(950,480);
glVertex2i(970,480);
glVertex2i(970,540);
glVertex2i(960,550);
glEnd();
glBegin(GL_POLYGON);
glVertex2i(990,540);
glVertex2i(990,480);
glVertex2i(1010,480);
glVertex2i(1010,540);
glVertex2i(1000,550);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glLineWidth(10);
![Page 37: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/37.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 37
glBegin(GL_LINES);
glVertex2i(0,520);
glVertex2i(1000,520);
glEnd();
//casa
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_QUADS);
glVertex2i(300,750);
glVertex2i(300,450);
glVertex2i(700,450);
glVertex2i(700,750);
glEnd();
glColor3f(0.0 , 0.0 , 1.0);
glLineWidth(14);
glBegin(GL_LINES);
glVertex2i(300,600);
glVertex2i(700,600);
glVertex2i(440,450);
glVertex2i(440,750);
glVertex2i(560,450);
glVertex2i(560,750);
glEnd();
//techo casa
glColor3f(1.0 , 0.0 , 0.0);
glBegin(GL_POLYGON);
glVertex2i(300,820);
![Page 38: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/38.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 38
glVertex2i(240,750);
glVertex2i(760,750);
glVertex2i(700,820);
glEnd();
//triangulo techo casa
glColor3f(0.7 , 0.2 , 0.2);
glBegin(GL_TRIANGLES);
glVertex2i(600,720);
glVertex2i(500,800);
glVertex2i(400,720);
glEnd();
//puerta casa
glColor3f(1.0 , 1.0 , 1.0);
glBegin(GL_QUADS);
glVertex2i(454,450);
glVertex2i(454,570);
glVertex2i(546,570);
glVertex2i(546,450);
glColor3f(1.0 , 0.0 , 1.0);
glVertex2i(474,470);
glVertex2i(474,550);
glVertex2i(526,550);
glVertex2i(526,470);
glEnd();
glColor3f(0.0 ,0.0 , 0.0);
glPointSize(3);
![Page 39: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/39.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 39
glBegin(GL_POINTS);
glVertex2i(464,505);
glEnd();
//ventanas casa
glColor3f(1.0 , 0.0 , 1.0);
glBegin(GL_QUADS);
glVertex2i(320,570);
glVertex2i(320,510);
glVertex2i(400,510);
glVertex2i(400,570);
glVertex2i(595,570);
glVertex2i(595,510);
glVertex2i(675,510);
glVertex2i(675,570);
glVertex2i(320,730);
glVertex2i(320,660);
glVertex2i(400,660);
glVertex2i(400,730);
glVertex2i(595,730);
glVertex2i(595,660);
glVertex2i(675,660);
glVertex2i(675,730);
glEnd();
![Page 40: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/40.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 40
glColor3f(1.0 , 1.0 , 1.0);
glLineWidth(4);
glBegin(GL_LINES);
glVertex2i(320,570);
glVertex2i(320,510);
glVertex2i(320,510);
glVertex2i(400,510);
glVertex2i(400,510);
glVertex2i(400,570);
glVertex2i(400,570);
glVertex2i(320,570);
glVertex2i(320,530);
glVertex2i(400,530);
glVertex2i(360,530);
glVertex2i(360,510);
glVertex2i(595,570);
glVertex2i(595,510);
glVertex2i(595,510);
glVertex2i(675,510);
glVertex2i(675,510);
glVertex2i(675,570);
glVertex2i(675,570);
glVertex2i(595,570);
glVertex2i(595,530);
glVertex2i(675,530);
![Page 41: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/41.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 41
glVertex2i(635,530);
glVertex2i(635,510);
glVertex2i(320,730);
glVertex2i(320,660);
glVertex2i(320,660);
glVertex2i(400,660);
glVertex2i(400,660);
glVertex2i(400,730);
glVertex2i(400,730);
glVertex2i(320,730);
glVertex2i(320,680);
glVertex2i(400,680);
glVertex2i(360,680);
glVertex2i(360,660);
glVertex2i(595,730);
glVertex2i(595,660);
glVertex2i(595,660);
glVertex2i(675,660);
glVertex2i(675,660);
glVertex2i(675,730);
glVertex2i(675,730);
glVertex2i(595,730);
glVertex2i(595,680);
glVertex2i(675,680);
![Page 42: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/42.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 42
glVertex2i(635,680);
glVertex2i(635,660);
glEnd();
//balcon casa
glColor3f(1.0 , 0.0 , 1.0);
glBegin(GL_QUADS);
glVertex2i(454,720);
glVertex2i(454,600);
glVertex2i(546,600);
glVertex2i(546,720);
glEnd();
glColor3f(1.0 , 1.0, 1.0);
glLineWidth(3);
glBegin(GL_LINES);
glVertex2i(455,640);
glVertex2i(455,600);
glVertex2i(467,640);
glVertex2i(467,600);
glVertex2i(479,640);
glVertex2i(479,600);
glVertex2i(491,640);
glVertex2i(491,600);
glVertex2i(503,640);
glVertex2i(503,600);
glVertex2i(515,640);
![Page 43: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/43.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 43
glVertex2i(515,600);
glVertex2i(527,640);
glVertex2i(527,600);
glVertex2i(539,640);
glVertex2i(539,600);
glVertex2i(455,640);
glVertex2i(546,640);
glVertex2i(505,640);
glVertex2i(505,720);
glEnd();
//cochera
glColor3f(0.8 , 0.8 , 0.8);
glBegin(GL_QUADS);
glVertex2i(90,450);
glVertex2i(90,600);
glVertex2i(300,600);
glVertex2i(300,450);
glEnd();
glColor3f(0.0 , 0.0, 1.0);
glLineWidth(12);
glBegin(GL_LINES);
glVertex2i(90,450);
glVertex2i(90,600);
glEnd();
//techo cochera
glColor3f(1.0 , 0.0 , 0.0);
![Page 44: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/44.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 44
glBegin(GL_POLYGON);
glVertex2i(90,660);
glVertex2i(60,600);
glVertex2i(300,600);
glVertex2i(300,660);
glEnd();
//pinos
glColor3f(0.5 , 0.3 , 0.3);
glBegin(GL_QUADS);
glVertex2i(850,450);
glVertex2i(900,450);
glVertex2i(900,530);
glVertex2i(850,530);
glEnd();
int i,a=9;
glColor3f(0.1 , 0.3 , 0.2);
glLineWidth(3);
glBegin(GL_LINES);
for(i=0;i<=14;i++){
glVertex2i(1000-a*i,530+a*i);
glVertex2i(740+a*i,530+a*i);
}
glEnd();
glFlush(); //forza dibujo
![Page 45: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/45.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 45
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("MI primer ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 46: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/46.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 46
Oso
En esta práctica haremos un la forma de un oso
aplicando un nuevo código.
Borrador con coordenadas utilizadas:
void circulo(int x, int y, int radio)
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
void inicializa(void)
{
glClearColor(1.0,1.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 1000.0, 0.0, 1000.0); //vista ortogonal
}
void circuloc(int x, int y, int t, int radio)
{
int angulo=0;
glPointSize(t);
glBegin(GL_POINTS);
![Page 47: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/47.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 47
//glColor3f (1.0, 0.0, 1.0);
glVertex2f(x,y);
//glColor3f(0,0.0,0.0);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
}
void circulo(int x, int y, int radio)
{
int angulo=0;
glBegin(GL_TRIANGLE_FAN);
// glColor3f (1.0, 0.0, 1.0);
glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(1.0,0.0,0.0);
circuloc(250,250,5,150);
circuloc(150,100,5,50);
![Page 48: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/48.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 48
circuloc(350,100,5,50);
circuloc(100,350,5,50);
circuloc(400,350,5,50);
circuloc(250,450,5,125);
circuloc(175,600,5,55);
circuloc(325,600,5,55);
glColor3f(0.0,0.0,0.0);
circuloc(200,500,5,25);
glColor3f(1.0,1.0,0.5);
circulo(250,250,150);
circulo(350,100,50);
circulo(150,100,50);
circulo(250,450,125);
circulo(400,350,50);
circulo(100,350,50);
circulo(325,600,55);
circulo(175,600,55);
///////////////////////////////////////////////////////////////////////////////
glColor3f(0.0,0.0,0.0);
circuloc(200,500,1,25);
circuloc(300,500,1,25);
glColor3f(1.0,1.0,1.0);
circulo(200,500,25);
glColor3f(0.0,0.0,0.0);
circulo(200,500,15);
![Page 49: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/49.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 49
glColor3f(1.0,1.0,1.0);
circulo(300,500,25);
circulo(325,600,40);
circulo(175,600,40);
glColor3f(0.0,0.0,0.0);
circulo(300,500,15);
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(100,100); //posicion inicial de la ventana
glutCreateWindow("Ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 50: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/50.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 50
![Page 51: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/51.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 51
Cubo con cubitos
En este ejercicio hacer un cubo como el que ya
hicimos anteriormente pero esta vez en vez de
líneas será hecho por puros cubitos chiquitos.
Borrador con coordenadas utilizadas:
glBegin(GL_LINES);
glBegin(GL_QUADS);
for(i=0;i<=10;i++){
for(i=0;i<=10;i++){
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(0.0,0.0,0.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 2000.0, 0.0, 2000.0); //vista ortogonal
![Page 52: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/52.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 52
}
void dibuja(void) //funcion dibuja
{
int i,a=100;
glClear(GL_COLOR_BUFFER_BIT);
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
for(i=0;i<=10;i++){
glColor3f(6.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(700,600+a*i);
glVertex2i(700,700+a*i);
//arriva
glVertex2i(750,750+a*i);
//derecha
![Page 53: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/53.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 53
glVertex2i(750,650+a*i);
glEnd();
glColor3f(0.0 ,0.8 ,6.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(600,600+a*i);
glVertex2i(600,700+a*i);
//arriva
glVertex2i(700,700+a*i);
//derecha
glVertex2i(700,600+a*i);
//abajo
glEnd();
glColor3f(0.0 ,6.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
![Page 54: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/54.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 54
//cuadro
//izquierda
glVertex2i(600,700+a*i);
glVertex2i(650,750+a*i);
//arriva
glVertex2i(750,750+a*i);
//derecha
glVertex2i(700,700+a*i);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,6.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(600,600+a*i);
glVertex2i(600,700+a*i);
//arriva
glVertex2i(600,700+a*i);
glVertex2i(700,700+a*i);
//derecha
glVertex2i(700,700+a*i);
glVertex2i(700,600+a*i);
//abajo
![Page 55: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/55.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 55
glVertex2i(700,600+a*i);
glVertex2i(600,600+a*i);
//diagonal derecha esquina arriva
glVertex2i(650,750+a*i);
glVertex2i(600,700+a*i);
//linea cuadro atras
//linea cuadro atras
glVertex2i(650,750+a*i);
glVertex2i(750,750+a*i);
//linea derecha atras
glVertex2i(750,750+a*i);
glVertex2i(750,650+a*i);
//linea abajo derecha diagonal
glVertex2i(700,600+a*i);
glVertex2i(750,650+a*i);
//linea arriva derecha diagonal
glVertex2i(700,700+a*i);
glVertex2i(750,750+a*i);
glEnd();
}
![Page 56: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/56.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 56
////////////////////////////////////////////////////////////////////////
for(i=0;i<=10;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1700,1600);
glVertex2i(1700,1700);
//arriva
glVertex2i(1750,1750);
//derecha
glVertex2i(1750,1650);
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
![Page 57: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/57.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 57
//izquierda
glVertex2i(1600-a*i,1600);
glVertex2i(1600-a*i,1700);
//arriva
glVertex2i(1700-a*i,1700);
//derecha
glVertex2i(1700-a*i,1600);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1600-a*i,1700);
glVertex2i(1650-a*i,1750);
//arriva
glVertex2i(1750-a*i,1750);
//derecha
glVertex2i(1700-a*i,1700);
//abajo
glEnd();
![Page 58: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/58.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 58
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1600-a*i,1600);
glVertex2i(1600-a*i,1700);
//arriva
glVertex2i(1600-a*i,1700);
glVertex2i(1700-a*i,1700);
//derecha
glVertex2i(1700-a*i,1700);
glVertex2i(1700-a*i,1600);
//abajo
glVertex2i(1700-a*i,1600);
glVertex2i(1600-a*i,1600);
//diagonal derecha esquina arriva
glVertex2i(1650-a*i,1750);
glVertex2i(1600-a*i,1700);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1650-a*i,1750);
glVertex2i(1750-a*i,1750);
//linea derecha atras
![Page 59: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/59.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 59
glVertex2i(1750,1750);
glVertex2i(1750,1650);
//linea abajo derecha diagonal
glVertex2i(1700,1600);
glVertex2i(1750,1650);
//linea arriva derecha diagonal
glVertex2i(1700-a*i,1700);
glVertex2i(1750-a*i,1750);
glEnd();
}
///////////////////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
![Page 60: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/60.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 60
//izquierda
glVertex2i(1700,600);
glVertex2i(1700,700);
//arriva
glVertex2i(1750,750);
//derecha
glVertex2i(1750,650);
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1600-a*i,600);
glVertex2i(1600-a*i,700);
//arriva
glVertex2i(1700-a*i,700);
//derecha
glVertex2i(1700-a*i,600);
//abajo
![Page 61: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/61.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 61
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1600-a*i,700);
glVertex2i(1650-a*i,750);
//arriva
glVertex2i(1750-a*i,750);
//derecha
glVertex2i(1700-a*i,700);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1600-a*i,600);
glVertex2i(1600-a*i,700);
![Page 62: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/62.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 62
//arriva
glVertex2i(1600-a*i,700);
glVertex2i(1700-a*i,700);
//derecha
glVertex2i(1700-a*i,700);
glVertex2i(1700-a*i,600);
//abajo
glVertex2i(1700-a*i,600);
glVertex2i(1600-a*i,600);
//diagonal derecha esquina arriva
glVertex2i(1650-a*i,750);
glVertex2i(1600-a*i,700);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1650-a*i,750);
glVertex2i(1750-a*i,750);
//linea derecha atras
glVertex2i(1750,750);
glVertex2i(1750,650);
//linea abajo derecha diagonal
glVertex2i(1700,600);
glVertex2i(1750,650);
//linea arriva derecha diagonal
![Page 63: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/63.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 63
glVertex2i(1700-a*i,700);
glVertex2i(1750-a*i,750);
glEnd();
}
//////////////////////////////////////////////////////////////////////
for(i=0;i<=10;i++){
glColor3f(16.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1700,600+a*i);
glVertex2i(1700,700+a*i);
//arriva
glVertex2i(1750,750+a*i);
//derecha
glVertex2i(1750,650+a*i);
![Page 64: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/64.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 64
glEnd();
glColor3f(0.0 ,0.8 ,6.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1600,600+a*i);
glVertex2i(1600,700+a*i);
//arriva
glVertex2i(1700,700+a*i);
//derecha
glVertex2i(1700,600+a*i);
//abajo
glEnd();
glColor3f(0.0 ,6.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
![Page 65: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/65.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 65
glVertex2i(1600,700+a*i);
glVertex2i(1650,750+a*i);
//arriva
glVertex2i(1750,750+a*i);
//derecha
glVertex2i(1700,700+a*i);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,6.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1600,600+a*i);
glVertex2i(1600,700+a*i);
//arriva
glVertex2i(1600,700+a*i);
glVertex2i(1700,700+a*i);
//derecha
glVertex2i(1700,700+a*i);
glVertex2i(1700,600+a*i);
//abajo
glVertex2i(1700,600+a*i);
glVertex2i(1600,600+a*i);
![Page 66: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/66.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 66
//diagonal derecha esquina arriva
glVertex2i(1650,750+a*i);
glVertex2i(1600,700+a*i);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1650,750+a*i);
glVertex2i(1750,750+a*i);
//linea derecha atras
glVertex2i(1750,750+a*i);
glVertex2i(1750,650+a*i);
//linea abajo derecha diagonal
glVertex2i(1700,600+a*i);
glVertex2i(1750,650+a*i);
//linea arriva derecha diagonal
glVertex2i(1700,700+a*i);
glVertex2i(1750,750+a*i);
glEnd();
}
//////////////////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
![Page 67: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/67.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 67
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(200+(50*i),100+(50*i));
glVertex2i(200+(50*i),200+(50*i));
//arriva
glVertex2i(250+(50*i),250+(50*i));
//derecha
glVertex2i(250+(50*i),150+(50*i));
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100,100);
glVertex2i(100,200);
//arriva
![Page 68: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/68.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 68
glVertex2i(200,200);
//derecha
glVertex2i(200,100);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100+(50*i),200+(50*i));
glVertex2i(150+(50*i),250+(50*i));
//arriva
glVertex2i(250+(50*i),250+(50*i));
//derecha
glVertex2i(200+(50*i),200+(50*i));
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
![Page 69: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/69.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 69
//cuadro
//izquierda
glVertex2i(100,100);
glVertex2i(100,200);
//arriva
glVertex2i(100+(50*i),200+(50*i));
glVertex2i(200+(50*i),200+(50*i));
//derecha
glVertex2i(200+(50*i),200+(50*i));
glVertex2i(200+(50*i),100+(50*i));
//abajo
glVertex2i(200,100);
glVertex2i(100,100);
//diagonal derecha esquina arriva
glVertex2i(150+(50*i),250+(50*i));
glVertex2i(100+(50*i),200+(50*i));
//linea cuadro atras
//linea cuadro atras
glVertex2i(150+(50*i),250+(50*i));
glVertex2i(250+(50*i),250+(50*i));
//linea derecha atras
glVertex2i(250+(50*i),250+(50*i));
glVertex2i(250+(50*i),150+(50*i));
//linea abajo derecha diagonal
![Page 70: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/70.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 70
glVertex2i(200+(50*i),100+(50*i));
glVertex2i(250+(50*i),150+(50*i));
//linea arriva derecha diagonal
glVertex2i(200+(50*i),200+(50*i));
glVertex2i(250+(50*i),250+(50*i));
glEnd();
}
///////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1200+(50*i),100+(50*i));
glVertex2i(1200+(50*i),200+(50*i));
//arriva
glVertex2i(1250+(50*i),250+(50*i));
//derecha
glVertex2i(1250+(50*i),150+(50*i));
![Page 71: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/71.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 71
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100,100);
glVertex2i(1100,200);
//arriva
glVertex2i(1200,200);
//derecha
glVertex2i(1200,100);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
![Page 72: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/72.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 72
glVertex2i(1100+(50*i),200+(50*i));
glVertex2i(1150+(50*i),250+(50*i));
//arriva
glVertex2i(1250+(50*i),250+(50*i));
//derecha
glVertex2i(1200+(50*i),200+(50*i));
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1100,100);
glVertex2i(1100,200);
//arriva
glVertex2i(1100+(50*i),200+(50*i));
glVertex2i(1200+(50*i),200+(50*i));
//derecha
glVertex2i(1200+(50*i),200+(50*i));
glVertex2i(1200+(50*i),100+(50*i));
//abajo
glVertex2i(1200,100);
glVertex2i(1100,100);
![Page 73: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/73.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 73
//diagonal derecha esquina arriva
glVertex2i(1150+(50*i),250+(50*i));
glVertex2i(1100+(50*i),200+(50*i));
//linea cuadro atras
//linea cuadro atras
glVertex2i(1150+(50*i),250+(50*i));
glVertex2i(1250+(50*i),250+(50*i));
//linea derecha atras
glVertex2i(1250+(50*i),250+(50*i));
glVertex2i(1250+(50*i),150+(50*i));
//linea abajo derecha diagonal
glVertex2i(1200+(50*i),100+(50*i));
glVertex2i(1250+(50*i),150+(50*i));
//linea arriva derecha diagonal
glVertex2i(1200+(50*i),200+(50*i));
glVertex2i(1250+(50*i),250+(50*i));
glEnd();
}
////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(1.0 ,0.8 ,0.5 );
![Page 74: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/74.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 74
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(200+(50*i),1100+(50*i));
glVertex2i(200+(50*i),1200+(50*i));
//arriva
glVertex2i(250+(50*i),1250+(50*i));
//derecha
glVertex2i(250+(50*i),1150+(50*i));
glEnd();
glColor3f(0.0 ,0.8 ,11.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100,1100);
glVertex2i(100,1200);
//arriva
glVertex2i(200,1200);
![Page 75: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/75.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 75
//derecha
glVertex2i(200,1100);
//abajo
glEnd();
glColor3f(0.0 ,11.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100+(50*i),1200+(50*i));
glVertex2i(150+(50*i),1250+(50*i));
//arriva
glVertex2i(250+(50*i),1250+(50*i));
//derecha
glVertex2i(200+(50*i),1200+(50*i));
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,11.0 );
glLineWidth(4);
glBegin(GL_LINES);
![Page 76: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/76.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 76
//cuadro
//izquierda
glVertex2i(100,1100);
glVertex2i(100,1200);
//arriva
glVertex2i(100+(50*i),1200+(50*i));
glVertex2i(200+(50*i),1200+(50*i));
//derecha
glVertex2i(200+(50*i),1200+(50*i));
glVertex2i(200+(50*i),1100+(50*i));
//abajo
glVertex2i(200,1100);
glVertex2i(100,1100);
//diagonal derecha esquina arriva
glVertex2i(150+(50*i),1250+(50*i));
glVertex2i(100+(50*i),1200+(50*i));
//linea cuadro atras
//linea cuadro atras
glVertex2i(150+(50*i),1250+(50*i));
glVertex2i(250+(50*i),1250+(50*i));
//linea derecha atras
glVertex2i(250+(50*i),1250+(50*i));
glVertex2i(250+(50*i),1150+(50*i));
//linea abajo derecha diagonal
glVertex2i(200+(50*i),1100+(50*i));
![Page 77: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/77.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 77
glVertex2i(250+(50*i),1150+(50*i));
//linea arriva derecha diagonal
glVertex2i(200+(50*i),1200+(50*i));
glVertex2i(250+(50*i),1250+(50*i));
glEnd();
}
////////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(11.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1200+(50*i),1100+(50*i));
glVertex2i(1200+(50*i),1200+(50*i));
//arriva
glVertex2i(1250+(50*i),1250+(50*i));
//derecha
glVertex2i(1250+(50*i),1150+(50*i));
![Page 78: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/78.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 78
glEnd();
glColor3f(0.0 ,0.8 ,11.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100,1100);
glVertex2i(1100,1200);
//arriva
glVertex2i(1200,1200);
//derecha
glVertex2i(1200,1100);
//abajo
glEnd();
glColor3f(0.0 ,11.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100+(50*i),1200+(50*i));
![Page 79: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/79.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 79
glVertex2i(1150+(50*i),1250+(50*i));
//arriva
glVertex2i(1250+(50*i),1250+(50*i));
//derecha
glVertex2i(1200+(50*i),1200+(50*i));
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,11.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1100,1100);
glVertex2i(1100,1200);
//arriva
glVertex2i(1100+(50*i),1200+(50*i));
glVertex2i(1200+(50*i),1200+(50*i));
//derecha
glVertex2i(1200+(50*i),1200+(50*i));
glVertex2i(1200+(50*i),1100+(50*i));
//abajo
glVertex2i(1200,1100);
glVertex2i(1100,1100);
//diagonal derecha esquina arriva
![Page 80: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/80.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 80
glVertex2i(1150+(50*i),1250+(50*i));
glVertex2i(1100+(50*i),1200+(50*i));
//linea cuadro atras
//linea cuadro atras
glVertex2i(1150+(50*i),1250+(50*i));
glVertex2i(1250+(50*i),1250+(50*i));
//linea derecha atras
glVertex2i(1250+(50*i),1250+(50*i));
glVertex2i(1250+(50*i),1150+(50*i));
//linea abajo derecha diagonal
glVertex2i(1200+(50*i),1100+(50*i));
glVertex2i(1250+(50*i),1150+(50*i));
//linea arriva derecha diagonal
glVertex2i(1200+(50*i),1200+(50*i));
glVertex2i(1250+(50*i),1250+(50*i));
glEnd();
}
//////////////////////////////////////////////////////////////////////
![Page 81: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/81.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 81
for(i=0;i<=10;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(200,100+a*i);
glVertex2i(200,200+a*i);
//arriva
glVertex2i(250,250+a*i);
//derecha
glVertex2i(250,150+a*i);
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100,100+a*i);
glVertex2i(100,200+a*i);
![Page 82: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/82.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 82
//arriva
glVertex2i(200,200+a*i);
//derecha
glVertex2i(200,100+a*i);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(100,200+a*i);
glVertex2i(150,250+a*i);
//arriva
glVertex2i(250,250+a*i);
//derecha
glVertex2i(200,200+a*i);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
![Page 83: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/83.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 83
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(100,100+a*i);
glVertex2i(100,200+a*i);
//arriva
glVertex2i(100,200+a*i);
glVertex2i(200,200+a*i);
//derecha
glVertex2i(200,200+a*i);
glVertex2i(200,100+a*i);
//abajo
glVertex2i(200,100+a*i);
glVertex2i(100,100+a*i);
//diagonal derecha esquina arriva
glVertex2i(150,250+a*i);
glVertex2i(100,200+a*i);
//linea cuadro atras
//linea cuadro atras
glVertex2i(150,250+a*i);
glVertex2i(250,250+a*i);
//linea derecha atras
glVertex2i(250,250+a*i);
glVertex2i(250,150+a*i);
![Page 84: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/84.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 84
//linea abajo derecha diagonal
glVertex2i(200,100+a*i);
glVertex2i(250,150+a*i);
//linea arriva derecha diagonal
glVertex2i(200,200+a*i);
glVertex2i(250,250+a*i);
glEnd();
}
//////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1200,1100);
glVertex2i(1200,1200);
//arriva
![Page 85: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/85.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 85
glVertex2i(1250,1250);
//derecha
glVertex2i(1250,1150);
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100-a*i,1100);
glVertex2i(1100-a*i,1200);
//arriva
glVertex2i(1200-a*i,1200);
//derecha
glVertex2i(1200-a*i,1100);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
![Page 86: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/86.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 86
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100-a*i,1200);
glVertex2i(1150-a*i,1250);
//arriva
glVertex2i(1250-a*i,1250);
//derecha
glVertex2i(1200-a*i,1200);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1100-a*i,1100);
glVertex2i(1100-a*i,1200);
//arriva
glVertex2i(1100-a*i,1200);
glVertex2i(1200-a*i,1200);
//derecha
glVertex2i(1200-a*i,1200);
![Page 87: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/87.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 87
glVertex2i(1200-a*i,1100);
//abajo
glVertex2i(1200-a*i,1100);
glVertex2i(1100-a*i,1100);
//diagonal derecha esquina arriva
glVertex2i(1150-a*i,1250);
glVertex2i(1100-a*i,1200);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1150-a*i,1250);
glVertex2i(1250-a*i,1250);
//linea derecha atras
glVertex2i(1250,1250);
glVertex2i(1250,1150);
//linea abajo derecha diagonal
glVertex2i(1200,1100);
glVertex2i(1250,1150);
//linea arriva derecha diagonal
glVertex2i(1200-a*i,1200);
glVertex2i(1250-a*i,1250);
![Page 88: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/88.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 88
glEnd();
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
for(i=0;i<=9;i++){
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1200,100);
glVertex2i(1200,200);
//arriva
glVertex2i(1250,250);
//derecha
glVertex2i(1250,150);
![Page 89: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/89.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 89
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100-a*i,100);
glVertex2i(1100-a*i,200);
//arriva
glVertex2i(1200-a*i,200);
//derecha
glVertex2i(1200-a*i,100);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100-a*i,200);
![Page 90: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/90.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 90
glVertex2i(1150-a*i,250);
//arriva
glVertex2i(1250-a*i,250);
//derecha
glVertex2i(1200-a*i,200);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
//cuadro
//izquierda
glVertex2i(1100-a*i,100);
glVertex2i(1100-a*i,200);
//arriva
glVertex2i(1100-a*i,200);
glVertex2i(1200-a*i,200);
//derecha
glVertex2i(1200-a*i,200);
glVertex2i(1200-a*i,100);
//abajo
glVertex2i(1200-a*i,100);
glVertex2i(1100-a*i,100);
//diagonal derecha esquina arriva
![Page 91: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/91.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 91
glVertex2i(1150-a*i,250);
glVertex2i(1100-a*i,200);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1150-a*i,250);
glVertex2i(1250-a*i,250);
//linea derecha atras
glVertex2i(1250,250);
glVertex2i(1250,150);
//linea abajo derecha diagonal
glVertex2i(1200,100);
glVertex2i(1250,150);
//linea arriva derecha diagonal
glVertex2i(1200-a*i,200);
glVertex2i(1250-a*i,250);
glEnd();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
for(i=0;i<=10;i++){
![Page 92: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/92.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 92
glColor3f(1.0 ,0.8 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//izquierda
glVertex2i(1200,100+a*i);
glVertex2i(1200,200+a*i);
//arriva
glVertex2i(1250,250+a*i);
//derecha
glVertex2i(1250,150+a*i);
glEnd();
glColor3f(0.0 ,0.8 ,1.0 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100,100+a*i);
glVertex2i(1100,200+a*i);
//arriva
![Page 93: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/93.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 93
glVertex2i(1200,200+a*i);
//derecha
glVertex2i(1200,100+a*i);
//abajo
glEnd();
glColor3f(0.0 ,1.0 ,0.5 );
glLineWidth(8);
glBegin(GL_QUADS);
//cuadro
//izquierda
glVertex2i(1100,200+a*i);
glVertex2i(1150,250+a*i);
//arriva
glVertex2i(1250,250+a*i);
//derecha
glVertex2i(1200,200+a*i);
//abajo
glEnd();
//cuadro
glColor3f(0.0 ,0.0 ,1.0 );
glLineWidth(4);
glBegin(GL_LINES);
![Page 94: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/94.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 94
//cuadro
//izquierda
glVertex2i(1100,100+a*i);
glVertex2i(1100,200+a*i);
//arriva
glVertex2i(1100,200+a*i);
glVertex2i(1200,200+a*i);
//derecha
glVertex2i(1200,200+a*i);
glVertex2i(1200,100+a*i);
//abajo
glVertex2i(1200,100+a*i);
glVertex2i(1100,100+a*i);
//diagonal derecha esquina arriva
glVertex2i(1150,250+a*i);
glVertex2i(1100,200+a*i);
//linea cuadro atras
//linea cuadro atras
glVertex2i(1150,250+a*i);
glVertex2i(1250,250+a*i);
//linea derecha atras
glVertex2i(1250,250+a*i);
glVertex2i(1250,150+a*i);
![Page 95: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/95.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 95
//linea abajo derecha diagonal
glVertex2i(1200,100+a*i);
glVertex2i(1250,150+a*i);
//linea arriva derecha diagonal
glVertex2i(1200,200+a*i);
glVertex2i(1250,250+a*i);
glEnd();
}
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
![Page 96: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/96.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 96
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(500,500); //tamaño de la ventana
glutInitWindowPosition(0,0); //posicion inicial de la ventana
glutCreateWindow("cubo3d"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 97: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/97.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 97
Muñeco con formas
En esta actividad realizaremos un muñeco con la
que ya hemos aprendido pero ahora más detallado
Borrador con coordenadas utilizadas:
glBegin(GL_POINTS);
glBegin(GL_TRIANGLE_FAN);
glBegin(GL_QUADS);
glBegin(GL_POLYGON);
glBegin(GL_TRIANGLES);
glBegin(GL_LINES);
Código
//mi primer ventana
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
void inicializa(void)
{
glClearColor(1.0,1.0,1.0,0.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
![Page 98: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/98.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 98
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 800.0, 0.0, 800.0); //vista ortogonal
}
void circuloc(int x, int y, int t, int radio)
{
int angulo=0;
glPointSize(t);
glBegin(GL_POINTS);
//glColor3f (1.0, 0.0, 1.0);
glVertex2f(x,y);
//glColor3f(0,0.0,0.0);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
}
void circulo(int x, int y, int radio)
{
int angulo=0;
glBegin(GL_TRIANGLE_FAN);
// glColor3f (1.0, 0.0, 1.0);
glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
![Page 99: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/99.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 99
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT);
//brazo derecho
glColor3f(1.0 , 0.8 , 0.7);
glBegin(GL_QUADS);
glVertex2i(510,395);
glVertex2i(580,340);
glVertex2i(620,340);
glVertex2i(540,400);
glEnd();
//brazo izquierdo
glColor3f(1.0 , 0.8 , 0.7);
glBegin(GL_QUADS);
glVertex2i(190,395);
glVertex2i(140,340);
glVertex2i(100,340);
glVertex2i(250,480);
glEnd();
//cuerpo pecho
glColor3f(1.0 , 0.0 , 0.0);
glBegin(GL_QUADS);
glVertex2i(250,480);
glVertex2i(250,300);
![Page 100: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/100.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 100
glVertex2i(450,300);
glVertex2i(450,480);
//manos derecha
glVertex2i(450,420);
glVertex2i(500,390);
glVertex2i(560,400);
glVertex2i(450,480);
//mano izquierda
glVertex2i(250,420);
glVertex2i(200,390);
glVertex2i(150,400);
glVertex2i(250,480);
glEnd();
//cabeza con cuello
glColor3f(1.0 , 0.8 , 0.7);
glBegin(GL_POLYGON);
glVertex2i(330,520);
glVertex2i(330,470);
glVertex2i(350,440);
glVertex2i(370,470);
glVertex2i(370,520);
glEnd();
circulo(350,600,100);
circulo(350,560,30);
//pantalon
![Page 101: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/101.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 101
glColor3f(0.0 , 1.0 , 0.0);
glBegin(GL_POLYGON);
glVertex2i(250,300);
glVertex2i(220,100);
glVertex2i(280,70);
glVertex2i(420,300);
glVertex2i(410,70);
glVertex2i(470,100);
glVertex2i(450,300);
glEnd();
glColor3f(0.0 , 0.0 , 0.0);
glBegin(GL_TRIANGLES);
//Pie izquierdo
glVertex2i(220,100);
glVertex2i(280,70);
glVertex2i(140,70);
glEnd();
//Pie derecho
glColor3f(0.0 , 0.0 , 0.0);
glBegin(GL_TRIANGLES);
glVertex2i(470,100);
glVertex2i(410,70);
glVertex2i(560,70);
glEnd();
//ojos
glColor3f(1.0 , 1.0 , 1.0);
![Page 102: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/102.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 102
circulo(300,600,20);
circulo(400,600,20);
circulo(350,550,30);
glColor3f(0.0 , 0.0 , 0.0);
circulo(300,600,10);
circulo(400,600,10);
glColor3f(1.0 , 0.8 , 0.7);
circulo(350,560,30);
//nariz
glColor3f(0.0 , 0.0 , 0.0);
glBegin(GL_LINES);
glVertex2i(350,580);
glVertex2i(370,560);
glVertex2i(370,560);
glVertex2i(350,560);
glEnd();
//cabello
circulo(350,690,40);
circulo(310,690,40);
circulo(380,690,40);
circulo(430,670,40);
circulo(280,670,40);
circulo(250,630,35);
circulo(450,630,35);
glColor3f(1.0 , 0.8 , 0.7);
![Page 103: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/103.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 103
circulo(595,330,35);
circulo(110,330,35);
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
glutInit(&argc, argv); //incializa GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); //establece el modo de
visualización
glutInitWindowSize(700,700); //tamaño de la ventana
glutInitWindowPosition(100,100); //posicion inicial de la ventana
glutCreateWindow("Ventana"); //nombre de la ventana
inicializa();
glutDisplayFunc(dibuja); //Envia los graficos a la ventana de visualización
glutMainLoop(); //muestra todo y espera
return 0; //retorna un valor de cero
}
![Page 104: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/104.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 104
![Page 105: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/105.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 105
Sistema solar
En este ejercicio tenemos que hacer un sistema
solar con el sol y sus planetas girando alrededor
de este.
Borrador con coordenadas utilizadas
glBegin(GL_POINTS);
for (angulo=0;angulo<=360; angulo+=1){
glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
glBegin(GL_TRIANGLE_FAN);
Código
#include <unistd.h>w
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int rad=500;
double ang=0,a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;
void inicializa(void)
{
![Page 106: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/106.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 106
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 1800.0, 0.0, 1800.0);// el ancho y largo de nuestra pantalla
}
void circuloc(int x, int y, int t, int radio)
{
int angulo=0;
glPointSize(t);
glBegin(GL_POINTS);
//glColor3f (1.0, 0.0, 1.0);
glVertex2f(x,y);
//glColor3f(0,0.0,0.0);
for (angulo=0;angulo<=360; angulo+=1){ glVertex2f(x + sin(angulo) * radio,
y + cos(angulo) * radio);}
glEnd();
}
void circulo(int x, int y, int radio)
{
int angulo=0;
glBegin(GL_TRIANGLE_FAN);
glVertex2f(x,y);
![Page 107: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/107.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 107
for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y
+ cos(angulo) * radio);}
glEnd();
}
void dibuja(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//esto
glColor3f(1.0,1.0,0.0);
circulo( 900,900,60); //funcion circulo
glColor3f(0.0,0.0,1.0);
circulo( 900+ sin(ang) * 120,900 + cos(ang) * 120,5);
circuloc(900,900,1,120);
glColor3f(0.0,1.0,0.1);
circulo( 900+ sin(a) * 250,900 + cos(a) * 250,10);
circuloc(900,900,2,250);
glColor3f(0.4,0.0,1.0);
circulo( 900+ sin(b) * 350,900 + cos(b) * 350,15);
circuloc(900,900,2,350);
![Page 108: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/108.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 108
glColor3f(3.0,5.0,1.0);
circulo( 900+ sin(c) * 450,900 + cos(c) * 450,20);
circuloc(900,900,2,450);
glColor3f(0.1,3.0,1.0);
circulo( 900+ sin(d) * 550,900 + cos(d) * 550,25);
circuloc(900,900,2,550);
glColor3f(0.2,0.0,1.0);
circulo( 900+ sin(e) * 680,900 + cos(e) * 680,30);
circuloc(900,900,2,680);
glColor3f(1.0,0.0,0.0);
circulo( 900+ sin(f) * 800,900 + cos(f) * 800,35);
circuloc(900,900,2,800);
glColor3f(0.0,1.0,0.0);
circulo( 900+ sin(i) * 890,900 + cos(i) * 890,40);
circuloc(900,900,2,890);
![Page 109: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/109.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 109
a=a+0.09;
b=b+0.08;
c=c+0.07;
d=d+0.06;
e=e+0.05;
f=f+0.04;
g=g+0.03;
h=h+0.02;
i=i+0.03;
ang=ang+0.01; //velocidad entre mas grande mas rapido y entre menos mas lento
for(int j=1;j<=10000000;j++){}//pausa
if(ang==360){ang=0;}// se repite idefinidamente
glFlush(); //forzar dibujado
glutSwapBuffers(); //y esto
}
int main (int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);//esto
tambien
glutInitWindowSize(1000,1000);
glutInitWindowPosition(10,10);
![Page 110: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/110.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 110
glutCreateWindow("Ventana");
inicializa();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);//esto es lo que cambia
glutMainLoop();
return 0;
}
![Page 111: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/111.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 111
Movimiento en 8
En esta actividad tenemos que hacer como una
pista de carreras en donde salga un circulo
moviéndose por todo el ocho son salirse se la
línea limite.
Borrador con coordenadas utilizadas:
glBegin(GL_TRIANGLE_FAN);
for (angulo=0;angulo<=360; angulo+=6){
glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
Código
#include <unistd.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int x=1, x2=1,y=1;
double a=6.15, b=6.15;
void inicializa(void){
glClearColor(0.8,0.5,0.3,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
![Page 112: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/112.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 112
gluOrtho2D(0.0, 700.0, 0.0, 700.0);// el ancho y largo de nuestra pantalla
}
void circulo(int x, int y, int radio){
int angulo=0;
glBegin(GL_TRIANGLE_FAN);
glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();}
void dibuja(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0, 0.5, 0.1);
circulo(310, 310, 80);
circulo(310,190,80);
glColor3f(1.0,0.0,0.0);
circulo(310,310,40);
circulo(310,190,40);
glColor3f(0.0,0.0,1.0);
if(a>=6.15 && a<=12.41){
circulo(300+ sin (a)*60,300- cos(a)*60,10);
a=a+0.01;
}
else{
circulo(300 + sin (b) *60,180-cos(b)*-60,10);
![Page 113: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/113.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 113
b=b + 0.25;
if(b>12.4){a=6.15;b=6.15;}
for(int j=0; j<=10000000; j++) {}
}
glFlush();
glutSwapBuffers();
}
int main (int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);
glutInitWindowSize(700,700);
glutInitWindowPosition(10,10);
glutCreateWindow("Ventana");
inicializa();
![Page 114: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/114.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 114
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);
glutMainLoop();
return 0;
}
![Page 115: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/115.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 115
Semáforo
En esta práctica lo que tenemos que hacer es un
semáforo que cambie de color como si fuera un
semáforo real de verde, amarillo y rojo y asi
sucesivamente.
Borrador con coordenadas utilizadas;
glBegin(GL_TRIANGLE_FAN);
for (angulo=0;angulo<=360; angulo+=6){
glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glBegin(GL_QUADS);
Código
#include <unistd.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int x=1,z=1,w=1, y=1;
void inicializa(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
![Page 116: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/116.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 116
glLoadIdentity();
gluOrtho2D(0.0, 1800.0, 0.0, 800.0);// el ancho y largo de nuestra pantalla
}
void circulo(int x, int y, int radio)
{
int angulo=0;
glBegin(GL_TRIANGLE_FAN);
glVertex2f(x,y);
for (angulo=0;angulo<=360; angulo+=6){ glVertex2f(x + sin(angulo) * radio, y +
cos(angulo) * radio);}
glEnd();
}
void dibuja(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0,0.0,0.0);
if(x>=1 && x<800){
circulo(100+1*x,700,20);
glFlush();
x++;
}
glColor3f(.0,0.0,0.0);
if(y>=1 && y<600 && x==800){
circulo(900,700-y,20);
glFlush();
![Page 117: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/117.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 117
y++;
}
glColor3f(.0,0.0,0.0);
if(w>=1 && w<800 && y==600 && x==800){
circulo(900-w,100,20);
glFlush();
w++;
}
glColor3f(.0,0.0,0.0);
if(z>=1 && z<600 && y==600 && x==800 && w==800){
circulo(100,100+z,20);
glFlush();
z++;
if(z==600) {z=1;x=1;y=1;w=1;}
}
glColor3f(1.0,0.0,1.0);
glBegin(GL_QUADS);
glVertex2i(690,690);
glVertex2i(690,250);
glVertex2i(1000,250);
glVertex2i(1000,690);
glEnd();
glBegin(GL_QUADS);
glVertex2i(800,290);
![Page 118: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/118.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 118
glVertex2i(800,0);
glVertex2i(900,0);
glVertex2i(900,290);
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);
circulo(850,600,50);
glColor3f(0.0,0.0,0.0);
circulo(850,480,50);
circulo(850,350,50);
glColor3f(1.0,0.0,0.0);
if(x>=1 && x<800){
circulo(850,600,50);
glFlush();
x++;
}
glColor3f(1.0,1.0,0.0);
if(y>=1 && y<600 && x==800){
circulo(850,480,50);
glFlush();
y++;
![Page 119: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/119.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 119
}
glColor3f(0.0,1.0,0.0);
if(w>=1 && w<800 && y==600 && x==800){
circulo(850,350,50);
glFlush();
w++;
}
glColor3f(0.0,1.0,0.0);
if(z>=1 && z<600 && y==600 && x==800 && w==800){
circulo(950,450,60);
glFlush();
z++;
{z=1;x=1;y=1;w=1;}
}
glutSwapBuffers();
}
int main (int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA| GLUT_DEPTH);
glutInitWindowSize(1200,600);
glutInitWindowPosition(10,10);
glutCreateWindow("Ventana");
![Page 120: Manual open gl](https://reader031.vdocuments.mx/reader031/viewer/2022032611/55a25f081a28abe1718b461e/html5/thumbnails/120.jpg)
COLEGIO DE ESUDIOS CIENTIFICOS Y TECNOLOGICOS DEL ESTADO DE MEXCO
Página 120
inicializa();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);
glutMainLoop();
return 0;
}