LambdaHack- A roguelike game engine in early and active development

Safe HaskellNone



Basic cartesian geometry operations on 2D points.



type X = IntSource

Spacial dimension for points and vectors.

type Y = IntSource

Spacial dimension for points and vectors.

newtype PointXY Source

2D points in cartesian representation.


PointXY (X, Y) 

fromTo :: PointXY -> PointXY -> [PointXY]Source

A list of all points on a straight vertical or straight horizontal line between two points. Fails if no such line exists.

sortPointXY :: (PointXY, PointXY) -> (PointXY, PointXY)Source

Sort the sequence of two points, in the derived lexicographic order.

blaXY :: Int -> PointXY -> PointXY -> [PointXY]Source

Bresenham's line algorithm generalized to arbitrary starting eps (eps value of 0 gives the standard BLA). Includes the source point and goes through the target point to infinity.