I'm the story I was telling
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Vẽ đường tròn

Go down

Vẽ đường tròn Empty Vẽ đường tròn

Bài gửi by anbinhtrong Wed Dec 16, 2009 3:34 pm

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);
   }
}
anbinhtrong
anbinhtrong
Admin
Admin

Tổng số bài gửi : 216
Join date : 05/11/2009
Age : 35
Đến từ : BT

https://ngoctho.forum-viet.net

Về Đầu Trang Go down

Vẽ đường tròn Empty Re: Vẽ đường tròn

Bài gửi by anbinhtrong Wed Dec 16, 2009 3:53 pm

Vẽ đường tròn Img196
The midpoint circle algorithm of Bresenham [Bre77] and [BGP83] is analogously to that of straight lines and goes as follows:
Vẽ đường tròn Img197
and in the next step:
Vẽ đường tròn Img199
Vẽ đường tròn Img201
One can speed up things be calculating the linear increments recursively.
anbinhtrong
anbinhtrong
Admin
Admin

Tổng số bài gửi : 216
Join date : 05/11/2009
Age : 35
Đến từ : BT

https://ngoctho.forum-viet.net

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết