0% found this document useful (0 votes)
469 views59 pages

CGMA Practical File

The document outlines 15 programs related to computer graphics. The programs cover drawing basic shapes, nested shapes, text display, coordinate axes, bar charts, pie charts, line drawing algorithms, circle drawing algorithms and ellipse drawing using various techniques. Each program includes the problem statement, solution code and output.

Uploaded by

laxmitiwari1077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
469 views59 pages

CGMA Practical File

The document outlines 15 programs related to computer graphics. The programs cover drawing basic shapes, nested shapes, text display, coordinate axes, bar charts, pie charts, line drawing algorithms, circle drawing algorithms and ellipse drawing using various techniques. Each program includes the problem statement, solution code and output.

Uploaded by

laxmitiwari1077
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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