#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