Rectangle Using DDA Line Drawing Algo
Rectangle Using DDA Line Drawing Algo
h> #define ROUND(x) ((int)(x+0.5)) void ddaline(int x1, int y1, int x2, int y2, int c) { int dx = x2 - x1; int dy = y2 - y1; int steps; if(abs(dx) > abs(dy)) steps = abs(dx); else steps = abs(dy); float x_inc = dx / (float)steps; float y_inc = dy / (float)steps; int x = x1, y = y1; putpixel(x, y, c); for (int i = 0; i < steps; ++i) { x += x_inc; y += y_inc; putpixel(ROUND(x), ROUND(y), c); } } void main() { int gd = DETECT, gm; initgraph(&gd, &gm, "O:\\bgi"); ddaline(10, ddaline(10, ddaline(50, ddaline(10, getch(); } 10, 10, 10, 50, 50, 10, 50, 50, 10, 50, 50, 50, 111); 111); 111); 111);