Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

PROGRAM 1

AIM :-

Direct Method for Line Drawing

SOURCE CODE

*************************************************************************************

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,x2,c,y1,y2,dy,dx,m;

cout<<"enter the coordinates\n";

cin>>x1>>x2>>y1>>y2;

dy=y2-y1;

dx=x2-x1;

m=dy/dx

c=y1-m*x1;

while(x1<=x2)

if(m<=1)

x1=x1+1;
y1=m*x1+c;

putpixel(x1,y1,WHITE);

else{

y1=y1+1;

x1=(y1-c/m);

putpixel(x1,y1,WHITE);

getch();

closegraph();

*************************************************************************************
PROGRAM 2

AIM :-

DDA Algorithm for Line Drawing

SOURCE CODE

****************************************************************************

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,x2,c,y1,y2,dy,dx,m;

cout<<"enter the coordinates\n";

cin>>x1>>x2>>y1>>y2;

dy=y2-y1;

dx=x2-x1;

m=dy/dx

c=y1-m*x1;

while(x1<=x2)

if(m<=1)

x1=x1+1;
y1=y1+m;

putpixel(x1,y1,WHITE);

else{

y1=y1+1;

x1=x1+(1/m);

putpixel(x1,y1,WHITE);

getch();

closegraph();

*************************************************************************************
PROGRAM 3

AIM :-

Bresenham Line Algorithm for Line Drawing

SOURCE CODE

****************************************************************************

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,x2,f,fe,fne,y1,y2,dy,dx,m;

cout<<"enter the coordinates\n";

cin>>x1>>x2>>y1>>y2;

dy=y2-y1;

dx=x2-x1;

f=(2*dy)-dx;

while(x1<=x2)

if(f<=0)

x1=x1+1;

y1=y1;
f=2*dy;

putpixel(x1,y1,WHITE);

f=f+fe;

else{

y1=y1+1;

x1=x1+1;

f=(2*dy)-(2*dx);

putpixel(x1,y1,WHITE);

f=f+fne

getch();

closegraph();

*************************************************************************************
PROGRAM 4

AIM :-

Algorithm for Circle Drawing

SOURCE CODE

*************************************************************************************

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,x2,y2,r;

cout<<"enter the coordinates for center xc and yc and Radius\n";

cin>>xc>>yc>>r;

x1=0;

x2=r/sqrt(2);

while(x1<=x2)

y1=sqrt(r*r-x1*x1);

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);

putpixel(y1+xc,-x1+yc,WHITE);

putpixel(-y1+xc,-x1+yc,WHITE);
putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

x1=x1+1;

getch();

closegraph();

*****************************************************************************
PROGRAM 5

AIM :-

Algorithm for polar Circle Drawing

SOURCE CODE

****************************************************************************

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,r;

cout<<"enter the coordinates for center xc and yc and Radius\n";

cin>>xc>>yc>>r;

x1=0;

y1=r;

t=1/r;

while(x1<=y1)

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);

putpixel(y1+xc,-x1+yc,WHITE);
putpixel(-y1+xc,-x1+yc,WHITE);

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

float temp=y1;

y1=(y1*cos(t))+(x1*sin(t));

x1=(x1*cos(t))+temp*sin(t));

getch();

closegraph();

*****************************************************************************
PROGRAM 6

AIM :-

Bresenham Algorithm for Circle Drawing

SOURCE CODE

****************************************************************************
#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,r,t,f;

cout<<"enter the coordinates for center xc and yc and Radius\n";

cin>>xc>>yc>>r;

x1=0;

y1=r;

f=3-(2*r);

while(x1<=y1)

If(f<=0)

f=f+6+4*x;

X=x+1;
}

else

f=f+6+4*x;

x=x+1;

y=y+1;

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);

putpixel(y1+xc,-x1+yc,WHITE);

putpixel(-y1+xc,-x1+yc,WHITE);

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

}}

getch();

closegraph();

*********************************************************************************
PROGRAM 7

AIM :-

Mid Point Algorithm for Circle Drawing

SOURCE CODE

****************************************************************************
#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,r,,f;

cout<<"enter the coordinates for center xc and yc and Radius\n";

cin>>xc>>yc>>r;

x1=0;

y1=r;

f=1-r;

while(x1<=y1)

If(f<=0)

f=f+3+2*x1;

X1=x1+1;
}

else

f=f+5+(2*x1-(2*y1));

x1=x1+1;

y1=y1-1;

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);

putpixel(y1+xc,-x1+yc,WHITE);

putpixel(-y1+xc,-x1+yc,WHITE);

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

}}

getch();

closegraph();

********************************************************************************
PROGRAM 8

AIM :-

Algorithm for Ellipse Drawing

SOURCE CODE

****************************************************************************
#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,rx,ry,x2;

cout<<"enter the coordinates for xc and yc and Radius rx and ry\n";

cin>>xc>>yc>>rx>>ry;

x1=0;

x2=rx;

while(x1<=x2)

y1=(ry/rx)*sqrt((rx*rx)-(x1*x1));

x1=x1+1;

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);
putpixel(y1+xc,-x1+yc,WHITE);

putpixel(-y1+xc,-x1+yc,WHITE);

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

}}

getch();

closegraph();

************************************************************************************
PROGRAM 9

AIM :-

Algorithm for polar Ellipse Drawing

SOURCE CODE

****************************************************************************
#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int x1,xc,y1,yc,rx,ry,x2,t1,t2;

cout<<"enter the coordinates for xc and yc and Radius rx and ry\n";

cin>>xc>>yc>>rx>>ry;

t1=0;

t2=90;

while(t1<=t2)

y1=ry*sin(t1);

x1=rx*cos(t1);

putpixel(y1+xc,x1+yc,WHITE);

putpixel(-y1+xc,x1+yc,WHITE);
putpixel(y1+xc,-x1+yc,WHITE);

putpixel(-y1+xc,-x1+yc,WHITE);

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

t1=t1+1;

getch();

closegraph();

*********************************************************************************
PROGRAM 10

AIM :-

Mid Point Algorithm for Ellipse Drawing

SOURCE CODE

****************************************************************************
#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<math.h>

#include<conio.h>

Void main()

Int gd=DETECT, gm;

Initgraph(&gd, &gm,"");

int xr,xc,yr,yc,x,y,f;

cout<<"enter the coordinates for xc and yc and Radius rx and ry\n";

cin>>xc>>yc>>xr>>yr;

x=0;

y=yr;

f=(yr*yr)+(xr*xr)/4-(xr*xr)*yr;

while(2*(yr*yr)*x<=2*(xr*xr)*y)

if(f<=0)

f=f+(3+(2*x))*(yr*yr);

x++;
putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

else

f=f+3*(yr*yr)+2*x*(yr*yr)+2*(xr*xr)-2*y*(xr*xr);

x++;

y--;

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

f=(yr*yr)/4-2*(xr*xr)*yr+(xr*xr);

while(y>=0)

if(f<=0)

f=f+(3-(2*y))*(xr*xr);

x++;

y--;

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);
putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

else

f=f+2*(yr*yr)+2*x*(yr*yr)+3*(xr*xr)-2*y*(xr*xr);

y--

putpixel(x1+yc,y1+xc,WHITE);

putpixel(-x1+yc,y1+xc,WHITE);

putpixel(x1+yc,-y1+xc,WHITE);

putpixel(-x1+yc,-y1+xc,WHITE);

getch();

closegraph();

*************************************************************************************

You might also like