nefd on 08/31/11

# Statistics

Viewed 498 times
Favorited by 0 user(s)

# Bresenham\'s Line Algorithm

/ Published in: JavaScript  Code obtained from a [stackoverflow question](http://stackoverflow.com/questions/4672279/bresenham-algorithm-in-javascript). This is a javascript implementation of the [Bresenham line algorithm](http://en.wikipedia.org/wiki/Bresenham's_line_algorithm). Given two points, this function will return an array of coordinates which go from point A to point B, one step at a time.

Copy this code and paste it in your HTML
`function calcStraightLine (startCoordinates, endCoordinates) {    var coordinatesArray = new Array();    // Translate coordinates    var x1 = startCoordinates.left;    var y1 = startCoordinates.top;    var x2 = endCoordinates.left;    var y2 = endCoordinates.top;    // Define differences and error check    var dx = Math.abs(x2 - x1);    var dy = Math.abs(y2 - y1);    var sx = (x1 < x2) ? 1 : -1;    var sy = (y1 < y2) ? 1 : -1;    var err = dx - dy;    // Set first coordinates    coordinatesArray.push(new Coordinates(y1, x1));    // Main loop    while (!((x1 == x2) && (y1 == y2))) {      var e2 = err << 1;      if (e2 > -dy) {        err -= dy;        x1 += sx;      }      if (e2 < dx) {        err += dx;        y1 += sy;      }      // Set coordinates      coordinatesArray.push(new Coordinates(y1, x1));    }    // Return the result    return coordinatesArray;  }` Subscribe to comments