![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
void Bresenham_Circle(int xc,int yc,int r){//xc,yc是圆的中心坐标 int x,y,d; y=r; d=3-2*r; x=0; while(x<=y){ plotC(x,y,xc,yc);//画点 if(d<0) d+=4*x+6; else{ d+=4*(x-y)+10; y=y-1; } x=x+1; } } void plotC(int x,int y,int xc,int yc){//x,y是圆上点的坐标,xc,yc是圆心坐标 //根据圆的对称性绘出个对称点 glColor3f(0.5,0.9,0.7); glBegin(GL_POINTS); //绘制对称的8个点 glVertex2i(xc+x,yc+y); glVertex2i(xc+x,yc-y); glVertex2i(xc-x,yc+y); glVertex2i(xc-x,yc-y); glVertex2i(xc+y,yc+x); glVertex2i(xc+y,yc-x); glVertex2i(xc-y,yc+x); glVertex2i(xc-y,yc-x); glEnd(); }