go back
Illustration of Bresenham's line algorithm from 1962.
Click and drag the mouse to trace a line.
Bresenham's algorithm will appear as you release the mouse.
spacebar clears the canvas.
Built with Processing
This is the Pseudocode as extracted from Wikipedia:
function line(x0, x1, y0, y1)
boolean steep := abs(y1 - y0) > abs(x1 - x0)
if steep then
swap(x0, y0)
swap(x1, y1)
if x0 > x1 then
swap(x0, x1)
swap(y0, y1)
int deltax := x1 - x0
int deltay := abs(y1 - y0)
int error := 0
int ystep
int y := y0
if y0 < y1 then ystep := 1 else ystep := -1
for x from x0 to x1
if steep then plot(y,x) else plot(x,y)
error := error + deltay
if 2*error >= deltax
y := y + ystep
error := error - deltax