Program : DDA Line Drawing
#include<stdio.h>
#include<conio.h>
#include <graphics.h>
#include<math.h>
#include<dos.h>
void main()
{
float a,b,c,d,e,x,y,x1,y1,x2,y2;
int x3,y3,i;
int gdriver=DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode,"c:\\turboc3" );
cleardevice();
printf("\nEnter x1:");
scanf("%f",&x1);
printf("\nEnter y1:");
scanf("%f",&y1);
printf("\nEnter x2:");
scanf("%f",&x2);
printf("\nEnter y2:");
scanf("%f",&y2);
clrscr();
a=x2-x1; b=y2-y1;
if(abs(a)<abs(b))
c=abs(b);
else
c=abs(a);
d=a/c; e=b/c;
x=x1; y=y1;
x3=x; y3=y;
putpixel(x3,y3,15);
for(i=0;i<c;i++)
{
//printf("(%d,%d)\n",x3,y3);
putpixel(x3,y3,0);
delay(20);
x=x+d; y=y+e;
x3=x; y3=y;
if((x-x3)>=.5)
x3++;
if((y-y3)>=.5)
y3++;
}
x3=x; y3=y;
putpixel(x3,y3,4);
getch();
closegraph();
}
0 comments:
Post a Comment