Evaluación de los Factores Internos de la Organización
Utilización del software de diseño(C++)
1. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
UTILIZACIÓN DEL
SOFTWARE DE DISEÑO
(MANUAL DE OPENGL)
Cantero MoralesRaúl
Grupo: 303
Especialidad: Informática
Profesor: Ing. Rene Domínguez Escalona
1 28/10/2012
2. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
INTRODUCCION
En este documento podrás apreciar la estructura de los documentos realizados
alrededor del 2° parcial del 3°sementre de la carera de técnico en informática del
plantel CECYTEM Tecámac, en las cuales consisten en pequeños y simples
ejercicios sobre los manejos de OpenGL y algunas instrucciones que pueden ser
de ayuda para aquellos que cursan esta materia.
En este manual podrás apreciar trabajos desde lo básico con puntos hasta la
realización de objetos 3D con movimiento.
2 28/10/2012
3. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
ÍNDICE
Tablero de Ajedrez ………………………………………………………………………4
Estrella…………………………………………………………………………………….10
Cubo con líneas………………………………………………………………………….13
Piramide…………………………………………………………………………………..17
Cubo delineado…………………………………………………………………………..22
Muñeco con triángulos…………………………………………………………………..27
Casita……………………………………………………………………………………..34
Oso………………………………………………………………………………………..48
Cubo con Cubitos………………………………………………………………………..53
Muñeco con formas ……………………………………………………………………..59
AnimaciónCírculos………………………………………………………………………68
Animación sistema solar………………………………………………………………..72
Movimiento en Ocho…………………………………………………………………….78
Semáforo………………………………………………………………………………….82
Objetos 3D Wire (9)……………………………………………………………………..88
Cubo 3D con líneas
3 28/10/2012
4. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Tablero de Ajedrez
Descripción.- Realiza por medio de la instrucción glpoints un tablero de ajedrez
con cuadros del mismo tamaño el tablero estará conformado por 8 cuadrados de
base y 8 de altura, con los colores que lleva un tablero de ajedrez.
Borrador con coordenada utilizadas:------
Código:
#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, 500.0, 0.0, 500.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
4 28/10/2012
5. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(50,50);
glVertex2f(50,150);
glVertex2f(50,250);
glVertex2f(50,350);
glVertex2f(100,100);
glVertex2f(100,200);
glVertex2f(100,300);
glVertex2f(100,400);
glVertex2f(150,50);
glVertex2f(150,150);
glVertex2f(150,250);
glVertex2f(150,350);
glVertex2f(200,100);
glVertex2f(200,200);
glVertex2f(200,300);
glVertex2f(200,400);
glVertex2f(250,50);
glVertex2f(250,150);
glVertex2f(250,250);
5 28/10/2012
6. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(250,350);
glVertex2f(300,100);
glVertex2f(300,200);
glVertex2f(300,300);
glVertex2f(300,400);
glVertex2f(350,50);
glVertex2f(350,150);
glVertex2f(350,250);
glVertex2f(350,350);
glVertex2f(400,100);
glVertex2f(400,200);
glVertex2f(400,300);
glVertex2f(400,400);
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2f(50,100);
6 28/10/2012
7. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(50,200);
glVertex2f(50,300);
glVertex2f(50,400);
//forza dibujo
}
glVertex2f(100,50);
glVertex2f(100,150);
glVertex2f(100,250);
glVertex2f(100,350);
glVertex2f(150,100);
glVertex2f(150,200);
glVertex2f(150,300);
glVertex2f(150,400);
glVertex2f(200,50);
glVertex2f(200,150);
glVertex2f(200,250);
glVertex2f(200,350);
glVertex2f(250,100);
glVertex2f(250,200);
glVertex2f(250,300);
7 28/10/2012
8. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(250,400);
glVertex2f(300,50);
glVertex2f(300,150);
glVertex2f(300,250);
glVertex2f(300,350);
glVertex2f(350,100);
glVertex2f(350,200);
glVertex2f(350,300);
glVertex2f(350,400);
glVertex2f(400,50);
glVertex2f(400,150);
glVertex2f(400,250);
glVertex2f(400,350);
glEnd();
glFlush(); //forza dibujo
}
8 28/10/2012
9. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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 dfj"); //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
}
9 28/10/2012
10. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Estrella
Descripción.- Realiza por medio de la instrucción gl lines una estrella
Borrador con coordenada utilizadas:------
Código:
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,1.0,1.0,1.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
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glLineWidth(15);
glBegin(GL_LINES);
glVertex2i(450,400);
10 28/10/2012
11. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(500,700);
glVertex2i(500,700);
glVertex2i(550,400);
glVertex2i(550,400);
glVertex2i(400,600);
glVertex2i(400,600);
glVertex2i(600,600);
glVertex2i(600,600);
glVertex2i(450,400);
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(700,700); //tamaño de la ventana
11 28/10/2012
12. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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
}
12 28/10/2012
13. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Cubo con líneas
Descripción.- Realiza por medio de la instrucción Gl Lines un cubo en el centro de
la pantalla
Borrador con coordenada utilizadas:------
Código:
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,1.0,1.0,1.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
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glLineWidth(4);
glBegin(GL_LINES);
glVertex2i(250,550);
13 28/10/2012
14. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(550,550);
glVertex2i(250,550);
glVertex2i(250,250);
glVertex2i(250,250);
glVertex2i(550,250);
glVertex2i(250,250);
glVertex2i(400,400);
glVertex2i(550,550);
glVertex2i(550,250);
glVertex2i(400,400);
glVertex2i(400,700);
glVertex2i(250,550);
glVertex2i(400,700);
glVertex2i(400,400);
glVertex2i(700,400);
14 28/10/2012
15. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(550,250);
glVertex2i(700,400);
glVertex2i(400,700);
glVertex2i(700,700);
glVertex2i(550,550);
glVertex2i(700,700);
glVertex2i(700,700);
glVertex2i(700,400);
glEnd();
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
{
15 28/10/2012
16. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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("CUBO"); //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
}
16 28/10/2012
17. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Piramide
Descripción.- Realiza por medio de la instrucción GL_LINES una pirámide
apreciada desde arriba
Borrador con coordenada utilizadas:------
Código:
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void inicializa(void)
{
glClearColor(1.0,1.0,1.0,1.0); //color de fondo
glMatrixMode(GL_PROJECTION); //Modo de proyeccion
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 500.0, 0.0, 500.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
int i,a=10;
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(3.0 , 0.0 , 0.0);
glLineWidth(2);
glBegin(GL_LINES);
17 28/10/2012
18. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
//valor inicial ---- valor final o condicion ---- incremento
for(i=0 ;i<=9;i++){
//abajo
glVertex2i (240-a*i,240-a*i);
glVertex2i (260+a*i,240-a*i);
//derecha
glVertex2i (260+a*i,240-a*i);
glVertex2i (260+a*i,260+a*i);
//izquierda
glVertex2i (240-a*i,240-a*i);
glVertex2i (240-a*i,260+a*i);
//arriba
glVertex2i (240-a*i,260+a*i);
glVertex2i (260+a*i,260+a*i);
}
glEnd();
glColor3f(3.0 , 0.0 , 0.0);
glLineWidth(2);
glBegin(GL_LINES);
//punto superior izquierdo
glVertex2i (240,260);
glVertex2i (230,270);
glVertex2i (220,280);
18 28/10/2012
19. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i (210,290);
glVertex2i (200,300);
glVertex2i (190,310);
glVertex2i (180,320);
glVertex2i (170,330);
glVertex2i (160,340);
glVertex2i (150,350);
//punto superir derecho
glVertex2i (260,260);
glVertex2i (270,270);
glVertex2i (280,280);
glVertex2i (290,290);
glVertex2i (300,300);
glVertex2i (310,310);
glVertex2i (320,320);
glVertex2i (330,330);
glVertex2i (340,340);
glVertex2i (350,350);
//punto inferior derecho
glVertex2i (260,240);
glVertex2i (270,230);
glVertex2i (280,220);
19 28/10/2012
20. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i (290,210);
glVertex2i (300,200);
glVertex2i (310,190);
glVertex2i (320,180);
glVertex2i (330,170);
glVertex2i (340,160);
glVertex2i (350,150);
//punto inferior izquierdo
glVertex2i (240,240);
glVertex2i (230,230);
glVertex2i (220,220);
glVertex2i (210,210);
glVertex2i (200,200);
glVertex2i (190,190);
glVertex2i (180,180);
glVertex2i (170,170);
glVertex2i (160,160);
glVertex2i (150,150);
glEnd();
glFlush(); //forza dibujo
}
20 28/10/2012
21. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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
}
21 28/10/2012
22. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Cubo Delineado
Descripción.- Realiza por medio de la instrucción GL_QUADS un cubo con cada
una de sus cara de diferentes colores y con la propiedad LineWidth para modificar
el grosor de las lineas.
Borrador con coordenada utilizadas:------
Código:
#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, 500.0, 0.0, 500.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(1.0 , 0.0 , 0.0);
22 28/10/2012
23. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glBegin(GL_QUADS);
glVertex2f(100,200);
glVertex2f(300,200);
glVertex2f(300,400);
glVertex2f(100,400);
glEnd();
glColor3f(0.0 , 1.0 , 0.0);
glBegin(GL_QUADS);
glVertex2f(300,200);
glVertex2f(300,400);
glVertex2f(400,480);
glVertex2f(400,300);
glEnd();
glColor3f(0.0 , 0.0 , 1.0);
glBegin(GL_QUADS);
glVertex2f(300,400);
glVertex2f(100,400);
glVertex2f(200,480);
glVertex2f(400,480);
glEnd();
glColor3f(0.0,0.0,0.0);
glLineWidth(10);
23 28/10/2012
24. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glBegin(GL_LINES);
glVertex2f(100,200);
glVertex2f(100,400);
glVertex2f(100,400);
glVertex2f(300,400);
glVertex2f(300,400);
glVertex2f(300,200);
glVertex2f(300,200);
glVertex2f(100,200);
glEnd();
glColor3f(0.0,0.0,0.0);
glLineWidth(10);
glBegin(GL_LINE_STRIP);
glVertex2f(300,200);
glVertex2f(300,400);
glVertex2f(400,480);
glVertex2f(400,300);
glVertex2f(300,200);
glVertex2f(300,400);
glVertex2f(100,400);
glVertex2f(200,480);
24 28/10/2012
25. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(400,480);
glVertex2f(300,400);
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
25 28/10/2012
26. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
return 0; //retorna un valor de cero
}
26 28/10/2012
27. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Muñeco con triángulos
Descripción.- Realiza por medio de la instrucción GL_TRIANGLES,GL_QUADS,GL
LINES Y GL POLIGON un jugador de futbol
Borrador con coordenada utilizadas:------
Código:
#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, 500.0, 0.0, 500.0); //vista ortogonal
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 1.0 , 0.0);
glLineWidth(3);
glBegin(GL_QUADS);
glVertex2f(0,0);
27 28/10/2012
28. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(500,0);
glVertex2f(500,45);
glVertex2f(0,45);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glLineWidth(3);
glBegin(GL_TRIANGLES);
glVertex2f(151,387);
glVertex2f(302,387);
glVertex2f(227,436);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(188,387);
glVertex2f(265,387);
glVertex2f(227,317);
glEnd();
glColor3f(0.0 , 1.0 , 0.0);
glLineWidth(3);
glBegin(GL_QUADS);
glVertex2f(175,317);
glVertex2f(175,199);
glVertex2f(278,199);
28 28/10/2012
29. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(278,317);
glEnd(); //forza dibujo //borra pantalla
glColor3f(0.99 , 0.8 , 0.4);
glLineWidth(3);
glBegin(GL_TRIANGLES);
glColor3f(1.0 , 1.0 , 0.0);
glVertex2f(364,330);
glVertex2f(416,330);
glVertex2f(390,202);
glVertex2f(355,188);
glVertex2f(390,202);
glVertex2f(425,188);
glVertex2f(339,330);
glVertex2f(352,324);
glVertex2f(364,330);
glVertex2f(339,330);
glVertex2f(352,324);
glVertex2f(388,212);
glVertex2f(421,330);
glVertex2f(430,324);
glVertex2f(442,330);
glVertex2f(393,212);
29 28/10/2012
30. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(430,324);
glVertex2f(442,330);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(215,317);
glVertex2f(239,317);
glVertex2f(227,295);
glColor3f(0.0 , 1.0 , 0.0);
glVertex2f(175,317);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(124,199);
glVertex2f(110,246);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(98,268);
glVertex2f(86,224);
glVertex2f(109,246);
glColor3f(0.0,1.0,0.0);
glVertex2f(277,317);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(329,200);
glVertex2f(342,246);
glColor3f(0.99 , 0.8 , 0.4);
30 28/10/2012
31. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(342,246);
glVertex2f(355,266);
glVertex2f(374,221);
glColor3f(1.0,1.0,1.0);
glVertex2f(214,200);
glVertex2f(175,163);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(213,34);
glColor3f(1.0,0.0,0.0);
glVertex2f(214,34);
glVertex2f(175,57);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(213,34);
glColor3f(1.0,0.0,0.0);
glVertex2f(213,34);
glVertex2f(175,57);
glVertex2f(149,34);
glColor3f(1.0,1.0,1.0);
glVertex2f(239,199);
glVertex2f(239,163);
glColor3f(0.99 , 0.8 , 0.4);
glVertex2f(303,163);
glColor3f(0.99 , 0.8 , 0.4);
31 28/10/2012
32. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(303,163);
glVertex2f(291,105);
glVertex2f(277,139);
glColor3f(1.0,0.0,0.0);
glVertex2f(291,105);
glVertex2f(328,127);
glVertex2f(354,104);
glEnd();
glColor3f(1.0 , 1.0 , 0.0);
glBegin(GL_POLYGON);
glVertex2f(330,104);
glVertex2f(353,82);
glVertex2f(353,56);
glVertex2f(330,33);
glVertex2f(302,33);
glVertex2f(278,56);
glVertex2f(278,82);
glVertex2f(302,104);
glEnd();
glFlush(); //forza dibujo
}
32 28/10/2012
33. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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
}
33 28/10/2012
34. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Casita
Descripción.- Realiza por medio de la instrucción ya aprendidas una casa de dos
pisos con patio y cerca ayúdate con la instrucción if
Borrador con coordenada utilizadas:------
Código:
#include <GL/glut.h>
#include <GL/gl.h>
void inicializa(void)
{
glClearColor (2.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,1000.0,0.0,600.0);
}
void dibuja(void)
{
int i,j=0;
/* borra la pantalla */
glClear(GL_COLOR_BUFFER_BIT);
// Cerca
34 28/10/2012
35. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
for(i=0;i<50;i++){
glBegin(GL_POLYGON);
glColor3f (1.0, 0.3, 0.0);
glVertex2f(0+20*i,292);
glVertex2f(5+20*i,300);
glVertex2f(10+20*i,292);
glVertex2f(10+20*i,240);
glVertex2f(0+20*i,240);
glEnd();
}
glBegin(GL_QUADS);
glVertex2i(0,289);
glVertex2i(1000,289);
glVertex2i(1000,280);
glVertex2i(0,280);
//pasto
glColor3f (0.4, 0.8, 0.2);
glVertex2i(0,240);
glVertex2i(1000,240);
glVertex2i(1000,120);
glVertex2i(0,120);
35 28/10/2012
36. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
//banqueta
glColor3f (0.6, 0.6, 0.6);
glVertex2i(0,120);
glVertex2i(1000,120);
glVertex2i(1000,90);
glVertex2i(0,90);
glColor3f (1.0, 1.0, 0.0);
glVertex2i(0,90);
glVertex2i(1000,90);
glVertex2i(1000,82);
glVertex2i(0,82);
//calle
glColor3f (0.3, 0.3, 0.3);
glVertex2i(0,82);
glVertex2i(1000,82);
glVertex2i(1000,0);
glVertex2i(0,0);
//piedras
glColor3f (0.6, 0.6, 0.6);
glVertex2i(105,180);
glVertex2i(135,180);
36 28/10/2012
37. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(135,165);
glVertex2i(105,165);
glVertex2i(165,180);
glVertex2i(195,180);
glVertex2i(195,165);
glVertex2i(165,165);
glVertex2i(105,150);
glVertex2i(135,150);
glVertex2i(135,135);
glVertex2i(105,135);
glVertex2i(165,150);
glVertex2i(195,150);
glVertex2i(195,135);
glVertex2i(165,135);
//entrada
glVertex2i(345,195);
glVertex2i(405,195);
glVertex2i(405,120);
glVertex2i(345,120);
37 28/10/2012
38. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
// Casa
glColor3f (1.0, 0.8, 0.0);
glVertex2i(210,450);
glVertex2i(540,450);
glVertex2i(540,195);
glVertex2i(210,195);
// Techo casa
glColor3f (0.9, 0.09, 0.0);
glVertex2i(210,495);
glVertex2i(540,495);
glVertex2i(585,450);
glVertex2i(165,450);
// Techo cochera
glVertex2i(75,345);
glVertex2i(210,345);
glVertex2i(210,315);
glVertex2i(60,315);
//Cortina
glColor3f (0.9, 0.9, 0.9);
glVertex2i(90,315);
glVertex2i(210,315);
glVertex2i(210,195);
glVertex2i(90,195);
38 28/10/2012
39. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
//Puerta
glColor3f (1.0, 1.0, 1.0);
glVertex2i(345,300);
glVertex2i(405,300);
glVertex2i(405,195);
glVertex2i(345,195);
//Columnas
glColor3f (0.7, 0.5, 0.3);
glVertex2i(75,315);
glVertex2i(90,315);
glVertex2i(90,195);
glVertex2i(75,195);
glVertex2i(210,330);
glVertex2i(540,330);
glVertex2i(540,315);
glVertex2i(210,315);
glVertex2i(330,435);
39 28/10/2012
40. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(345,435);
glVertex2i(345,195);
glVertex2i(330,195);
glVertex2i(405,435);
glVertex2i(420,435);
glVertex2i(420,195);
glVertex2i(405,195);
//Ventanas i
glColor3f (0.7, 0.7, 1.0);
glVertex2i(240,435);
glVertex2i(300,435);
glVertex2i(300,375);
glVertex2i(240,375);
glVertex2i(240,300);
glVertex2i(300,300);
glVertex2i(300,240);
glVertex2i(240,240);
//Ventanas d
glVertex2i(450,435);
40 28/10/2012
41. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(510,435);
glVertex2i(510,375);
glVertex2i(450,375);
glVertex2i(450,300);
glVertex2i(510,300);
glVertex2i(510,240);
glVertex2i(450,240);
//Ventanas balcon
glVertex2i(345,435);
glVertex2i(405,435);
glVertex2i(405,330);
glVertex2i(345,330);
//Ventanas puerta
glVertex2i(360,285);
glVertex2i(390,285);
glVertex2i(390,210);
glVertex2i(360,210);
//Tallos
glColor3f (0.5, 0.3, 0.2);
glVertex2i(670,225);
41 28/10/2012
42. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(700,225);
glVertex2i(700,150);
glVertex2i(670,150);
glVertex2i(875,225);
glVertex2i(905,225);
glVertex2i(905,150);
glVertex2i(875,150);
glEnd();
glBegin(GL_TRIANGLES);
// Techo balcon
glColor3f (0.5, 0.3, 0.2);
glVertex2i(375,480);
glVertex2i(435,435);
glVertex2i(315,435);
glEnd();
//arboles
glLineWidth (4);
glBegin(GL_LINES);
glColor3f (0.0, 0.7, 0.0);
42 28/10/2012
43. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
for(i=0;i<32;i++){
glVertex2i(680-3*i,540-10*j);
glVertex2i(690+3*i,540-10*j);
glVertex2i(685-3*i,535-10*j);
glVertex2i(695+3*i,535-10*j);
glVertex2i(885-3*i,540-10*j);
glVertex2i(895+3*i,540-10*j);
glVertex2i(890-3*i,535-10*j);
glVertex2i(900+3*i,535-10*j);
j=j+1;
}
glEnd();
//Linea Calle
glLineWidth (4);
glColor3f (0.0, 0.0, 0.0);
glBegin(GL_LINES);
for(i=0;i<50;i++){
glVertex2i(0+120*i,41);
glVertex2i(90+120*i,41);
}
43 28/10/2012
44. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
//Barandal
glVertex2i(344,375);
glVertex2i(406,375);
for(i=0;i<7;i++){
glVertex2i(345+10*i,375);
glVertex2i(345+10*i,330);
}
//Divicion Ventana
glVertex2i(240,262);
glVertex2i(300,262);
glVertex2i(240,397);
glVertex2i(300,397);
glVertex2i(450,397);
glVertex2i(510,397);
glVertex2i(450,262);
glVertex2i(510,262);
glVertex2i(375,434);
glVertex2i(375,375);
glVertex2i(270,397);
glVertex2i(270,375);
glVertex2i(270,262);
glVertex2i(270,240);
44 28/10/2012
45. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(480,397);
glVertex2i(480,375);
glVertex2i(480,262);
glVertex2i(480,240);
glEnd();
//Contorno ventanas
glBegin(GL_LINE_LOOP);
glVertex2i(240,435);
glVertex2i(300,435);
glVertex2i(300,375);
glVertex2i(240,375);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2i(240,300);
glVertex2i(300,300);
glVertex2i(300,240);
glVertex2i(240,240);
glEnd();
glBegin(GL_LINE_LOOP);
45 28/10/2012
46. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(450,435);
glVertex2i(510,435);
glVertex2i(510,375);
glVertex2i(450,375);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2i(450,300);
glVertex2i(510,300);
glVertex2i(510,240);
glVertex2i(450,240);
glEnd();
//Chapa
glPointSize(4);
glColor3f (0.0, 0.0, 0.0);
glBegin(GL_POINTS);
glVertex2i(352,247);
glVertex2i(352,245);
glEnd();
glFlush();
}
46 28/10/2012
47. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutInitWindowSize(1000,600);
glutInitWindowPosition(100,100);
glutCreateWindow("My Home");
inicializa();
glutDisplayFunc(dibuja);
glutMainLoop();
return 0;
}
47 28/10/2012
48. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Oso
Descripción.- Realiza con ayuda de la siguiete instrucción
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();
}
La cual corresponde a la realización de círculos, realiza un oso.
Borrador con coordenada utilizadas:------
Código:
#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
48 28/10/2012
49. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glLoadIdentity(); //Establece los parametros de proyeccion
gluOrtho2D(0.0, 500.0, 0.0, 500.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);}
49 28/10/2012
50. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glEnd();
}
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.5,0.4,0.3); //borra pantalla
circulo(250,400,50);
//ojos
glColor3f(0.0,0.0,0.0); //borra pantalla
circulo(250,390,9);
glColor3f(1.0,1.0,1.0); //borra pantalla
circulo(230,410,15);
glColor3f(1.0,1.0,1.0); //borra pantalla
circulo(270,410,15);
glColor3f(0.0,0.0,0.0); //borra pantalla
circulo(230,410,10);
glColor3f(0.0,0.0,0.0); //borra pantalla
circulo(270,410,10);
glColor3f(0.5,0.4,0.3);
circulo(250,250,100);
glColor3f(0.6,0.5,0.4);
circulo(250,250,75);
glColor3f(0.5,0.4,0.3);
50 28/10/2012
51. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
circulo(200,450,30);
glColor3f(0.5,0.4,0.3);
circulo(300,450,30);
glColor3f(0.6,0.5,0.4);
circulo(200,450,20);
glColor3f(0.6,0.5,0.4);
circulo(300,450,20);//manos
glColor3f(0.5,0.4,0.3);
circulo(350,300,35);
glColor3f(0.5,0.4,0.3);
circulo(150,300,35);
glColor3f(0.6,0.5,0.4);
circulo(350,300,25);
glColor3f(0.6,0.5,0.4);
circulo(150,300,25);;//patas
glColor3f(0.5,0.4,0.3);
circulo(170,170,35);
glColor3f(0.5,0.4,0.3);
circulo(320,170,35);
glColor3f(0.6,0.5,0.4);
circulo(170,170,25);
glColor3f(0.6,0.5,0.4);
circulo(320,170,25);
51 28/10/2012
52. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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
}
52 28/10/2012
53. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Cubo con cubitos
Descripción.- Realiza por medio de la instrucción if y con los valores x y t l un cubo
con cubos pequeños
Borrador con coordenada utilizadas:------
Código:
#include <GL/glut.h>
#include <GL/gl.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, 600.0, 0.0, 600.0); //vista ortogonal
}
void cubo (int x, int y,int t,int l){
double a=.8,b=.6;
glColor3f(0.5 , 0.9 , 0.6);
glBegin(GL_QUADS);
glVertex2f(x,y);
glVertex2f(x+t,y);
glVertex2f(x+t,y+t);
glVertex2f(x,y+t);
glColor3f(0.02 , 0.9 , 0.1);
53 28/10/2012
54. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(x,y+t);
glVertex2f(x+t,y+t);
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+(t*a),y+t+(t*b));
glColor3f(0.07 , 0.5 , 0.08);
glVertex2f(x+t,y+t);
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+t+(t*a),y+(t*b));
glVertex2f(x+t,y);
glEnd();
glColor3f(0.0 , 0.0 , 0.0);
glLineWidth(l);
glBegin(GL_LINES);
glVertex2f(x,y);
glVertex2f(x+t,y);
glVertex2f(x+t,y);
glVertex2f(x+t,y+t);
glVertex2f(x+t,y+t);
glVertex2f(x,y+t);
glVertex2f(x,y);
54 28/10/2012
55. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(x,y+t);
glVertex2f(x+t,y+t);
glVertex2f(x+t,y+t);
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+(t*a),y+t+(t*b));
glVertex2f(x,y+t);
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+(t*a),y+t+(t*b));
glVertex2f(x+t,y+t);
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+t+(t*a),y+t+(t*b));
glVertex2f(x+t+(t*a),y+(t*b));
glVertex2f(x+t+(t*a),y+(t*b));
glVertex2f(x+t,y);
glVertex2f(x+t,y+t);
glEnd();
}
void dibuja(void) //funcion dibuja
{
55 28/10/2012
56. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(1.0 , 0.0 , 0.0);
for(int k=0;k<=10;k++){
cubo(260-20*k*.8,220-20*k*.6,20,5);
}
for(int j=0;j<=9;j++){
cubo(280+20*j,420,20,5);
cubo(280+20*j,220,20,5);
}
for(int i=0;i<=9;i++){
cubo(260,240+20*i,20,5);
}
for(int k=0;k<=10;k++){
cubo(481-20*k*.8,220-20*k*.6,20,5);
}
for(int i=0;i<=9;i++){
cubo(481,240+20*i,20,5);
}
//traves traseras
for(int k=0;k<=10;k++){
cubo(260-20*k*.8,420-20*k*.6,20,5);
56 28/10/2012
57. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
}
for(int j=0;j<=9;j++){
cubo(280+20*j,420,20,5);
}
//cubo delantero
for(int i=0;i<=10;i++){
cubo(100,100+20*i,20,5);
}
for(int j=0;j<=9;j++){
cubo(120+20*j,100,20,5);
cubo(120+20*j,300,20,5);
}
for(int i=0;i<=10;i++){
cubo(320,100+20*i,20,5);
}
for(int k=0;k<=10;k++){
cubo(481-20*k*.8,420-20*k*.6,20,5);
}
glFlush(); //forza dibujo
}
int main (int argc, char** argv) //metodo main
57 28/10/2012
58. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
{
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
}
58 28/10/2012
59. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Muñeco con formas
Descripción.- Realiza por medio de lo ya aprendido un muñeco mas detallado.
Borrador con coordenada utilizadas:------
Código:
#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, 600.0, 0.0, 600.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);}
59 28/10/2012
60. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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);
glBegin(GL_TRIANGLES);
glColor3f(0.0,0.0,0.0);
glVertex2f(218,532);
glVertex2f(282,532);
glVertex2f(250,600);
glVertex2f(218,532);
60 28/10/2012
61. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(282,532);
glVertex2f(280,600);
glVertex2f(218,532);
glVertex2f(282,532);
glVertex2f(230,600);
glVertex2f(218,532);
glVertex2f(282,532);
glVertex2f(300,600);
glVertex2f(218,532);
glVertex2f(282,532);
glVertex2f(200,600);
glEnd();
glBegin(GL_QUADS);
glColor3f(0.9,0.7,0.6);
glVertex2f(230,500);
glVertex2f(270,500);
glVertex2f(270,400);
glVertex2f(230,400);
//cinturon
glColor3f(1.0,1.0,0.0);
61 28/10/2012
62. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(350,200);
glVertex2f(150,200);
glVertex2f(150,170);
glVertex2f(350,170);
glColor3f(0.0,0.0,0.0);
glVertex2f(280,200);
glVertex2f(220,200);
glVertex2f(220,170);
glVertex2f(280,170);
//camisa
glColor3f(1.0,0.0,0.0);
glVertex2f(150,400);
glVertex2f(350,400);
glVertex2f(350,200);
glVertex2f(150,200);
//ess
glVertex2f(150,50);
glVertex2f(100,50);
glVertex2f(70,20);
glVertex2f(150,20);
glVertex2f(400,50);
glVertex2f(350,50);
glVertex2f(350,20);
62 28/10/2012
63. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2f(430,20);
//brazo
glVertex2f(350,400);
glVertex2f(300,350);
glVertex2f(400,250);
glVertex2f(450,300);
//mano
glColor3f(0.9,0.7,0.6);
glVertex2f(420,270);
glVertex2f(440,300);
glVertex2f(490,250);
glVertex2f(470,220);
glVertex2f(80,270);
glVertex2f(60,300);
glVertex2f(10,250);
glVertex2f(10,220);
//brazo2
63 28/10/2012
64. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glColor3f(1.0,0.0,0.0);
glVertex2f(150,400);
glVertex2f(200,350);
glVertex2f(100,250);
glVertex2f(50,300);
glEnd();
glPointSize(15);
glBegin(GL_POINTS);
glColor3f(0.0,0.7,0.6);
glVertex2f(250,325);
glVertex2f(250,275);
glVertex2f(250,225);
glEnd();
//pedaso de triangulo
glBegin(GL_TRIANGLES);
glColor3f(0.9,0.7,0.6);
glVertex2f(270,400);
glVertex2f(230,400);
glVertex2f(250,350);
//pantalon
//pieseses
glEnd();
64 28/10/2012
65. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glBegin(GL_POLYGON);
glColor3f(0.0,0.0,1.0);
glVertex2f(150,170);
glVertex2f(350,170);
glVertex2f(400,50);
glVertex2f(350,50);
glVertex2f(250,120);
glVertex2f(150,50);
glVertex2f(100,50);
glEnd();
glColor3f(0.9,0.7,0.6); //borra pantalla
circulo(170,532,20);
circulo(330,532,20);
circulo(250,500,75);
glColor3f(0.0,0.0,0.0);
circulo(230,510,10);
circulo(270,510,10);
//dedos
glColor3f(0.9,0.7,0.6);
circulo(10,230,15);
circulo(30,235,10);
65 28/10/2012
66. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
circulo(7,235,10);
circulo(7,240,10);
circulo(460,225,15);
circulo(475,225,10);
circulo(485,235,10);
circulo(495,245,10);
//borra pantalla
glEnd();
glBegin(GL_LINES);
glColor3f(0.0,0.0,0.0);
glVertex2f(250,510);
glVertex2f(250,490);
glVertex2f(250,490);
glVertex2f(260,490);
glVertex2f(230,450);
glVertex2f(270,450);
glEnd();
//CAMISA
66 28/10/2012
67. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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
}
67 28/10/2012
68. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Animación circulo
Descripción.- Realiza por medio de la instrucción de circulo un movimiento en
alrededor de la pantalla.
Borrador con coordenada utilizadas:------
Código:
#include <unistd.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int x=1, y=1, z=1, t=1;
void inicializa(void)
{
glClearColor(0.0,0.0,1.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
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); glColor3f (0.5, 0.5, 0.5);
glVertex2f(x,y);
glColor3f(0,0.0,0.0);
68 28/10/2012
69. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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);
if(x>=1 && x<500){
circulo(100+x,600,40);
glFlush();
x++;
}
if(y>=1 && y<500 && x==500){
circulo(600,600-y,40);
glFlush();
y++;
}
if(z>=1 && z<500 && y==500&& x==500 ){
circulo(600-z,100,40);
glFlush();
z++;
}
if(t>=1 && t<500 && z==500 && y==500&& x==500 ){ //reiniciar
circulo(100,100+t,40);
69 28/10/2012
70. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glFlush();
t++;
}
if(t==500){x=1; y=1; z=1; t=1;}
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();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);
glutMainLoop();
return 0;
}
70 28/10/2012
71. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
71 28/10/2012
72. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Animación sistema solar
Descripción.- Realiza por medio de la instrucción circulo y movimiento una
simulación del sistema solar
Borrador con coordenada utilizadas:------
Código:
#include <unistd.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int rad=100;
double ang=0,a=0,b=0;
void inicializa(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 1000.0, 0.0, 1000.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);
72 28/10/2012
73. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
for (angulo=0;angulo<=360; angulo++){ glVertex2f(x + sin(angulo) * radio, y
+ cos(angulo) * radio);}
glEnd();
}
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 dibuja(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//esto
glColor3f (0.9,0.8, 0.0);
circulo(500,500,50);
glColor3f (1.0,1.0, 1.0);
73 28/10/2012
76. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
circuloc(500,500,1,490);
glColor3f (0.4, 0.5, 0.4);
circulo( 500- sin(b) * 490,500 + cos(b) * 490,15);
a+=0.1;
b+=0.2;
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);
glutCreateWindow("Ventana");
76 28/10/2012
77. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
inicializa();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);//esto es lo que cambia
glutMainLoop();
return 0;
}
77 28/10/2012
78. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Movimiento en Ocho
Descripción.- Realiza por medio de las instrucciones del ejercicio del sistema solar
un movimiento en ocho como si fuese una carrera da autos con un solo circulo.
Borrador con coordenada utilizadas:------
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.0,0.0,1.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 1000.0, 0.0, 1000.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);
78 28/10/2012
79. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
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);//esto
glColor3f (0.9,0.8, 0.0);
circulo(500,300,250);
glColor3f (0.9,0.0, 0.0);
circulo(500,300,150);
glColor3f (0.9,0.8, 0.0);
circulo(500,700,250);
glColor3f (0.9,0.0, 0.0);
circulo(500,700,150);//ocho
if(a>=6.15 && a<=12.41){
circulo(500+ sin (a)*200,700- cos(a)*200,40);
a=a+ 0.03;
}
else{
circulo(500 + sin (b) *200,300-cos(b)*-200,40);
b=b + 0.1;
if(b>12.4){a=6.15;b=6.15;}
79 28/10/2012
80. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
for(int j=0; j<=10000000; j++) {}
}
// 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);
glutCreateWindow("Ventana");
inicializa();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);//esto es lo que cambia
glutMainLoop();
return 0;
}
80 28/10/2012
81. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
81 28/10/2012
82. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Semáforo
Descripción.- Realiza por medio de la instrucción utilizadas en el movimiento en
ocho un semáforo en el cual parpadeedos veces el verde luego cambia al amarillo
y después al rojo
Borrador con coordenada utilizadas:------
Código:
#include <unistd.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <math.h>
int rad=100;
double ang=0,a=0,b=0,c=0,d=0,e=0,f=0,g=0;
void inicializa(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 500.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);
82 28/10/2012
83. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
//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);
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
glBegin(GL_QUADS);//Cuadros fondo semaforo
glColor3f(0.44 , 0.72 , 0.25);
glVertex2i(150,437);
glVertex2i(350,437);
glVertex2i(350,182);
83 28/10/2012
84. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex2i(150,182);
glVertex2i(1,255);
glVertex2i(500,255);
glVertex2i(500,320);
glVertex2i(1,320);
glEnd();
glColor3f(0.0,0.0,0.0);//Luces Verde
circulo(247,226,30);
glColor3f(0.0,0.0,0.0);//Luces Amarrilla
circulo(247,302,30);
glColor3f(0.0,0.0,0.0);//Luces Roja
circulo(247,381,30);
a=a+1; //velocidad entre mas grande mas rapido y entre menos mas lento
for(int j=1;j<=10000000;j++){}//pausa
if(a>1 && a<20){
glColor3f(1.0,0.0,0.0);//Luces Roja
84 28/10/2012
85. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
circulo(247,381,30);
}
if(a>20 && a<45){
glColor3f(0.0,1.0,0.0);//Luces Roja
circulo(247,226,30);
}// se repite idefinidamente
if(a>45 && a<55){
glColor3f(0.0,1.0,0.0);//Luces Roja
circulo(247,226,30);
}// se repite idefinidamente
if(a>55 && a<55){
glColor3f(1.0,1.0,0.0);//Luces Roja
circulo(247,302,30);
}// se repite idefinidamente
if(a>50 && a<60){
glColor3f(1.0,1.0,0.0);//Luces Roja
circulo(247,302,30);
}// se repite idefinidamente
85 28/10/2012
86. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
if(a>50 && a<55){
glColor3f(1.0,1.0,0.0);//Luces Roja
circulo(247,302,30);
}// se repite idefinidamente
if(a>60){a=0;}
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(500,500);
glutInitWindowPosition(10,10);
glutCreateWindow("Ventana");
inicializa();
glutDisplayFunc(dibuja);
glutIdleFunc(dibuja);//esto es lo que cambia
glutMainLoop();
return 0;
86 28/10/2012
87. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
}
87 28/10/2012
88. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
Objetos 3D Wire(9)
(Nombre)
Descripción.- Realiza por medio de las instrucción que se te da tu nombre en 3D
Borrador con coordenada utilizadas:------
Código:
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
GLfloat anguloEsfera = 0.0f;
GLfloat girax=0,giray=0,zoom=0,e,f;
GLboolean malla=GL_FALSE, ejes=GL_TRUE;
void mover(void){
glTranslated(0,0,zoom);
glRotated(girax,1.0,0.0,0.0);
glRotated(giray,0.0,1.0,0.0);
}
void creaMalla(void){
int i, long_eje=10;
glColor3f(1.0,1.0,0.0);
88 28/10/2012
89. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glBegin(GL_LINES);
for(i=-long_eje;i<=long_eje;i++){
glVertex3f(i,-long_eje,0);
glVertex3f(i,long_eje,0);
glVertex3f(-long_eje,i,0);
glVertex3f(long_eje,i,0);
glVertex3f(i,0,-long_eje);
glVertex3f(i,0,long_eje);
glVertex3f(-long_eje,0,i);
glVertex3f(long_eje,0,i);
}
glEnd();
}
void creaEjes(void){
glColor3f(0.0,0.0,0.0);
glBegin(GL_LINES);
glColor3f(0.0,0.0,1.0);
glVertex3f(-11.0,0.0,0.0);
glVertex3f(11.0,0.0,0.0);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.0,-11.0,0.0);
glVertex3f(0.0,11.0,0.0);
89 28/10/2012
90. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glColor3f(0.0,1.0,0.0);
glVertex3f(0.0,0.0,-11.0);
glVertex3f(0.0,0.0,11.0);
glEnd();
glBegin(GL_TRIANGLES);
glColor3f(0.0,0.0,1.0);
glVertex3f(11.0,0.0,0.0);
glVertex3f(10.5,0.0,-.50);
glVertex3f(10.5,0.0,.50);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.0,11.0,0.0);
glVertex3f(-.50,10.5,0.0);
glVertex3f(.50,10.5,0.0);
glColor3f(0.0,1.0,0.0);
glVertex3f(0.0,0.0,11.0);
glVertex3f(-.50,0.0,10.5);
glVertex3f(.50,0.0,10.5);
//puntas otras
glColor3f(0.0,0.0,1.0);
glVertex3f(-11.0,0.0,0.0);
glVertex3f(-10.5,0.0,.50);
glVertex3f(-10.5,0.0,-.50);
glColor3f(1.0,0.0,0.0);
90 28/10/2012
91. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glVertex3f(0.0,-11.0,0.0);
glVertex3f(.50,-10.5,0.0);
glVertex3f(-.50,-10.5,0.0);
glColor3f(0.0,1.0,0.0);
glVertex3f(0.0,0.0,-11.0);
glVertex3f(.50,0.0,-10.5);
glVertex3f(-.50,0.0,-10.5);
glEnd();
}
void init ( void )
{
glClearColor(1.0,1.0,1.0,0.0) ;// Definimos el negro como color de fondo
glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer
glEnable(GL_LIGHTING); // Activamos la iluminación
glEnable(GL_LIGHT0); // Activamos la luz 0
glMatrixMode(GL_PROJECTION); // set the view volume shape
glLoadIdentity(); glOrtho(-15,15,-15,15,-30,30);
glMatrixMode(GL_MODELVIEW); // position and aim the camera
glLoadIdentity();
gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0);
91 28/10/2012
92. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
}
void dibuja( void )
{
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glEnable(GL_DEPTH_TEST); // Activamos el z-Buffer
glEnable(GL_LIGHTING); // Activamos la iluminación
glEnable(GL_LIGHT0); // Activamos la luz 0
//glShadeModel(GL_FLAT);
glShadeModel (GL_SMOOTH);
// Cargamos la matriz identidad para reiniciar las transformaciones
/* float angulo;
int i;
glLineWidth(20);
glBegin(GL_LINES);
glColor3d(1,1,1);
for (i=0; i<360; i+=10) {
angulo = (GLfloat)i*3.14159f/180.0f; // grados a radianes
glColor3d(1,1,1);
glVertex3i(0,0,-3);
glVertex3f(0+cos(angulo)*45, 0+sin(angulo)*45,0);
}
glEnd();*/
92 28/10/2012
93. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
// Colocamos una luz
glLightfv(GL_LIGHT0,GL_DIFFUSE,(GLfloat []){1.0f,1.0f,1.0f,0.0f}); // Color de la
luz
glLightfv(GL_LIGHT0,GL_AMBIENT,(GLfloat []){1.0, 1.0, 1.0, 4.0}); // Luz ambiente
glLightfv(GL_LIGHT0,GL_POSITION,(GLfloat []){0.0f,12.0f,5.0f,0.0f}); // Posición
de la luz
glLightfv(GL_LIGHT0,GL_EMISSION,(GLfloat []){0.5,0.5,0.5,1.0});
//glShadeModel (GL_SMOOTH);
// esfera
glPushMatrix();
mover();
if(malla) creaMalla();
if(ejes) creaEjes();
//glRotatef(anguloEsfera, 1.0f, 1.0f,0.0f);
glColor3f(1.0,1.0,0.0);
//R
glTranslatef(-8.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
93 28/10/2012
94. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(-1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(2.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
94 28/10/2012
95. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,-1.0, 0.0);
glutSolidCube(1);
glTranslatef(-1.0,2.0, 0.0);
glutSolidCube(1);
glTranslatef(3.0,-2.0, 0.0);
glutSolidCube(1);
95 28/10/2012
96. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,-4.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(2.0,-4.0, 0.0);
96 28/10/2012
97. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(0.0,1.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,-4.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
glTranslatef(1.0,0.0, 0.0);
glutSolidCube(1);
// AQUI PONES TU NOMBRE
//AQUI
//AQUI
//AQUI//AQUI
//AQUI//AQUI//AQUI
//AQUI
97 28/10/2012
98. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
glPopMatrix ();
glFlush();
glutSwapBuffers ();
//anguloEsfera+=2.0f;
}
void reshape(int w, int h){
glClearColor(1.0,1.0,1.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-15,15,-15,15,-30,30);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_DEPTH_TEST);
}
void activo(int x,int y){
// x= e;
//y= f;
girax=y;
giray=700-x;
glutPostRedisplay();
}
98 28/10/2012
99. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
void teclado(unsigned char key, int x, int y){
switch(key){
case 27:
exit(0);
case '+':
zoom++;
break;
case '-':
zoom--;
break;
case 'p':
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,1,10,100);
zoom=-40;
break;
case 'o':
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-15,15,-15,15,-30,30);
zoom=0;
break;
case 'm':
99 28/10/2012
100. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
malla= !malla;
break;
case 'e':
ejes= !ejes;
default: break;
}
glutPostRedisplay();
}
void flechas(int key, int x, int y){
switch(key){
case GLUT_KEY_LEFT:
giray-=15;
break;
case GLUT_KEY_RIGHT:
giray+=15;
break;
case GLUT_KEY_UP:
girax-=15;
break;
case GLUT_KEY_DOWN:
girax+=15;
break;
100 28/10/2012
101. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
default: break;
}
glutPostRedisplay();
}
int main ( int argc, char** argv )
{
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize (600,600);
glutInitWindowPosition (100,100);
glutCreateWindow ("Objetos 3D");
//init ( );
glutDisplayFunc (dibuja);
//glutIdleFunc(dibuja);
glutReshapeFunc ( reshape );
glutKeyboardFunc(teclado);
glutSpecialFunc(flechas);
glutMotionFunc(activo);
glutMainLoop( );
return 0;
}
101 28/10/2012
102. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
102 28/10/2012
103. Centro de estudios Científicos y Tecnológicos del
Estado de México (CECYTEM)-Tecámac
103 28/10/2012