Copyright | (c) Amy de Buitléir 2012-2014 |
---|---|
License | BSD-style |
Maintainer | amy@nualeargais.ie |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
A regular arrangement of octagonal tiles.
Octagons won't tile a regular plane (there will be diamond-shaped
gaps between the tiles), but they will tile a hyperbolic plane.
(Alternatively, you can think of these as squares on a board game
where diagonal moves are allowed.)
The userguide, with illustrations, is available at
https://github.com/mhwombat/grid/wiki.
Also see Math.Geometry.Grid
for examples of how to use this class.
- data UnboundedOctGrid = UnboundedOctGrid
- data RectOctGrid
- rectOctGrid :: Int -> Int -> RectOctGrid
- data TorOctGrid
- torOctGrid :: Int -> Int -> TorOctGrid
Unbounded grid with octagonal tiles
data UnboundedOctGrid Source
An unbounded grid with octagonal tiles. The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.
Rectangular grid with octagonal tiles
data RectOctGrid Source
A rectangular grid with octagonal tiles. The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.
Eq RectOctGrid | |
Show RectOctGrid | |
Generic RectOctGrid | |
BoundedGrid RectOctGrid | |
FiniteGrid RectOctGrid | |
Grid RectOctGrid | |
type Rep RectOctGrid | |
type Size RectOctGrid = (Int, Int) | |
type Index RectOctGrid = (Int, Int) | |
type Direction RectOctGrid = OctDirection |
rectOctGrid :: Int -> Int -> RectOctGrid Source
produces a rectangular grid with rectOctGrid
r cr
rows
and c
columns, using octagonal tiles. If r
and c
are both
nonnegative, the resulting grid will have r*c
tiles. Otherwise,
the resulting grid will be null and the list of indices will be
null.
Toroidal grid with octagonal tiles
data TorOctGrid Source
A toroidal grid with octagonal tiles. The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.
Eq TorOctGrid | |
Show TorOctGrid | |
Generic TorOctGrid | |
WrappedGrid TorOctGrid | |
FiniteGrid TorOctGrid | |
Grid TorOctGrid | |
type Rep TorOctGrid | |
type Size TorOctGrid = (Int, Int) | |
type Index TorOctGrid = (Int, Int) | |
type Direction TorOctGrid = OctDirection |
torOctGrid :: Int -> Int -> TorOctGrid Source
returns a toroidal grid with torOctGrid
r cr
rows and c
columns, using octagonal tiles. If r
and c
are
both nonnegative, the resulting grid will have r*c
tiles. Otherwise,
the resulting grid will be null and the list of indices will be null.