Tuesday 4 March 2014

Draw Arc Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
        int gd=DETECT,gm=0;
initgraph(&gd,&gm,"c:\\tc\\bgi");
       arc(110, 110, 0, 145, 55);
       /*
       arc(a,b,c,d,e);
       a= x
       b=y
       c=start angle
       d= end angle
       e=radius of arc.
       */
       getch();
       closegraph();
}

Draw Rectangle Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm=0;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
     int midx,midy,x,y;
     x=getmaxx();
     y=getmaxy();
     midx=x/2;
     midy=y/2;
     rectangle(midx-110,midy-110,midx+110,midy+110);
     getch();
     closegraph();
}

Draw Circle Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
        gm=0;
        circle(250,250,100);
       /*  circle(a,b,c);
      a=X axis element
      b=Y axis element
      c=radius
       */
       getch();
       closegraph();
}

Horizontal Line And Vertical Line of Center Of Screen Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
void main()
{
int gd=DETECT,gm,maxx,maxy,midx,midy;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
        maxx=getmaxx();
        maxy=getmaxy();
        midx=maxx/2;
        midy=maxy/2;
        line(0,midy,midx,maxy);
        line(midx,0,midx,maxy);
getch();
closegraph();
}


////////////////////////////OUTPUT//////////////////////////////



Midpoint Circle Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm,xc,yc,r,x,y,p;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
printf("Enter xc and yc:");
scanf("%d%d",&xc,&yc);
printf("Enter radius:");
scanf("%d",&r);
x=0;
y=r;
p=1.25-r;
do
{
putpixel(xc+x,yc+y,1);
putpixel(xc+y,yc+x,2);
putpixel(xc-x,yc+y,1);
putpixel(xc+y,yc-x,2);
putpixel(xc-y,yc-x,1);
putpixel(xc-x,yc-y,2);
putpixel(xc+x,yc-y,1);
putpixel(xc-y,yc+x,2);
if(p<0)
{
                        p=p+(2*x)+1;
}
else
{
        p=p+(2*x)+1-(2*y);
y=y-1;
}
x=x+1;
}
while(x<y)
       putpixel(xc+x,yc+y,2);
getch();
closegraph();
}

Bresenham Circle Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm,xc,yc,r,x,y,p;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cleardevice();
printf("Enter xc and yc:");
scanf("%d%d",&xc,&yc);
printf("Enter radius:");
scanf("%d",&r);
x=0;
y=r;
p=3-2*r;
do
{
                delay(25);
putpixel(xc+x,yc+y,1);
putpixel(xc+y,yc+x,2);
putpixel(xc-x,yc+y,1);
putpixel(xc+y,yc-x,2);
putpixel(xc-y,yc-x,1);
putpixel(xc-x,yc-y,2);
putpixel(xc+x,yc-y,1);
putpixel(xc-y,yc+x,2);
if(p<0) {
p=p+4*x+6;
}
else
{
p=p+4*(x-y)+10;
y=y-1;
}
x=x+1;
}
while(x<y)
         putpixel(xc+x,yc+y,2);
getch();
closegraph();
}



Bresenham Line Drawing Algorithm Using C

#include<conio.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
void main()
{
      int gd = DETECT, gm;
      int dx, dy, p, end;
      float x1, x2, y1, y2, x, y;
      initgraph(&gd, &gm, "c:\tc\bgi");
      printf("Enter Value of X1: ");
      scanf("%f", &x1);
      printf("Enter Value of Y1: ");
      scanf("%f", &y1);
      printf("Enter Value of X2: ");
      scanf("%f", &x2);
      printf("Enter Value of Y2: ");
      scanf("%f", &y2);
      dx = abs(x1 - x2);
      dy = abs(y1 - y2);
      p = 2 * dy - dx;
      if(x1 > x2)
      {
            x = x2;
            y = y2;
            end = x1;
      }
      else
      {
            x = x1;
            y = y1;
            end = x2;
      }
      putpixel(x, y, 10);
      while(x < end)
      {
            x = x + 1;
            if(p < 0)
            {
                  p = p + 2 * dy;
            }
            else
            {
                  y = y + 1;
                  p = p + 2 * (dy - dx);
            }
            putpixel(x, y, 10);
      }
      getch();
      closegraph();
}