void DrawCylinder(float R1, float R2, float H) {
int i, j, steps = 32;
float phi, dphi = 2.*M_PI / (float)(steps);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10., 10., -10., 10., 1., 100.);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(10., 10., 5., 0., 0., 0., 0., 0., 1.);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glBegin(GL_TRIANGLE_STRIP);
for(i = 0, phi = 0.; i <= steps; i ++, phi += dphi) {
if((i%2) == 0)
glColor3f(1., 0., 0.);
else
glColor3f(0., 1., 0.);
glVertex3f(R1*cos(phi), R1*sin(phi), -H/2.);
glVertex3f(R2*cos(phi), R2*sin(phi), H/2.); }
glEnd(); }