我想制作一个没有 gluSphere 方法的球体,我尝试用这段代码计算球体
void drawCircle(double x, double y, double r)
{
glBegin( GL_QUAD_STRIP );
for(int i=0;i<=360;i++){
glVertex3d(x+sin(i)*r,y+cos(i)*r,-5.0);
}
glEnd();
}
void drawSphere(double x,double y,double r){
glLoadIdentity();
glColor3d(1,0,0);
for(int j=0;j<180;j++){
glTranslated(0,0,r/180);
drawCircle(x,y,r*sin(j));
}
}
结果是这样的
但结果是我做的圆圈没有对齐。是否有任何适当的计算,所以我可以使球体正确?