# Talk:Bresenham's Line Algorithm

Jump to navigation
Jump to search

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)