void CirclePoint(int x, int y)
{
glPointSize(2);
glBegin(GL_POINTS);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(x,y);
glVertex2f(y,x);
glVertex2f(-y,x);
glVertex2f(-x,y);
glVertex2f(-x,-y);
glVertex2f(-y,-x);
glVertex2f(y,-x);
glVertex2f(x,-y);
glEnd();
}
void MidBresenhamCircle(int r)
{
int x = 0, y = r, d = 1-r;
//glPointSize(2);
//glBegin(GL_POINTS);
while(x <= y)
{
CirclePoint(x,y);
if(d < 0)
d += 2*x+3;
else
{
d += 2*(x-y)+5;
y--;
}
x++;
}
//glEnd();
}
OpenGl八分中点法画圆
最新推荐文章于 2022-04-05 10:58:11 发布