# Line drawing algorithms

John Brookes

Greenhorn

Posts: 29

posted 11 years ago

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

Thanks in advance.

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

Thanks in advance.