Difference between revisions of "Talk:Bresenham's Line Algorithm"

From RogueBasin
Jump to navigation Jump to search
(Created page with "Here's the shorter variant of function '''bla''' in Haskell: <div style="background-color: #EEEEEE; border-style: dotted; padding: 0.3em"> <syntaxhighlight lang="haskell"> impor...")
 
Line 15: Line 15:
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
== Terms of usage (license) ==
What is the license for code present on this page?

Revision as of 14:23, 5 August 2016

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?