#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #define round(a) ((int) (a+0.5)) void lineDDA(int xa,int ya,int xb,int yb); int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int xa,ya,xb,yb; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "..\\bgi"); lineDDA(0,0,640,480); lineDDA(640,0,0,480); lineDDA(320,0,320,480); lineDDA(0,240,640,240); getch(); closegraph(); } void lineDDA(int xa,int ya,int xb,int yb) { int dx=xb-xa,dy=yb-ya,steps,k; float xinc,yinc,x=xa,y=ya; if(abs(dx)>abs(dy)) steps=abs(dx); else steps=abs(dy); xinc=dx/(float) steps; yinc=dy/(float) steps; putpixel(round(x),round(y),5); for(k=0;k<steps;k++) { x+=xinc; y+=yinc; putpixel(round(x),round(y),2); } }
hookup ur code with us
Comments
Post a Comment