/* DDA Line Drawing Algorithm */ #include #include #include #include void ddaLine(int x1,int y1,int x2,int y2) { float x=x1,y=y1,dx,dy; int length,i; putpixel(x1,y1,WHITE); if(abs(x2-x1)>=abs(y2-y1)) length=abs(x2-x1); else length=abs(y2-y1); dx=(float)(x2-x1)/length; dy=(float)(y2-y1)/length; for(i=1;i<=length;i++) { x=x+dx; y=y+dy; putpixel((int)x,(int)y,WHITE); } } void main() { int x1,y1,x2,y2; int gdriver = DETECT, gmode; initgraph(&gdriver, &gmode, ""); printf("Enter the starting co-ordinates: "); scanf("%d %d",&x1,&y1); printf("Enter the ending co-ordinates: "); scanf("%d %d",&x2,&y2); ddaLine(x1,y1,x2,y2); getch(); }