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;
}

No hay comentarios:

Publicar un comentario