You are on page 1of 59

COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 1 Draw line, circle, ellipse, arc, sector, bar etc. using functions.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void far arc(int x, int y, int stangle, int endangle, int radius);
void far circle(int x,int y, int radius);
void far ellipse(int x, int y, int stangle, int endangle,
int xradius, int yradius);
void far line(int x1, int y1, int x2, int y2);
void far sector(int x, int y, int stangle, int endangle,
int xradius, int yradius);
void far bar(int left, int top, int right, int bottom);
void main()
{
int gdriver=DETECT,gmode,x,y,r;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
circle(200,200,50);
line(200,100,400,100);
arc(50,100,80,20,40);
sector(200,100,80,50,60,100);
ellipse(100,300,0,360,40,60);
bar(300,100,400,300);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 2 Implementation of functions like nested circle, nested rectangle.


SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void far circle(int x,int y, int radius);
void far rectangle(int left, int top, int right, int bottom);
void main()
{
int gdriver=DETECT,gmode,x,y,r;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
circle(200,200,50);
circle(200,200,30);
rectangle(300,400,380,350);
rectangle(320,380,360,370);
rectangle(310,390,370,360);
getch();}
OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 3 Display a string “Computer Graphics” in the center of the


screen

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
clrscr();
initgraph(&gd,&gm,"C:\\turboc3\\bgi");
outtextxy(getmaxx()/2,getmaxy()/2,"COMPUTER GRAPHICS");
getch();
}
OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 4 Draw an asterisk on screen

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void far line(int x1, int y1, int x2, int y2);
void main()
{
int gdriver=DETECT,gmode,x,y;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
line(200,200,400,400);
line(400,200,200,400);
line(300,200,300,400);
line(200,300,400,300);
getch();}
OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 5 Display an asterisk inside a circle


SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gdriver=DETECT,gmode,x,y;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
line(200,200,400,400);
line(400,200,200,400);
line(300,160,300,440);
line(160,300,440,300);
circle(300,300,140);
getch();}
OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 6 Display coordinate axis.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gdriver=DETECT,gmode,a,b,i;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
a=getmaxx();
b=getmaxy();
line(a/2,b,a/2,0);
line(0,b/2,a,b/2);
outtextxy(getmaxx()/100,getmaxy()/2,"X-axis");
outtextxy(getmaxx()/2,getmaxy()/20,"Y-axis");
for(i=0;i<a;i+=20)
{
line(a/2+i,b/2-10,a/2+i,b/2+10);
line(a/2-i,b/2+10,a/2-i,b/2-10);
line(a/2+10,b/2-i,a/2-10,b/2-i);
line(a/2+10,b/2+i,a/2-10,b/2+i);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 7 Make bar chart for students for five years

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void far bar(int left, int top, int right, int bottom);
void main()
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"C:\\turboc3\\bgi");
line(100,300,400,300);
line(100,50,100,300);
bar(150,60,190,300);
bar(200,100,240,300);
bar(250,150,290,300);
bar(300,100,340,300);
bar(350,150,390,300);
outtextxy(100,45,"AGE");
outtextxy(400,300,"YEAR");
getch();
}OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 8 Make pie chart for students.

SOLUTION:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI" );
outtextxy(250,70,"PIE CHART");
setfillstyle(2,YELLOW);
pieslice(300,250,0,90,80);
floodfill(300,250,WHITE);
setfillstyle(1,BROWN);
pieslice(300,250,45,90,80);
floodfill(300,250,WHITE);
setfillstyle(5,BLUE);
pieslice(300,250,500,90,80);
floodfill(300,250,WHITE);
setfillstyle(6,RED);
pieslice(300,250,600,90,80);
floodfill(300,250,WHITE);
setfillstyle(2,GREEN);
pieslice(300,250,270,190,80);
floodfill(300,250,WHITE);
setfillstyle(7,CYAN);
pieslice(300,250,250,360,80);
floodfill(300,250,WHITE);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 9 Scan convert line using DDA algorithm

SOLUTION:
#include<math.h>
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int x1,y1,x2,y2,len,dx,dy,x,y,i;
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\Turboc3\\bgi");
printf("enter x1,y1,x2,y2 coordiante:\n");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if (abs(x2-x1)>=abs(y2-y1))
{
len=abs(y2-y1);
}
else
{
len=abs(y2-y1);
dx=(x2-x1)/len;
dy=(y2-y1)/len;
x=x1+0.5;
y=y1+0.5;
i=1;
}
while(i<=len)
{
putpixel(x,y,YELLOW);
x=x+dx;
y=y+dy;
i=i+1;
}
getch();
closegraph();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 10 Scan convert line using Bresenham algorithm.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int dx,dy,x,y,p,x1,y1,x2,y2;
int gd=DETECT,gm;
printf("enter the coordinate of first point");
scanf("%d%d",&x1,&x2);
printf("enter the coordinate of second point");
scanf("%d%d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
p=2*(dy)-(dx);
x=x1;
y=y1;
initgraph(&gd,&gm,"C:\\Turboc3\\bgi");
putpixel(x,y,WHITE);
while(x<=x2)
{
if(p<0)
{
x=x+1;
y=y;
p=p+2*(dy);
}
else
{
x=x+1;
y=y+1;
p=p+2*(dy);
p=p+2*(dy-dx);
}
putpixel(x,y,YELLOW);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 11 Scan convert circle using mid-point algorithm.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i,x,y,r,xc,yc,p;
initgraph(&gd,&gm,"C:\\Turboc3\\bgi");
printf("enter a radius:");
scanf("%d",&r);
printf("enter two values center of circle:");
scanf("%d%d",&xc,&yc);
p=1-r;
x=0;
y=r;
do
{
if(p<0)
{
x=x+1;
p=p+2*x+1;
}
else
{
x=x+1;
y=y-1;
p=p+2*x-2*y+10;
}
putpixel(xc+x,yc+y,10);
putpixel(xc-y,yc-x,56);
putpixel(xc+y,yc-x,30);
putpixel(xc-y,yc+x,54);
putpixel(xc+y,yc+x,60);
putpixel(xc-x,yc-y,70);
putpixel(xc+x,yc-y,80);
putpixel(xc-x,yc+y,90);
}while(x<y);
getch();
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 12 Scan convert circle using Bresenham algorithm.


SOLUTION:
#include<conio.h>
#include<stdio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int d,r,x,y,xc,yc;
clrscr();
initgraph(&gd,&gm,"c:\\tc\\");
printf("Enter Radius\n");
scanf("%d",&r);
printf("Enter Center of circle\n");
scanf("%d",&xc);
scanf("%d",&yc);
d=3-2*r;
x=0;
y=r;
while(x<=y)
{
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);
putpixel(xc-x,yc-y,5);
putpixel(xc+x,yc-y,5);
putpixel(xc-x,yc+y,5);
if(d<=0)
{
d=d+4*x+6;
}
else
{
d=d+4*x-4*y+10;
y=y-1;
}
x=x+1;
COMPUTER GRAPHICS PRACTICAL FILE

}
getch();
}

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 13 Scan convert circle using Trignometric and Polynomial


method.

SOLUTION:
Using Trignometric Method
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int gd=DETECT,gm;
int x,y,r,angle,xc,yc;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");
x=0;
y=r;
angle=0;
printf("enter x,y coordiante and radius:\n");
scanf("%d%d%d",&xc,&yc,&r);
while(angle<=360)
{
putpixel(xc+x,yc+y,6);
x=r*cos(angle);
y=r*sin(angle);
angle=angle+1;
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

Using Polynomial Method


#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int x,y,r,xc,yc;
initgraph(&gd,&gm,"C:\\turboc3\\bgi");
x=0;
printf("Enter x-coordinate and y-coordinate:");
scanf("%d%d",&xc,&yc);
printf("Enter radius:");
scanf("%d",&r);
y=r;
while(x<=y)
{
putpixel(xc+x,yc+y,4);
putpixel(xc+y,yc+x,4);
putpixel(xc-x,yc+y,4);
putpixel(xc-y,yc+x,4);
putpixel(xc-y,yc-x,4);
putpixel(xc-x,yc-y,4);
putpixel(xc+x,yc-y,4);
putpixel(xc+y,yc-x,4);
x=x+1;
y=sqrt(r*r-x*x);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 14 Scan convert ellipse using Mid Point Algorithm

SOLUTION:

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void disp();
float x,y;
int xc,yc;
void main()
{
int gd=DETECT,gm;
int a,b;
float p1,p2;
clrscr();
initgraph(&gd,&gm,"");
scanf("%d%d",&xc,&yc);
scanf("%d%d",&a,&b);
x=0;y=b;
disp();
p1=(b*b)-(a*a*b)+(a*a)/4;
while((2.0*b*b*x)<=(2.0*a*a*y))
{
x++;
if(p1<=0)
p1=p1+(2.0*b*b*x)+(b*b);
else
{
y--;
p1=p1+(2.0*b*b*x)+(b*b)-(2.0*a*a*y);
}
disp();
x=-x;
disp();
x=-x;
}
x=a;
y=0;
COMPUTER GRAPHICS PRACTICAL FILE

disp();
p2=(a*a)+2.0*(b*b*a)+(b*b)/4;
while((2.0*b*b*x)>(2.0*a*a*y))
{
y++;
if(p2>0)
p2=p2+(a*a)-(2.0*a*a*y);
else
{
x--;
p2=p2+(2.0*b*b*x)-(2.0*a*a*y)+(a*a);
}
disp();
y=-y;
disp();
y=-y;
}
getch();
closegraph();
}
void disp()
{
putpixel(xc+x,yc+y,10);
putpixel(xc-x,yc+y,10);
putpixel(xc+x,yc-y,10);
putpixel(xc+x,yc-y,10);
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT:
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 15 Cohen – Sutherland Algorithm

SOLUTION:

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
typedef unsigned int outcode;
enum { TOP=0x1, BOTTOM=0x2, RIGHT=0x4, LEFT=0x8 };
void lineclip(x0,y0,x1,y1,xwmin,ywmin,xwmax,ywmax )
float x0,y0,x1,y1,xwmin,ywmin,xwmax,ywmax;
{
int gd,gm;
outcode code0,code1,codeout;
int accept = 0, done=0;
code0 = calcode(x0,y0,xwmin,ywmin,xwmax,ywmax);
code1 = calcode(x1,y1,xwmin,ywmin,xwmax,ywmax);
do{
if(!(code0 | code1))
{ accept =1 ; done =1; }
else
if(code0 & code1) done = 1;
else
{
float x,y;
codeout = code0 ? code0 : code1;
if(codeout & TOP)
{
x = x0 + (x1-x0)*(ywmax-y0)/(y1-y0);
y = ywmax;
}
else
if( codeout & BOTTOM)
{
x = x0 + (x1-x0)*(ywmin-y0)/(y1-y0);
y = ywmin;
}
else
if ( codeout & RIGHT)
{
COMPUTER GRAPHICS PRACTICAL FILE

y = y0+(y1-y0)*(xwmax-x0)/(x1-x0);
x = xwmax;
}
else
{
y = y0 + (y1-y0)*(xwmin-x0)/(x1-x0);
x = xwmin;
}
if( codeout == code0)
{
x0 = x; y0 = y;
code0=calcode(x0,y0,xwmin,ywmin,xwmax,ywmax);
}
else
{
x1 = x; y1 = y;
code1 = calcode(x1,y1,xwmin,ywmin,xwmax,ywmax);
}
}
} while( done == 0);
if(accept) line(x0,y0,x1,y1);
rectangle(xwmin,ywmin,xwmax,ywmax);
getch();
}
int calcode (x,y,xwmin,ywmin,xwmax,ywmax)
float x,y,xwmin,ywmin,xwmax,ywmax;
{
int code =0;
if(y> ywmax)
code |=TOP;
else if( y<ywmin)
code |= BOTTOM;
else if(x > xwmax)
code |= RIGHT;
else if ( x< xwmin)
code |= LEFT;
return(code);
}
main()
{
COMPUTER GRAPHICS PRACTICAL FILE

float x2,y2,x1,y1,xwmin,ywmin,xwmax,ywmax;
int gd=DETECT,gm;
clrscr();
initgraph(&gd,&gm,"e:\\tc\\bgi");
printf("\n\n\tEnter the co-ordinates of Line :");
printf("\n\n\tX1 Y1 : ");
scanf("%f %f",&x1,&y1);
printf("\n\n\tX2 Y2 : ");
scanf("%f %f",&x2,&y2);
printf("\n\tEnter the co_ordinates of window :\n ");
printf("\n\txwmin , ywmin : ");
scanf("%f %f",&xwmin,&ywmin);
printf("\n\txwmax , ywmax : ");
scanf("%f %f",&xwmax,&ywmax);
clrscr();
line(x1,y1,x2,y2);
rectangle(xwmin,ywmin,xwmax,ywmax);
getch();
clrscr();
lineclip(x1,y1,x2,y2,xwmin,ywmin,xwmax,ywmax );
getch();
closegraph();
}
COMPUTER GRAPHICS PRACTICAL FILE

Output:-
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 16 Get the translation vector from the user and translate the
triangle accordingly.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
int x1,y1,x2,y2,x3,y3,tx,ty;
initgraph(&gd,&gm,"C:\\turboc3\\bgi");
printf("Enter the coordinates:");
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
printf("Enter the Translate vectors:");
scanf("%d%d",&tx,&ty);
x1=x1+tx;
y1=y1+ty;
x2=x2+tx;
y2=y2+ty;
x3=x3+tx;
y3=y3+ty;
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
closegraph();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 17 Get the rotation angle from the user and rotate the triangle
accordingly.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2,x3,y3;
float r,t;
initgraph(&gd,&gm,"C://Turboc3//BGI");
printf("enter lines coordiante:");
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
printf("enter the angle of rotation:");
scanf("%f",&r);
t=r*(3.14)/180;
x1=abs(x1*cos(t)-y1*sin(t));
y1=abs(x1*sin(t)+y1*cos(t));
x2=abs(x2*cos(t)-y2*sin(t));
y2=abs(x2*sin(t)+y2*cos(t));
x3=abs(x3*cos(t)-y3*sin(t));
y3=abs(x3*sin(t)+y3*cos(t));
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 18 Get the scaling factor from the user and scale the triangle
accordingly.
SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2,x3,y3,tx,ty,tz;
initgraph(&gd,&gm,"C://Turboc3//BGI");
printf("enter lines coordiante:");
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
printf("line as ************* follow\n");
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
printf("enter the translation vector:\n");
scanf("%d%d",&tx,&ty);
x1=x1*tx;
y1=y1*ty;
x2=x2*tx;
y2=y2*ty;
x3=x3*tx;
y3=y3*ty;
printf("inital line is");
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 19 Program to implement reflection on a point,line.


SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
intgd=DETECT,gm;
int x1,y1,x2,y2;
int a;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");
printf("Enter coordinates of first vertex :");
scanf("%d %d",&x1,&y1);
printf("Enter coordinates of second vertex :");
scanf("%d %d",&x2,&y2);
line(x1,y1,x2,y2);
line(320,0,320,500);
line(0,240,640,240);
printf("Enter the angle of reflection:");
scanf("%d",&a);
if(a=1)
{
line(x1,y1+240,x2,y2+240);
}
else
{
if(a=2)
{
line(x1+320,y1,x2+320,y2);
}
}
printf("Line after reflection");
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 20 Program to implement shearing on a line.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
intgd=DETECT,gm;
int x1,y1,x2,y2,x,y;
initgraph(&gd,&gm,"C:\\Turboc3\\bgi");
printf("Enter x1, y1, x2 & y2: ");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
line(x1,y1,x2,y2);
printf("Enter shearing value for x & y:");
scanf("%d%d",&x,&y);
printf("shearing about x axis\n");
line(x1,y1,x2*x,y2);
printf("shearing about y axis");
line(x1,y1,x2,y2*y);
getch();
}
OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 21 To design flying colored balloons.

SOLUTION:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI" );
for(i=1;i<=250;i++)
{
cleardevice();
setfillstyle(5,BROWN);
circle(130,300-i,40);
line(130,340-i,130,450-i);
floodfill(130,300-i,WHITE);
setfillstyle(2,RED);
circle(300,300-i,40);
line(300,340-i,300,450-i);
floodfill(300,300-i,WHITE);
setfillstyle(3,BLUE);
circle(500,300-i,40);
line(500,340-i,500,450-i);
floodfill(500,300-i,WHITE);
delay(60);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 22 program to perform Sunrise and sunset


SOLUTION:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI" );
for(i=1;i<=150;i++)
{
cleardevice();
line(150,5,30,200);
setfillstyle(1,YELLOW);
circle(230,100-i,40);
floodfill(230,100-i,WHITE);
line(150,5,220,200);
line(350,5,220,200);
line(350,5,410,220);
line(550,5,410,220);
line(550,5,610,220);
delay(60);
}
for(i=1;i<=80;i++)
{
cleardevice();
line(150,5,30,200);
setfillstyle(2,YELLOW);
circle(230,10+i,40);
floodfill(230,10+i,WHITE);
line(150,5,220,200);
line(350,5,220,200);
line(350,5,410,220);
line(550,5,410,220);
line(550,5,610,220);
delay(60);
}

getch();
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 23 program to perform Moving vehicle.

SOLUTION:
#include<stdio.h>
#include<graphics.h>
void main()
{
int i;
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\TURBOC3\\bgi");
outtextxy(25,240,"PRESS ANY KEY TO VIEW MOVING CAR");
getch();
for(i=0;i<=350;i++)
{
cleardevice();
line(30+i,275,300+i,275);
setfillstyle(1,RED);
circle(60+i,300,25);
floodfill(60+i,300,WHITE);
setfillstyle(1,6);
circle(270+i,300,25);
floodfill(270+i,300,WHITE);
line(30+i,275,80+i,190);
line(80+i,190,200+i,190);
line(200+i,190,300+i,275);
line(58+i,230,247+i,230);
line(200+i,190,200+i,230);
line(100+i,190,100+i,230);
delay(20);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 24 Show the reflection of a triangle.


SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2,x3,y3;
int c;
initgraph(&gd,&gm,"C://Turboc3//BGI");
printf("enter lines coordiante:");
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
line(320,0,320,430);
line(0,240,640,240);
printf("enter the axis of reflection:");
scanf("%d",&c);
if(c=1)
{
line(x1,y1+240,x2,y2+240);
line(x2,y2+240,x3,y3+240);
line(x3,y3+240,x1,y1+240);
}
else
if(c=2)
{
line(x1+320,y1,x2+320,y2);
line(x2+320,y2,x3+320,y3);
line(x3+320,y3,x1+320,y1);
}
printf("\ntriangle after reflection");
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 25 Perform a shearing transformation on a rectangle.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2,x,y;
initgraph(&gd,&gm,"C://Turboc3//BGI");
printf("enter lines coordiante:");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
rectangle(x1,y1,x2,y2);
printf("enter the shearing value:");
scanf("%d%d",&x,&y);
printf("shearing about x-axis");
rectangle(x1,y1,x2*x,y2);
printf("\nshearing about y-axis");
rectangle(x1,y1,x2,y2*y);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 26 program to perform View of a city.

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
initgraph(&gd,&gm,"C:\\turboc3\\bgi");
setfillstyle(1,YELLOW);
circle(330,30,25);
floodfill(330,30,WHITE);
line(40,320,100,320);
line(10,370,140,370);
line(40,320,30,340);
line(100,320,110,340);
line(10,340,140,340);
line(10,340,10,370);
line(140,340,140,370);
circle(35,370,10);
circle(35,370,15);
line(10,385,800,385);
circle(110,370,10);
circle(110,370,15);
line(10,350,800,350);
line(10,450,800,450);
line(600,350,600,100);
line(460,350,460,100);
line(600,100,460,100);
rectangle(550,150,580,120);
rectangle(480,150,510,120);
rectangle(550,250,580,220);
rectangle(480,250,510,220);
rectangle(550,350,580,320);
rectangle(480,350,510,320);

line(300,350,300,200);
line(300,200,460,200);
rectangle(300,350,150,10);
COMPUTER GRAPHICS PRACTICAL FILE

rectangle(190,150,250,30);
rectangle(190,350,250,220);
rectangle(350,350,420,250);
rectangle(480,150,510,120);
rectangle(550,250,580,220);
rectangle(480,250,510,220);
rectangle(550,350,580,320);
rectangle(480,350,510,320);
getch();
}

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 27 Traffic signal with road

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C://Turboc3//BGI");
line(40,320,100,320);
line(10,370,140,370);
line(40,320,30,340);
line(100,320,110,340);
line(10,340,140,340);
line(10,340,10,370);
line(140,340,140,370);
circle(35,370,10);
circle(35,370,15);
line(10,385,800,385);
circle(110,370,10);
circle(110,370,15);

line(10,350,800,350);
line(10,450,800,450);

rectangle(540,100,470,250);
setfillstyle(2,RED);
circle(500,125,20);
floodfill(500,125,WHITE);
setfillstyle(2,YELLOW);
circle(500,175,20);
floodfill(500,175,WHITE);
setfillstyle(2,GREEN);
circle(500,225,20);
floodfill(500,225,WHITE);
line(500,250,500,400);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 28 program to perform Accident Scene

SOLUTION:
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
void main()
{
int i;
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\TURBOC3\\bgi");
outtextxy(100,45,"PRESS ANY KEY TO VIEW THE ACCIDENT");
getch();
for(i=0;i<=250;i++)
{
cleardevice();
line(30+i,275,300+i,275);
circle(60+i,300,25);
circle(270+i,300,25);
line(30+i,275,80+i,190);
line(80+i,190,200+i,190);
line(200+i,190,300+i,275);
line(58+i,230,247+i,230);
line(200+i,190,200+i,230);
line(100+i,190,100+i,230);
line(550,50,550,450);
delay(10);
}
outtextxy(560,260,"BOOM!!!!");
setfillstyle(1,RED);
circle(590,270,40);
floodfill(590,270,WHITE);
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 29 Program to perform Flight scene

SOLUTION:
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
clrscr();
initgraph(&gd,&gm,"C:\\turboc3\\bgi");
for(i=0;i<=160;i++)
{
cleardevice();
line(250+i,200,140+i,200);
line(280+i,230,100+i,230);
line(300+i,250,100+i,250);
line(100+i,150,100+i,250);
line(100+i,150,140+i,200);
line(250+i,200,300+i,250);
rectangle(160+i,225,140+i,210);
rectangle(200+i,225,180+i,210);
rectangle(240+i,225,220+i,210);
circle(115+i,190,10);
delay(30);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT
COMPUTER GRAPHICS PRACTICAL FILE

PROGRAM 30 Program to perform Kite flying

SOLUTION:
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i;
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI" );
delay(100);
for(i=0;i<=100;i++)
{
cleardevice();
line(100,200-i,200,300-i);
line(200,100-i,200,300-i);
line(100,200-i,300,200-i);
line(300,200-i,200,300-i);
line(200,100-i,300,200-i);
line(100,200-i,200,100-i);
line(200,300-i,150,350-i);
line(200,300-i,250,350-i);
line(150,350-i,250,350-i);
circle(200,200-i,70);
delay(50);
}
getch();
}
COMPUTER GRAPHICS PRACTICAL FILE

OUTPUT

You might also like