Win a copy of Functional Reactive Programming this week in the Other Languages forum!

# Line drawing algorithms

John Brookes
Greenhorn
Posts: 29
Does anyone know the algorithm for drawing polygonal lines (ie: from (x1,y1) to (x2,y2) for any value of the x/y variables)? I can't use the Java libraries to do it because, to be honest, I'm doing it in C and I haven't got enough program memory to store the maths libraries. I haven't been able to find any algortihms on the net and, while I'm close to figuring it out myself, I'm getting stuck on working out the gradient loops.

So far i've got this:

y = (int)y2 - (int)y1; // finds length of y
x = x2 - x1;// finds length of x
m = (y/x); // Grad of line
c = y-mx; // intersection w/ y-axis

if(x<0)
{
x = x*-1; // Make the length positive for use in loop
}

if(y<0)
{
y = y*-1; // Make the length positive for use in loop
}

if(y<x)
{
for(i=x1; i<=x2; i++)
{

}
}
else
{
for(i=y1; i<=y2; i++)
{

}
}

and a load of ideas in my head that dont work s