martes, 14 de febrero de 2017
Primitivas2D
/*
* GERMAN INIESTA SANCHEZ
* LOGO 1 Ying-Yang
*/
#include <windows.h>
#include <GL\glut.h>
#include <stdlib.h>
#include <math.h>
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
int x = 0;
int y = 0;
glPointSize(2);
glColor3f(0.0, 0.0, 0.0);
//circunferencia principal
glBegin(GL_POINTS);
float j = 0;
while (j < 360){
x = 200 * cos(j);
y = 200 * sin(j);
glVertex2i(x, y);
j = j + 0.1;
}
glEnd();
glBegin(GL_POLYGON);
j = (3.1416);
while (j > 0){
y = 100 * cos(j) - 100;
x = 100 * sin(j);
glVertex2i(x, y);
j = j - 0.001;
}
j = (3.1416 / 2);
while (j < 4.8){
x = 100 * cos(j);
y = 100 * sin(j) + 100;
glVertex2i(x, y);
j = j + 0.001;
}
j = 3.1416 / 2;
while (j < 4.8){
x = 200 * cos(j);
y = 200 * sin(j);
glVertex2i(x, y);
j = j + 0.001;
}
glEnd();
glColor3f(255.0, 255.0, 255.0);
glBegin(GL_POLYGON);
j = 0;
while (j < 180){
x = 100 * cos(j);
y = 100 * sin(j) + 100;
glVertex2i(x, y);
j = j + 0.001;
}
glEnd();
//creamos los circulos internos
glColor3f(255.0, 255.0, 255.0);
glBegin(GL_POLYGON);
j = 0;
while (j < 180){
x = 40 * cos(j);
y = 40 * sin(j) - 100;
glVertex2i(x, y);
j = j + 0.001;
}
glEnd();
glColor3f(0, 0, 0);
glBegin(GL_POLYGON);
j = 0;
while (j < 180){
x = 40 * cos(j);
y = 40 * sin(j) + 100;
glVertex2i(x, y);
j = j + 0.001;
}
glEnd();
glFlush();
}
int main(int argc, char** argv){
glutInit(&argc, argv); //iniciar libreria glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(768, 768); //inicializa el tamaño de la ventana
glutInitWindowPosition(100, 100); //posicion de la ventana
glutCreateWindow("Ying-Yang"); //crear la ventana
glClearColor(255, 255, 255, 0);
gluOrtho2D(-640, 640, -480, 480);
//indicamos a GLUT que la rutina utilizada como display
//este tipo de rutina se ejecuta una vez por ciclo de programa
//y sera la que realice todas las operaciones graficas (render)
glutDisplayFunc(display);
//ciclo de la aplicacion
glutMainLoop();
return 0;
}
/*
* GERMAN INIESTA SANCHEZ
* LOGO 2 Dominos
*/
#include <windows.h>
#include <GL\glut.h>
#include <stdlib.h>
#include <math.h>
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
int x = 0;
int y = 0;
glPointSize(2);
glColor3f(0.0, 0.0, 255.0);
//creamos el cuadro azul
glBegin(GL_TRIANGLE_STRIP);
x = -200;
y = 0;
glVertex2i(x, y);
x = -400;
y = -200;
glVertex2i(x, y);
x = -200;
y = -400;
glVertex2i(x, y);
x = 0;
y = -200;
glVertex2i(x, y);
x = -200;
y = 0;
glVertex2i(x, y);
glEnd();
glColor3f(255.0, 0.0, 0.0);
//creamos el cuadro rojo
glBegin(GL_TRIANGLE_STRIP);
x = -150;
y = 50;
glVertex2i(x, y);
x = 50;
y = 250;
glVertex2i(x, y);
x = 250;
y = 50;
glVertex2i(x, y);
x = 50;
y = -150;
glVertex2i(x, y);
x = -150;
y = 50;
glVertex2i(x, y);
glEnd();
//circulo rojo
glColor3f(255.0, 255.0, 255.0);
glPointSize(3);
glBegin(GL_POINTS);
for (int i = 0; i <= 50; i++){
for (int j = 0; j < 360; j++){
x = i*cos(j) + 50;
y = i*sin(j) + 50;
glVertex2i(x, y);
}
}
glEnd();
//circulos azules
glPointSize(3);
glBegin(GL_POINTS);
for (int i = 0; i <= 50; i++){
for (int j = 0; j < 360; j++){
x = i * cos(j) - 120;
y = i * sin(j) - 200;
glVertex2i(x, y);
}
}
glEnd();
glPointSize(3);
glBegin(GL_POINTS);
for (int i = 0; i <= 50; i++){
for (int j = 0; j < 360; j++){
x = i * cos(j) - 280;
y = i * sin(j) - 200;
glVertex2i(x, y);
}
}
glEnd();
glFlush();
}
int main(int argc, char** argv){
glutInit(&argc, argv); //iniciar libreria glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(768, 768); //inicializa el tamaño de la ventana
glutInitWindowPosition(100, 100); //posicion de la ventana
glutCreateWindow("Dominos"); //crear la ventana
glClearColor(255, 255, 255, 0);
gluOrtho2D(-640, 640, -480, 480);
//indicamos a GLUT que la rutina utilizada como display
//este tipo de rutina se ejecuta una vez por ciclo de programa
//y sera la que realice todas las operaciones graficas (render)
glutDisplayFunc(display);
//ciclo de la aplicacion
glutMainLoop();
return 0;
}
#include <windows.h>
#include <GL\glut.h>
#include <stdlib.h>
#include <math.h>
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
int x = 0;
int y = 0;
glPointSize(2);
glColor3f(255.0, 0.0, 0.0);
//creamos el primer rombo
glBegin(GL_TRIANGLE_STRIP);
x = 0;
y = 360;
glVertex2i(x, y);
x = 160;
y = 180;
glVertex2i(x, y);
x = 0;
y = 0;
glVertex2i(x, y);
x = -160;
y = 180;
glVertex2i(x, y);
x = 0;
y = 360;
glVertex2i(x, y);
glEnd();
//creamos el rombo inferior izquierdo
glBegin(GL_TRIANGLE_STRIP);
x = 0;
y = 0;
glVertex2i(x, y);
x = -160;
y = -160;
glVertex2i(x, y);
x = -480;
y = -160;
glVertex2i(x, y);
x = -320;
y = 0;
glVertex2i(x, y);
x = 0;
y = 0;
glVertex2i(x, y);
glEnd();
//rombo inferior derecho
glBegin(GL_TRIANGLE_STRIP);
x = 0;
y = 0;
glVertex2i(x, y);
x = 160;
y = -160;
glVertex2i(x, y);
x = 480;
y = -160;
glVertex2i(x, y);
x = 320;
y = 0;
glVertex2i(x, y);
x = 0;
y = 0;
glVertex2i(x, y);
glEnd();
glFlush();
}
int main(int argc, char** argv){
glutInit(&argc, argv); //iniciar libreria glut
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(768, 768); //inicializa el tamaño de la ventana
glutInitWindowPosition(100, 100); //posicion de la ventana
glutCreateWindow("Mitsubishi"); //crear la ventana
glClearColor(255, 255, 255, 0);
gluOrtho2D(-640, 640, -480, 480);
//indicamos a GLUT que la rutina utilizada como display
//este tipo de rutina se ejecuta una vez por ciclo de programa
//y sera la que realice todas las operaciones graficas (render)
glutDisplayFunc(display);
//ciclo de la aplicacion
glutMainLoop();
return 0;
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario