Sunday, March 3, 2019

Assignment 2a: Write C++ program to draw circle using Bresenham‘s algorithm. Inherit pixel class.







#include<iostream>
#include<graphics.h>

using namespace std;

class circ
{
 int x,y,d;
 public:
  void bcircle(int r1)
  {
   x=0;
   y=r1;
   d=3-(2*r1);
   
   while(x<y)
   {
    putpixel(x+250,y+250,WHITE);
    putpixel(x+250,250-y,WHITE);
    putpixel(250-x,y+250,WHITE);
    putpixel(250-x,250-y,WHITE);
    putpixel(250+y,250+x,WHITE);
    putpixel(y+250,250-x,WHITE);
    putpixel(250-y,250+x,WHITE);
    putpixel(250-y,250-x,WHITE);
    if(d<=0)
    {
     d=d+(4*x)+6;
     x++;
    }
    else
    {
     d=d+(4*(x-y))+10;
     x++;
     y--;
    }
    
   }
  }
}C;

int main()
{
 int gd,gm,r;
 gd=gm=DETECT;
 
 cout<<"Enter radius of circle:";
 cin>>r;
 
 
 initgraph(&gd,&gm,NULL);
 
 C.bcircle(r);
 
 getch();
 cleardevice();
 closegraph();
 
}

No comments:

Post a Comment