More Related Content
Similar to Ass day3 2_olympic logos
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docxajoy21
Similar to Ass day3 2_olympic logos (20)
Ass day3 2_olympic logos
- 1. #include <gl/glut.h>
float _angle = 0.0;
void Blue()
{
glColor3f(.0, 0.65, 0.88);
glPushMatrix();
glTranslatef(-2.0,1.0,-6.0);
glPushMatrix();
glRotatef(_angle, 1.0, 0.0, .0);
glPushMatrix();
glutSolidTorus(0.09, .7, 20, 40);// inner radius, outer radius,
sides, segments
glPopMatrix();
glEnd();
}
void Black()
{
glColor3f(0.0, 0.0, 0.0);
glTranslatef(-0.2,1.0,-6.0);
glPushMatrix();
glRotatef(_angle, 1.0, .0, .0);
glPushMatrix();
glutSolidTorus(0.09, .7, 20, 40);// inner radius, outer
radius, sides, segments
glPopMatrix();
glEnd();
}
void Red()
{
glColor3f(1.0, 0.0, 0.0);
glTranslatef(1.8,0,0.0);
glPushMatrix();
glRotatef(_angle, 1.0, .0, .0);
glPushMatrix();
glutSolidTorus(0.09, .7, 25, 40);// inner radius, outer radius,
sides, segments
glPopMatrix();
glEnd();
}
void Yellow()
{
glColor3f(1.0, 1.0, 0.0);
glTranslatef(-2.8,-0.4,.0);
glPushMatrix();
glRotatef(_angle, 1.0, .0, .0);
glPushMatrix();
- 2. glutSolidTorus(0.09, .7, 20, 40);// inner radius, outer
radius, sides, segments
glPopMatrix();
glEnd();
}
void Green(){
glColor3f(.0, .8, 0.0);
glTranslatef(1.9,0.0,0.0);
glPushMatrix();
glRotatef(_angle, 1.0, .0, .0);
glPushMatrix();
glutSolidTorus(0.09, .7, 20, 40);// inner radius, outer radius,
sides, segments
glPopMatrix();
glEnd();
}
void update(int value)
{
_angle += 0.5;
if (_angle > 360)
{
_angle - 0.0;
}
glutPostRedisplay();
glutTimerFunc(1,update,0);
}
void Olympic_logo()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // just keep
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
Blue();
Black();
Red();
Yellow();
Green();
glFlush();
}
void Initialize() {
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
gluPerspective(55.0, 1.00, 1.0, 150.0);
}
int main(int iArgc, char** cppArgv) {
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(700, 500);