File Exchange

image thumbnail

Bresenham's Line

version 1.0 (2.18 KB) by

Generate a line profile of a 2d image

4 Downloads

Updated

No License

Generate a line profile of a 2d image
using Bresenham's algorithm.

For a demo purpose, try

bresenham();

Comments and Ratings (10)

JK Hwang

Hi, I think that your code is very helpful. However, I found a minor bug in the code.
----------
if bitshift(error,1) >= delx, % same as -> if 2*error >= delx,
        y_n = y_n + ystep;
        error = error - delx;
    end

----------
In case of a coordinate of first point is (2,3) and second point is (3,11), it does not work and print out error message. I think this error caused by 'bitshift' function. I changed the function to '2*error', then the problem is solved.

Raz Shimoni

I have been using this function for some time now, and saw that other Bresenham's Line functions were more recently uploaded to MFE. I haven't compared performances yet, still this works great.

Christian

Hi! Nice Code!

However, i think there is a little bug:

the code that i downloaded says:

----------
  if steep,
        myline(n) = mymat(x_n,y_n);
        outmat(x_n,y_n) = 0;
        X(n) = x_n;
        Y(n) = y_n;
    else
        myline(n) = mymat(y_n,x_n);
        outmat(y_n,x_n) = 0;
        X(n) = y_n;
        Y(n) = x_n;
    end
-------

...this does not work for me, i think the code within the if and else statements should be swapped:

---------
if steep,
        myline(n) = mymat(y_n,x_n);
        outmat(y_n,x_n) = 0;
        X(n) = y_n;
        Y(n) = x_n;
    else
        myline(n) = mymat(x_n,y_n);
        outmat(x_n,y_n) = 0;
        X(n) = x_n;
        Y(n) = y_n;
    end
-------

Best,
Christian

Christian

Tina Hegarty

Brilliant. You probably just saved me a few hours! Many thanks.

Canuck Hanks

Very nice with demo! Thanks!

Ryan Crow

Well done! Demo and visualization included.

julio choque

excellent

scardanzan ivan

an image with an example , please

MATLAB Release
MATLAB 6.5 (R13)
Acknowledgements

Inspired: 2D Local Grid Map, TACTICS Toolbox

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video