# include <iostream.h> # include <graphics.h> # include <conio.h> # include <math.h> void show_screen( ); void bresenham_circle(const int,const int,const int); int main( ) { int driver=VGA; int mode=VGAHI; int h=0; int k=0; int r=0; do { show_screen( ); gotoxy(8,10); cout<<\"Central Point of the Circle : (h,k) :\"; gotoxy(8,11); cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\"; gotoxy(12,13); cout<<\"Enter the value of h = \"; cin>>h; gotoxy(12,14); cout<<\"Enter the value of k = \"; cin>>k; gotoxy(8,18); cout<<\"Radius of the Circle : r :\"; gotoxy(8,19); cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\"; gotoxy(12,21); cout<<\"Enter the value of r = \"; cin>>r; initgraph(&driver,&mode,\"..\\\\Bgi\"); setcolor(15); bresenham_circle(h,k,r); setcolor(15); outtextxy(110,460,\"Press <Enter> to continue or any other key to exit.\"); int key=int(getch( )); if(key!=13) break; } while(1); return 0; } //---------------------- bresenham_circle( ) --------------------------// void bresenham_circle(const int h,const int k,const int r) { int color=getcolor( ); int x=0; int y=r; int p=(3-(2*r)); do { putpixel((h+x),(k+y),color); putpixel((h+y),(k+x),color); putpixel((h+y),(k-x),color); putpixel((h+x),(k-y),color); putpixel((h-x),(k-y),color); putpixel((h-y),(k-x),color); putpixel((h-y),(k+x),color); putpixel((h-x),(k+y),color); x++; if(p<0) p+=((4*x)+6); else { y--; p+=((4*(x-y))+10); } } while(x<=y); } //-------------------------- show_screen( ) ---------------------------// void show_screen( ) { restorecrtmode( ); textmode(C4350); cprintf(\"\\n********************************************************************************\"); cprintf(\"***********************- -***********************\"); cprintf(\"*----------------------- \"); textbackground(1); cprintf(\" Bresenham\'s Circle Algorithm \"); textbackground(8); cprintf(\" -----------------------*\"); cprintf(\"***********************- -***********************\"); cprintf(\"*-****************************************************************************-*\"); for(int count=0;count<42;count++) cprintf(\"*-* *-*\"); gotoxy(1,46); cprintf(\"*-****************************************************************************-*\"); cprintf(\"*------------------------------------------------------------------------------*\"); cprintf(\"********************************************************************************\"); gotoxy(1,2); }