Manual de prácticas rivera y ruiz
Click here to load reader
-
Upload
pachoon-vargas -
Category
Technology
-
view
282 -
download
7
Transcript of Manual de prácticas rivera y ruiz
![Page 1: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/1.jpg)
CECyTEM PLANTEL TECÁMAC
Manual de prácticas en OPEN GL “Dev C++”
Alumnos: Rivera Sánchez Gabriela Ruiz Cortes German David
Prof.: René Domínguez Escalona
Grupo: 303
![Page 2: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/2.jpg)
Introducción. En este manual se podrá apreciar algunas de las principales funciones del lenguaje de programación de OPEN GL y así se podrá aplicar para diseño gráfico, se mostraran funciones principales o primitivas del programa para la realización de objetos en el programa se verá desde lo más básico hasta lo más avanzado como puede ser desde la elaboración de un cuadro hasta la animación de un objeto en 2D & 3D.
![Page 3: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/3.jpg)
Índice.
1°- Tablero de Ajedrez
2°-Estrella
3°- Cubo con líneas
4°-Cubo delineado
5°-Muñeco con triángulos
6°-Piramide
7°-Casita
8°- Oso
9°-Cubo con Cubitos
10°-Muñeco con formas
11°-Animación circulo
12°- Nombre 3D
13°-Animación sistema solar
14°-Movimiento en ocho
15°-Semaforo
16°- Cubo 3D con líneas.
![Page 4: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/4.jpg)
1° TABLERO DE AJEDREZ
En esta práctica aremos un tablero de ajedrez con cuadros unos negro y uno blanco de 8*8. La realizaremos con la primitiva GL_POINTS, comenzaremos por definir el color de cada cuadro con glColor3f(0.0 , 0.0 , 0.0) que sería negro, luego el tamaño del punto glPointSize(50) y en seguida anotaremos la primitiva ya mencionada glBegin(GL_POINTS).
Luego de esto se pondrán las coordenadas glVertex2i(100,800); por ejemplo deberán de ser 4 coordenadas para insertar un cuadro
glVertex2i(100,500);
glVertex2i(100,600);
glVertex2i(100,700);
glVertex2i(100,800);
y así lo haremos consecutivamente hasta lograr hacer el tablero indicado.
CODIGO:
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(100,500);
glVertex2i(100,600);
glVertex2i(100,700);
glVertex2i(100,800);
![Page 5: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/5.jpg)
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(150,500);
glVertex2i(150,600);
glVertex2i(150,700);
glVertex2i(150,800);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(100,550);
glVertex2i(100,650);
glVertex2i(100,750);
glVertex2i(100,850);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(150,550);
glVertex2i(150,650);
glVertex2i(150,750);
glVertex2i(150,850);
glColor3f(0.0 , 0.0 , 0.0);
![Page 6: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/6.jpg)
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(200,500);
glVertex2i(200,600);
glVertex2i(200,700);
glVertex2i(200,800);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(200,500);
glVertex2i(200,600);
glVertex2i(200,700);
glVertex2i(200,800);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(200,550);
glVertex2i(200,650);
glVertex2i(200,750);
glVertex2i(200,850);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
![Page 7: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/7.jpg)
glBegin(GL_POINTS);
glVertex2i(250,500);
glVertex2i(250,600);
glVertex2i(250,700);
glVertex2i(250,800);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(250,550);
glVertex2i(250,650);
glVertex2i(250,750);
glVertex2i(250,850);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(300,500);
glVertex2i(300,600);
glVertex2i(300,700);
glVertex2i(300,800);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
![Page 8: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/8.jpg)
glVertex2i(300,550);
glVertex2i(300,650);
glVertex2i(300,750);
glVertex2i(300,850);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(350,500);
glVertex2i(350,600);
glVertex2i(350,700);
glVertex2i(350,800);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(350,550);
glVertex2i(350,650);
glVertex2i(350,750);
glVertex2i(350,850);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
![Page 9: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/9.jpg)
glVertex2i(400,500);
glVertex2i(400,600);
glVertex2i(400,700);
glVertex2i(400,800);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(400,550);
glVertex2i(400,650);
glVertex2i(400,750);
glVertex2i(400,850);
glColor3f(1.0 , 1.0 , 1.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(450,500);
glVertex2i(450,600);
glVertex2i(450,700);
glVertex2i(450,800);
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_POINTS);
glVertex2i(450,550);
![Page 10: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/10.jpg)
glVertex2i(450,650);
glVertex2i(450,750);
glVertex2i(450,850);
glEnd();
2° ESTRELLA
En esta práctica haremos una estrella a base de líneas con la primitiva glBegin(GL_LINES), definiremos en tamaño de la línea y el color con:
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
y comenzaremos a anotar cada una de las coordenadas para así llegar a la forma de la estrella.
CODIGO:
void dibuja(void) //funcion dibuja
{
![Page 11: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/11.jpg)
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glBegin(GL_LINES);
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(174,300);
glVertex2i(425,300);
glBegin(GL_LINES);
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(200,150);
glVertex2i(425,300);
glBegin(GL_LINES);
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(200,150);
glVertex2i(300,400);
glBegin(GL_LINES);
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(300,400);
glVertex2i(400,150);
glBegin(GL_LINES);
![Page 12: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/12.jpg)
glPointSize(10);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(400,150);
glVertex2i(175,300);
glEnd();
3° CUBO CON LÍNEAS
En esta práctica utilizaremos 2 primitivas glBegin(GL_QUADS) para hacer cuadros y glBegin(GL_LINES); para hacer las líneas igual que practicas anteriores definiremos el color de la línea o cuadro con glColor3f(1.0 , 0.0 , 0.0);.
Primero haremos la parte trasera del cubo para que se noten las líneas de enfrente y no estén cubiertas por las demás líneas o cuadros.
Y de igual forma definiremos cada coordenada hasta lograr el cubo con líneas.
CODIGO:
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
![Page 13: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/13.jpg)
glColor3f(0.0 , 0.0 , 0.0);
glPointSize(50);
glBegin(GL_LINES);
glVertex2i(200, 100);
glVertex2i(300, 100);
glVertex2i(200, 100 );
glVertex2i(200, 200);
glVertex2i(200, 200);
glVertex2i(300, 200);
glVertex2i(300, 200);
glVertex2i(300, 100);
glVertex2i(250, 150);
glVertex2i(200, 100);
glVertex2i(250, 150);
glVertex2i(350, 150);
glVertex2i(350, 150);
glVertex2i(300, 100);
glVertex2i(250, 150);
![Page 14: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/14.jpg)
glVertex2i(250, 250);
glVertex2i(250, 250);
glVertex2i(200, 200);
glVertex2i(250, 250);
glVertex2i(350, 250);
glVertex2i(350, 250);
glVertex2i(300, 200);
glVertex2i(350, 250);
glVertex2i(350, 150);
glEnd();
4°CUBO DELINEADO
![Page 15: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/15.jpg)
Esta práctica la haremos como la práctica de CUBO CON LÍNEAS lo único que modificaremos será el grosor de la línea con la instrucción glLineWidth(3) el tamaño de la línea será colocado dentro del paréntesis y le modificaremos el color de cada lado para ver así la separación de cada lado.
CODIGO:
void dibuja(void) //funcion dibuja
{
glClear(GL_COLOR_BUFFER_BIT); //borra pantalla
glLineWidth(5);
//enfrente
glBegin(GL_QUADS);
glColor3f(1.0 , 0.0 , 0.0);
glVertex2i(200,200);
glVertex2i(300,200);
glVertex2i(300,200);
glVertex2i(300,100);
glVertex2i(300,100);
glVertex2i(200,100);
glVertex2i(200,100);
glVertex2i(200,200);
//derecha
glColor3f(0.0 , 0.0 , 1.0);
glVertex2i(300,200);
glVertex2i(350,250);
glVertex2i(350,250);
glVertex2i(350,150);
glVertex2i(350,150);
![Page 16: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/16.jpg)
glVertex2i(300,100);
glVertex2i(300,100);
glVertex2i(300,200);
//arriba
glColor3f(.0 , 1.0 , 0.0);
glVertex2i(200,200);
glVertex2i(250,250);
glVertex2i(250,250);
glVertex2i(350,250);
glVertex2i(350,250);
glVertex2i(300,200);
glVertex2i(300,200);
glVertex2i(200,200);
glEnd();
//enfrente
glLineWidth(5);
glBegin(GL_LINES);
glColor3f(0.0 , 0.0 , 0.0);
glVertex2i(200,200);
glVertex2i(300,200);
glVertex2i(300,200);
glVertex2i(300,100);
glVertex2i(300,100);
glVertex2i(200,100);
![Page 17: Manual de prácticas rivera y ruiz](https://reader037.fdocuments.net/reader037/viewer/2022100420/55912a241a28abef188b479c/html5/thumbnails/17.jpg)
glVertex2i(200,100);
glVertex2i(200,200);
//derecha
glVertex2i(300,200);
glVertex2i(350,250);
glVertex2i(350,250);
glVertex2i(350,150);
glVertex2i(350,150);
glVertex2i(300,100);
glVertex2i(300,100);
glVertex2i(300,200);
//arriba
glVertex2i(200,200);
glVertex2i(250,250);
glVertex2i(250,250);
glVertex2i(350,250);
glVertex2i(350,250);
glVertex2i(300,200);
glVertex2i(300,200);
glVertex2i(200,200);
glEnd();