
void drawGear(int teeth, float innerr, float outerr){
??? glColor3f(1,1,1);
??? float gearWidth=mouseX/40;
???
??? int num=500;
??? glLineWidth(.1);
???
??? glBegin(GL_LINE_STRIP);
??? for (int i=0;i<num;i++){
??????????? float angle = i*2*PI / num;
??????????? float gr=abs(outerr*sin(angle*teeth));
???????????
??????????? if(gr>gearWidth) gr=outerr;
??????????? if(gr<=gearWidth) gr=0;
???????????
??????????? float r = gr+innerr;
??????????? //r=abs(r);
??????????? glVertex2f(cos(angle)*r+windowW/2,sin(angle)*r+windowH/2);
??? }
??? glVertex2f(innerr+windowW/2,windowH/2);
??? glEnd();
???
}