lunes, 19 de febrero de 2018

Tarea 4 Jose Armando Lopez Capetillo




#include <windows.h>
#include <math.h>
#include <GL/glut.h>
#define PI 3.141592653

float r,dx,dy;

void Linea(void){

    glColor3f(1,1,1);

    glBegin(GL_QUADS);
    glVertex2i(0,0); glVertex2i(0,100);
    glVertex2i(10,100); glVertex2i(10,0);
    glEnd();
}

void EsferaRoja(float r){
    glColor3f(1,0,0);
     glBegin(GL_POLYGON);
     for(float i=0.0; i<2*PI; i+=0.01){
         dx=r*cos(i)-40;
         dy=r*sin(i)+40;
         glVertex2f(dx, dy);
         }
     glEnd();
}
void EsferaBlanca(float r){
    glColor3f(1,1,1);
     glBegin(GL_POLYGON);
     for(float i=0.0; i<2*PI; i+=0.01){
         dx=r*cos(i)-30;
         dy=r*sin(i)+40;
         glVertex2f(dx, dy);
         }
     glEnd();
}
void EsferaAzul(float r){
    glColor3f(0,0,1);
     glBegin(GL_POLYGON);
     for(float i=0.0; i<2*PI; i+=0.01){
         dx=r*cos(i)-30;
         dy=r*sin(i)+40;
         glVertex2f(dx, dy);
         }
     glEnd();
}

void Estrella (void){
    glColor3f(1,1,1);
    glBegin(GL_POLYGON);
    glVertex2f(20,15);
    glVertex2f(0,30);
    glVertex2f(15,30);
    glVertex2f(20,40);
    glVertex2f(25,30);
    glVertex2f(40,30);
    glEnd();
    glBegin(GL_POLYGON);
    glVertex2f(20,43);
    glVertex2f(35,5);
    glVertex2f(20,15);
    glVertex2f(5,5);
    glEnd();
}


void Cap(void){
    glPushMatrix();

    EsferaRoja(30);

    glPushMatrix();
    glTranslatef(-10,0,0);
    EsferaBlanca(25);
    glPopMatrix();

    EsferaRoja(20);

    glPushMatrix();
    glTranslatef(-10,0,0);
    EsferaAzul(15);
    glPopMatrix();

    glPushMatrix();
    glTranslatef(-54,25,0);
    glScalef(0.7,0.7,0);
    Estrella();
    glPopMatrix();

    glPopMatrix();
}

void Beats(){
    EsferaRoja(30);

    glPushMatrix();
    glTranslatef(-10,0,0);
    EsferaBlanca(15);
    glPopMatrix();

    EsferaRoja(10);

    glPushMatrix();
    glTranslatef(-55,40,0);
    glScalef(0.55,0.30,0);
    Linea();
    glPopMatrix();
}

void display(void){
    glClear(GL_COLOR_BUFFER_BIT);

    Cap();

    glTranslatef(100,0,0);
    Beats();

    glFlush();
}


int main(int argc, char **argv){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition(300,0);
    glutInitWindowSize(700,700);
    glutCreateWindow("LOGOS");

    glClearColor(1.0,1.0,1.0,0);
    gluOrtho2D(-150,150,-150,150);

    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}

No hay comentarios.:

Publicar un comentario