www.pudn.com > tuxingxue.rar > YUAN2.C


#include 
#include 
 
Bresenham_Circle(r,YELLOW) 
int r,YELLOW; 
{ 
  int x,y,delta,delta1,delta2,direction; 
  x=0; 
  y=r; 
  delta=2*(1-r); 
  while (y>=0) 
  { 
    putpixel(x,y,YELLOW); 
    if (delta<0) 
    { 
      delta1=2*(delta+y)-1; 
      if(delta1<=0) 
	direction=1; 
      else direction=2; 
     } 
     else 
       if(delta>0) 
       { 
	 delta2=2*(delta-x)-1; 
	 if (delta2<=0) 
	   direction=2; 
	 else direction=3; 
	} 
      else direction=2; 
  switch(direction) 
  { 
    case 1:x++; 
	  delta+=2*x+1; 
	  break; 
  case 2:x++; 
	y--; 
	delta+=2*(x-y+1); 
	break; 
  case 3:y--; 
	delta+=(-2*y+1); 
	break; 
  } 
} 
} 
main() 
{int gdriver,gmode; 
gdriver=DETECT; 
initgraph(&gdriver,&gmode,""); 
Bresenham_Circle(200,YELLOW); 
}