www.pudn.com > CG2Programs.rar > lineDDA.c
/* lineDDA, Chapter 3, p. 88 */
/* EXAMPLE STARTS HERE */
#include "device.h"
#define ROUND(a) ((int)(a+0.5))
void lineDDA (int xa, int ya, int xb, int yb)
{
int dx = xb - xa, dy = yb - ya, steps, k;
float xIncrement, yIncrement, x = xa, y = ya;
if (abs (dx) > abs (dy)) steps = abs (dx);
else steps = abs (dy);
xIncrement = dx / (float) steps;
yIncrement = dy / (float) steps;
setPixel (ROUND(x), ROUND(y));
for (k=0; k