Talk:Bresenham's Line Algorithm

From RogueBasin
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Here's the shorter variant of function bla in Haskell:

import Data.Tuple
bla :: (Int, Int) -> (Int, Int) -> [(Int, Int)]
bla (x0, y0) (x1, y1) =
  let (dx, dy) = (x1 - x0, y1 - y0)
      (q, p, sw) | abs dx > abs dy = (dx, dy, id)
                 | otherwise       = (dy, dx, swap)
      step b (x, y) = (x + signum q, y + signum p * b)
      walk w xy = xy : walk (tail w) (sw . step (head w) . sw $ xy)
  in walk (balancedWord (abs p) (abs q) 0) (x0, y0)

Terms of usage (license)

What is the license for code present on this page?

See RogueBasin:Copyrights and the discussions it links to. In short, it's unclear.-Muscles (talk) 04:13, 6 August 2016 (CEST)