Vẽ đường tròn
Trang 1 trong tổng số 1 trang
Vẽ đường tròn
Chú ý là ta vẽ đường tròn tại tâm (0,0) sau đó tịnh tiến đi 1 đoạn P.x,P.y với P là tọa độ tâm đề bài cho.
- Code:
void put8pixel(int x, int y,Point &P)
{
glBegin(GL_POINTS);
glVertex2d(x+P.x,y+P.y);
glVertex2d(-x+P.x,y+P.y);
glVertex2d(x+P.x,-y+P.y);
glVertex2d(-x+P.x,-y+P.y);
glVertex2d(y+P.x,x+P.y);
glVertex2d(-y+P.x,x+P.y);
glVertex2d(y+P.x,-x+P.y);
glVertex2d(-y+P.x,-x+P.y);
glEnd();
glFlush();
}
void swap(int &a,int &b)
{
int tg=a;
a=b;
b=tg;
}
void Circle(Point &P, int R)
{
int x=0,y=R;
int p=1-R;
put8pixel(x,y,P);
while(x<y)
{
if(p<0)
p=p+2*x+3;
else
{
p=p+2*(x-y)+5;
y--;
}
x++;
put8pixel(x,y,P);
}
}
Re: Vẽ đường tròn
The midpoint circle algorithm of Bresenham [Bre77] and [BGP83] is analogously to that of straight lines and goes as follows:
and in the next step:
One can speed up things be calculating the linear increments recursively.
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết