#include <graphics.h>
#include <math.h>
#include <stdio.h>
#include <conio.h>
void dda_line(int x1,int y1,int x2,int y2);
int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   /* initialize graphics mode */
   initgraph(&gdriver, &gmode, "c:\\tc");
   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);             /* return with error code */
   }
   getch();
   return(0);
}
void dda_line(int x1,int y1,int x2,int y2)
{
int dx,dy,step;
float x,y,ix,iy;
dx=x2-x1;
dy=y2-y1;
if(abs(dx)>abs(dy))
 step=abs(dx);
else
 step=abs(dy);
ix=dx/(float)step;
iy=dy/(float)step;
x=x1;
y=y1;
putpixel(x,y,1);
while(step-->0)
{
 x=x+ix;
 y=y+iy;
 putpixel(x,y,1);
}
}
 
No comments:
Post a Comment