Code:
glPushMatrix();
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(0.0f, -100.0f, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 5.0f,5.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(0.0f, -85.0f, 70.0f);
glutSolidSphere(5.0f, 20, 20);
glPopMatrix();
double xx =0.003f;
glPushMatrix();
glRotatef(angle,0.0f, 1.0f, 0.0f);
for(double i=-85.0; i>-88.0; i-=0.1f){
glPushMatrix();
glColor3f(0.25f+xx, 0.206f+xx, 0.747f+xx);
glTranslatef(0.0f, i, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluDisk(quadric, 0, 50.0f, 60, 10);
glPopMatrix();
xx+=0.005f;
}
//right long
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(40.0f, -85.0f, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//right short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(10.0f, -85.0f, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(40.0f, -65.0f, 70.0f);
glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
glRotatef(18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
//left long
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(-40.0f, -85.0f, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//left short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(-10.0f, -85.0f, 70.0f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(-10.0f, -75.0f, 70.0f);
glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
glRotatef(-18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
//inner left right
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(-20.0f, -85.0f, 35.4f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//inner left short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(-5.0f, -85.0f, 61.3f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(-5.0f, -75.0f, 61.30f);
glRotatef(210.0f, 0.0f, 1.0f, 0.0f);
glRotatef(-18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
//inner right long
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(20.0f, -85.0f, 35.4f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//inner right short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(5.0f, -85.0f, 61.3f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(5.0f, -75.0f, 61.30f);
glRotatef(150.0f, 0.0f, 1.0f, 0.0f);
glRotatef(-18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
//outer left long
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(-20.0f, -85.0f, 105.4f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//outer left short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(-5.0f, -85.0f, 78.7f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(-5.0f, -75.0f, 78.7f);
glRotatef(-30.0f, 0.0f, 1.0f, 0.0f);
glRotatef(-18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
//outer right long
glPushMatrix();
glColor3f(0.05f, 0.09f, 0.77f);
glTranslatef(20.0f, -85.0f, 105.4f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 20, 20, 20);
glPopMatrix();
//outer right short
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.77f);
glTranslatef(5.0f, -85.0f, 78.7f);
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 10, 20, 20);
glPopMatrix();
glPushMatrix();
glColor3f(0.95f, 0.09f, 0.07f);
glTranslatef(5.0f, -75.0f, 78.7f);
glRotatef(30.0f, 0.0f, 1.0f, 0.0f);
glRotatef(-18.43f, 1.0f, 0.0f, 0.0f);
gluCylinder(quadric, 1.0f,1.0f, 31.62f, 20, 20);
glPopMatrix();
glPopMatrix();
glPopMatrix();