You are on page 1of 52

PRACTICAL FILE OF COMPUTER GRAPHICS

SUBMITTED TO:- SUBMITTED BY:-


MS .GEETA POOJA RANI
ROLL NO-:

INDEX
S NO. Topic Page No. Signature
1 WAP for Welcome to CG

2. WAP for Pixel


3 WAP for line
4 WAP for circle
5 WAP for rectangle
6 WAP for Hut
7 WAP for Direct method of line
8 WAP for Digital Differential Analyzer line
9 WAP for Integer DDA line
10. WAP for incremental DDA
11 WAP for Bresenhams line
12 WAP for Direct method circle
13 WAP for Midpoint circle
14 WAP for Bresenhams circle
15 WAP for Bar
16 WAP for Concentric circle
17 WAP for Landscape
18 WAP for Smiley
19 WAP for sad smiley
20 WAP for Moving circle
21 WAP for Balloon
22 WAP for Cube
23 WAP for Pieslice
24 WAP for Piechart

25 WAP for Bye Computer Graphics

1. WAP for welcome to CG


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
outtextxy(250,100,"welcome to graphics");
getch();
}

Output:-

2. WAP for pixel


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
iintgraph(&gd,&gm,"c:\\turboc3\\bgi");
putpixel(200,300,3);
getch();
}

Output:-

3. WAP for simple line


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm,print;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
line(150,200,300,200);
getch();
}

Output:-

4.WAP for simple circle


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
circle(200,300,30);
getch();
}

Output:-

5.WAP for rectangle


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
line(60,60,300,60);
line(60,60,60,200);
line(60,200,300,200);
line(300,200,300,60);
line(60,60,300,200);
line(60,200,300,60);
getch();
}

Output:-

6. WAP for Hut


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
line(120,75,160,150);
line(120,75,75,150);
line(75,150,160,150);
line(75,150,75,250);
line(160,150,160,250);
line(75,250,160,250);
line(120,75,250,75);
line(160,150,250,150);
line(250,75,250,250);
line(160,250,250,250);
line(130,75,170,150);
line(140,75,180,150);
line(150,75,190,150);
line(160,75,200,150);
line(170,75,210,150);
line(180,75,220,150);
line(190,75,230,150);
line(200,75,240,150);
line(210,75,250,150);
line(100,200,100,250);
line(130,200,130,250);
line(100,200,130,200);
line(220,75,250,125);
line(230,75,250,100);
line(180,180,180,220);
line(180,220,220,220);
line(220,220,220,180);
line(180,180,220,180);
line(180,200,220,200);
line(200,200,200,220);
getch();
}

Output-:

7.WAP for Direct method of line


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int x,x1,y1,x2,y,y2,m,dy,dx,b;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter final point of line");
scanf("%d %d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
b=y1-m*x1;
printf("%d",m);
x=x1;
y=y1;
putpixel(x,y,5);
if(m<1)
{
while(x<=x2)
{
putpixel(x,y,3);
x=x+1;
y=(m*x)+b;
}
}
else
{
while(y<=y2)
{
putpixel(x,y,6);
y=y+1;
x=(y-b)/m;
}
}
setcolor(3);
getch();
}

Output-:
8.WAP for Simple Digital Differential Analyzer line
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int x,x1,y1,x2,y,y2,m,dy,dx,b,t;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter final point of line");
scanf("%d %d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
printf("%d",m);
t=1/m;
x=x1;
y=y1;
putpixel(x,y,4);
if(m<1)
{
while(x<=x1)
{
x=x+1;
y=y+m;
putpixel(x,y,5);
}
}
else
{
while(y<=y1)
{
x=x+t;
y=y+1;
putpixel(x,y,5);
}
}
getch();
}

Output:-
\

9.WAP for Integer Digital Differential Analyzer


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int i,steps,x,x1,y1,x2,y,y2,m,dy,dx,b,t;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter final point of line");
scanf("%d %d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
printf("%d",m);
if(m<1)
{
steps=dx;
else
{
steps=dy;
}
}
x=dx/steps;
y=dy/steps;
putpixel(x,y,3);
for(i=1;i<=steps;i++)
{
x=x+1;
y=y+1;
putpixel(x,y,4);
}
getch();
}

Output:-

10. WAP for incremental dda


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int i,steps,x,x1,y1,x2,y,y2,m,dy,dx,b,t;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter final point of line");
scanf("%d %d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
printf("%d",m);
if(m<1)
{
steps=dx;
}
else
{
steps=dy;
}

x=dx/steps;
y=dy/steps;
putpixel(x,y,3);
for(i=1;i<=steps;i++)
{
x=x+1;
y=y+1;
putpixel(x,y,4);
}
getch();
}

Output:-

11. WAP for Bresenhams line


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int p,i,x,x1,y1,x2,y,y2,m,dy,dx,b;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter final point of line");
scanf("%d %d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
printf("%d",m);
x=x1;
y=y1;
putpixel(x,y,4);
p=2*dy-dx;
if(m<1)
{
while(x<=x2)
{
if(p<0)
{
x=x+1;
y=y1;
p=p+2*dy;
}
else
{
x=x+1;
y=y+1;
p=p+2*dy-2*dx;
//putpixel(x,y,4);
}
putpixel(x,y,4);
}
}
else
{
while(y<=y2)
{
if(p<0)
{
y=y+1;
p=p+2*dx;
//putpixel(x,y,4);
}
else
{
y=y+1;
x=x+1;
p=p+2*dx-2*dy;
//putpixel(x,y,4);
}
putpixel(x,y,4);
}
}
getch();
}

Output:-

12. WAP for Direct method circle


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
int x,x1,y1,y,r;
printf("enter initial point of line");
scanf("%d %d",&x1,&y1);
printf("enter the radius");
scanf("%d",&r);
x=x1-r;
y=y1;
plotpixel(x,y,5);
while(x<(x1+r))
{
x=x+1;
y=y1+sqrt(r*r-(x-x1)*(x-x1));
//y=y1-sqrt(r*r-(x-x1)*(x-x1));
plotpixel(x,y,5);
}
/*while(x<(x1+r))
{
x=x+1;
y=y1-sqrt(r*r-(x-x1)*(x-x1));
putpixel(x,y,5);
}*/
getch();
}

Output:-

13. WAP for Mid point


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
#include<dos.h>
voidmidpointcircle(int,int,int);
voidplotpoint(int,int,int,int);
int main()
{
clrscr();
intgd=DETECT,gm,x,y,xc,yc,temp,r;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("enter the center and radius");
scanf("%d %d %d",&xc,&yc,&r);
midpointcircle(xc,yc,r);
getch();
closegraph();
return 0;
}
voidmidpointcircle(intxc,intyc,int r)
{
int x=0;
int y=r;
int p=1-r;
while (x<y)
{
plotpoint(xc,yc,x,y);
x++;
if(p<0)
{
p=p+(2*x)+1;
}
else
{
y--;
p=p+2*(x+y)+1;
}
plotpoint(xc,yc,x,y);
delay(100);
}
}
voidplotpoint(intxc,intyc,intx,int y)
{
putpixel(xc+x,yc+y,5);
putpixel(xc+x,yc-y,5);
putpixel(xc-x,yc+y,5);
putpixel(xc-x,yc-y,5);
putpixel(xc+y,yc+x,5);
putpixel(xc+y,yc-x,5);
putpixel(xc-y,yc+x,5);
putpixel(xc-y,yc-x,5);

Output:-
14.WAP for Bresenhams circle
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
voidbcircle(int,int,int);
voidplotpoint(int,int,int,int);
int main()
{
clrscr();
intgd=DETECT,gm,x,y,xc,yc,temp,r;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("enter the center and radius");
scanf("%d %d %d",&xc,&yc,&r);
bcircle(xc,yc,r);
//closegraph();
getch();
return 0;
}
voidbcircle(intxc,intyc,int r)
{
int x=0;
int y=r;
int p=3-2*r;
while (x<y)
{
plotpoint(xc,yc,x,y);
x++;
if(p<0)
{
p=p+(4*x)+6;
}
else
{
y--;
p=p+4*(x-y)+10;
}
plotpoint(xc,yc,x,y);
delay(100);
}
}
voidplotpoint(intxc,intyc,intx,int y)
{
putpixel(xc+x,yc+y,5);
putpixel(xc-x,yc+y,5);
putpixel(xc+x,yc-y,5);
putpixel(xc-x,yc-y,5);
putpixel(xc+y,yc+x,5);
putpixel(xc-y,yc+x,5);
putpixel(xc+y,yc-x,5);
putpixel(xc-y,yc-x,5);

Output:-
15.WAP for Bar
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
line(200,150,200,400);
line(200,400,450,400);
bar(220,280,250,400);
bar(270,300,300,400);
bar(320,260,350,400);
floodfill(220,280,250,400,4);
//outtextxy(220,280,"60%");
getch();
}

Output:-
16.WAP for concentric circle
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
setcolor(1);
setbkcolor(8);
setfillstyle(1,3);
circle(200,200,80);
floodfill(200,200,1);
setcolor(2);
setbkcolor(8);
setfillstyle(1,4);
circle(200,200,70);
floodfill(200,200,2);
setcolor(7);
setbkcolor(8);
setfillstyle(1,6);
circle(200,200,60);
floodfill(200,200,5);
setcolor(5);
setbkcolor(8);
setfillstyle(1,1);
circle(200,200,50);
floodfill(200,200,7);
getch();
}

Output:-

17.WAP for landscape


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turbo c3\\bgi");
line(160,140,130,180);
line(160,140,190,180);
line(130,180,190,180);
line(160,140,290,140);
line(190,180,290,180);
line(290,140,290,180);
line(130,180,130,300);
line(190,180,190,300);
line(130,300,190,300);
line(190,300,290,300);
line(290,180,290,300);
line(150,250,170,250);
line(150,250,150,300);
line(170,250,170,300);
line(20,100,70,40);
line(70,40,115,100);
line(115,100,165,40);
line(165,40,208,100);
line(208,100,250,40);
line(250,40,300,100);
line(300,100,350,40);
line(350,40,400,100);
line(400,100,450,40);
line(450,40,500,100);
line(500,100,550,40);
line(550,40,600,100);
arc(115,60,3,170,30);
line(90,45,65,20);
line(100,35,70,5);
line(110,30,90,5);
line(120,30,110,5);
line(130,35,130,5);
line(140,40,150,5);
line(145,55,170,5);
arc(500,200,90,270,90);
//arc()
getch();
}

Output:-
18.WAP for smiley
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c://turboc3//bgi");
circle(120,120,50);
arc(100,110,0,160,10);
arc(140,110,0,160,10);
arc(120,130,180,0,20);
line(120,120,120,100);
circle(117,120,2);
circle(122,120,2);
circle(100,110,4);
circle(140,110,4);
arc(60,120,0,350,10);
arc(180,120,0,355,10);
getch();
}

Output:-
19. WAP for Sad smiley
#include<stdio.h>
#include<conio.h>

#include<graphics.h>

#include<dos.h>

void main()

int gd=DETECT,gm;

initgraph(&gd,&gm,"c:\\turboc3\\bgi");

circle(250,200,70);

arc(250,250,30,150,30);

circle(210,180,8);

circle(280,178,8);

getch();

Output:-
20.WAP for movecircle
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
for(int i=40;i<=600;i++)
{
setcolor(i);
circle(i,50,40);
delay(4);
}
for(i=40;i<=500;i++)
{
setcolor(i);
circle(50,i,40);
delay(4);
}
for(i=40;i<=450;i++)
{
setcolor(i);
circle(600,i,40);
delay(4);
}
for(i=40;i<=600;i++)
{
setcolor(i);
circle(i,450,40);
delay(4);
}
for(i=1;i<10;i++)
{
setcolor(i);
outtextxy(250,100,"welcome to graphics");
delay(30);
outtextxy(250,150,"kajol divyakajal");
}
getch();
}

Output:-
21.WAP for Balloon
#include<stdio.h>

#include<conio.h>

#include<graphics.h>

#include<dos.h>

void main()

int gd=DETECT,gm;

initgraph(&gd,&gm,"c:\\turboc3\\bgi");

ellipse(150,100,0,360,50,30);

ellipse(300,100,0,360,50,30);

ellipse(450,100,0,360,50,30);

line(150,130,300,330);

line(300,130,300,330);

line(450,130,300,330);

getch();

Output:-
22.WAP for Cube
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
line(120,100,200,100);
line(120,100,120,190);
line(120,190,200,190);
line(200,190,200,100);
line(150,160,150,250);
line(150,160,240,160);
line(240,160,240,250);
line(150,250,240,250);
line(120,100,150,160);
line(200,100,240,160);
line(120,190,150,250);
line(200,190,240,250);
getch();
}

Output:-
23. WAP for Pieslice
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
setfillstyle(1,2);
pieslice(200,200,0,90,100);
outtextxy(200,200,"30%");
setfillstyle(1,3);
pieslice(200,200,90,135,100);
outtextxy(200,200,"50%");
getch();

Output:-

24.Wap for piechart


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
setfillstyle(1,2);
pieslice(200,200,0,90,100);
outtextxy(200,200,"30%");
setfillstyle(1,3);
pieslice(200,200,90,135,100);
outtextxy(200,200,"50%");
setfillstyle(1,4);
pieslice(200,200,135,230,100);
outtextxy(200,200,"70%");
setfillstyle(1,5);
pieslice(200,200,230,290,100);
outtextxy(200,200,"69%");
setfillstyle(1,6);
pieslice(200,200,290,360,100);
outtextxy(200,200,"30%");
getch();
}

Output:-
25. Bye Computer Graphics
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm,print;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("bye computer graphics");
getch();
}

Output:-

You might also like