You are on page 1of 4

Program to generate a line using DDA Line Drawing Algorithm

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<graphics.h>
#define ROUND(x) ((int)(x+0.5))
void main()
{
int gd=DETECT,gm;
int x1,x2,y1,y2,steps,dx,dy,k;
float xincr,yincr,x,y;
initgraph(&gd,&gm,"c://tc//bgi");
printf("Enter the co-ordinates values");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
dx=x2-x1;
dy=y2-y1;
if(abs(dx)>abs(dy))
steps=abs(dx);
else
steps=abs(dy);
xincr=dx/(float)steps;
yincr=dy/(float)steps;
x=x1;
y=y1;
putpixel(x,y,WHITE);
for(k=1;k<=steps;k++)
{
x+=xincr;
y+=yincr;
//printf("\t(%4.1f,%4.1f)\t(%d,%d)\n",x,y,ROUND(x),ROUND(y));
putpixel(ROUND(x),ROUND(y),random(getmaxcolor()));
}
getch();
closegraph();
}
Program to generate animation of Man Walking with an Umbrella
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<conio.h>
void main()
{
int driver=DETECT,mode,i,j;
int x1,x2,x3,x4,x5;
int y1,y2,y3,y4,y5;
initgraph(&driver,&mode,"C:\\tc\\bgi");
setcolor(2);
x1=100;y1=330;
x2=150;y2=330;
x3=125;y3=280;
x4=0;y4=332,x5=600,y5=332;
for(i=0;i<300;i+=10)
for(x1=100,x2=150;x1<150,x2>100;x1+=2,x2-=2)
{
delay(15);
cleardevice();
line(x3+i,240,150+i,240);
line(x3+i,240,x1+i,270);
line(150+i,240,150+i,150);
setfillstyle(SOLID_FILL, BLUE);
ellipse(150+i,150,0,180,50,40);
floodfill(150+i, 150, 2);
line(100+i,150, 200+i, 150);
line(x1+i,y1,x3+i,y3);
line(x2+i,y2,x3+i,y3);
ellipse(125+i,255,0,360,10,40);
circle(125+i,200,14);
setfillstyle(SOLID_FILL,RED);
ellipse(124+i,195,0,360,3,2);
floodfill(125+i,195,2);
setfillstyle(SOLID_FILL,RED);
ellipse(138+i,202,0,360,3,2);
floodfill(138+i,202,2);
line(x4,y4,x5,y5);
}
return;
}
Program to Generate Animation of Fish Movement
#include<stdio.h>
#include<time.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int x=10,y=200,x1=675,y1=380;
int stangle=35,endangle=140,radius=90;
initgraph(&gd,&gm,"..\\bgi");
while(!kbhit())
{
cleardevice();
setbkcolor(BLACK);
if(x<640)
{
x+=5;
y+=1;
arc(x,y,stangle,endangle+35,radius);
arc(x,y-110,190,323,radius+2);
circle(x+40,y-60,5);
line(x-90,y-90,x-90,y-8);
}
else
{
x1-=5;
y1-=1;
arc(x1,y1,stangle-30,endangle+4,radius);
arc(x1,y1-110,217,350,radius+2);

circle(x1-40,y1-60,5);
line(x1+90,y1-90,x1+90,y1-10);
}
setcolor(YELLOW);
delay(90);
}
closegraph();
}
Program to Genreate Sales Graph of Cars using Histogram
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>
void main()
{
int i,qty[4];
for(i=0;i<4;i++)
{
printf("\n Enter the quantity of %d car(in lakhs) produced (15 to 100):",1+i);
scanf("%d",&qty[i]);
}
bargraph(qty);
}
int bargraph(int p[])
{
int driver=DETECT,mode;
int i,left,top,wide,bottom,deep;
static char * label[4]={"2012","2013","2014","2015"};
initgraph(&driver,&mode,"c://turboc3//bgi");
setfillstyle(SOLID_FILL,CYAN);
wide=30;
bottom=getmaxy()-40;
deep=7;
left=wide;
for(i=0;i<4;i++)
{
top=bottom-(p[i]*5);
bar3d(left,top,(left+wide),bottom,deep,1);
outtextxy(left,460,label[i]);
left=left+(wide*2);
}
outtextxy(200,bottom-300,"car Produced in lakhs from 2012 to 2015");
getch();
closegraph();
}

You might also like