Draw a line using DDA line drawing algorithm
Program: Draw a line using DDA line drawing algorithm
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<math.h>
void ddaline(int x1, int y1, int x2, int y2);
int main()
{
int gd=DETECT,gm,x1,y1,x2,y2;
initgraph(&gd,&gm,"c:\\tc\\bgi");
int midx=getmaxx()/2, midy=getmaxy()/2;
setcolor(WHITE);
line(0,midy,getmaxx(),midy);
line(midx,0,midx,getmaxy());
printf(“Enter starting point: “);
scanf(“%d%d”,&x1,&y1);
printf(“\nEnter ending point: “);
scanf(“%d%d”,&x2,&y2);
ddaline(x1,y1,x2,y2);
getch(); closegraph();
return 0;
}
void ddaline(int x1, int y1, int x2, int y2)
{
int midx=getmaxx()/2, midy=getmaxy()/2;
int dx=x2-x1, dy=y2-y1;
int pixel;
if(abs(dx)>abs(dy))
pixel=dx;
else
pixel=dy;
dx=dx/pixel, dy=dy/pixel;
int i=1, x=x1, y=y1;
while(i<=pixel)
{
x=x+dx;
y=y+dy;
putpixel(midx-x, midy+y, getcolor());
i++
}
}
Output :
Enter Starting Point : 20 30
Enter Ending Point : 100 110
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment