/* Example 1.3.line.c: scan-convert randomly generated lines (Bresenham's alg) */ // by Jim X. Chen; September, 2000 #include #include #include #define ESC 27 int Height=400, Width=400; void swapd(int *a, int *b) { int tmp; tmp=*a;*a=*b;*b=tmp; } void writepixel(int x, int y, int flag) { glBegin(GL_POINTS); if (flag==0) glVertex2i (x,y); else if (flag==1) glVertex2i (y,x); else if (flag==10) glVertex2i (x,-y); else if (flag==11) glVertex2i (y,-x); glEnd(); } void line(int x0,int y0,int xn,int yn) { /* Bresenham's midpoint line algorithm */ int dx, dy, incrE, incrNE, d, x, y, flag = 0; if (xn