Copyright | (c) 2017 Jeffrey Rosenbluth |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | jeffrey.rosenbluth@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Types and classes for creating symmtery images using the domain coloring algortihm.
- data ColorSource a p
- data Coef a = Coef {}
- data Options a = Options {}
- defaultOpts :: Options Double
- data SymmetryGroup a
- data PreProcess
- data WPtype a
- = Plain
- | Morph a
- | Blend (SymmetryGroup a)
- data Wallpaper a = Wallpaper {}
- data Rosette a = Rosette {}
- data Function a = Fn {}
- type Recipe a = Complex a -> Complex a
- class Invertible a where
- class BlackWhite a where
Documentation
data ColorSource a p Source #
A color source can be either a JuicyPixels image or a function from a complex number to a pixel.
The coefficents used to build a symmetry recipe, C_nm. A coeffient is a doubley indexed complex number
Settings for the size, repeat lenght, and scaling factor for creating a a domain coloring.
defaultOpts :: Options Double Source #
The defaul Options
creates a square 750 x 750 pixel image,
with a repeat of 150 pixels and scales the pixel lookup coordintes
by 1/2.
data SymmetryGroup a Source #
The 17 Wallpaper groups and 7 Frieze groups.
P1 a a | Arguments are ξ and η. The lattice vectors are 1 and ξ + i η. |
P2 a a | Arguments are ξ and η. The lattice vectors are 1 and ξ + i η. |
CM a | The argument is b with lattice vectors 1/2 +- ib. |
CMM a | The argument is b with lattice vectors 1/2 +- ib. |
PM a | The argument is L with lattice vectors 1 and iL. |
PG a | The argument is L with lattice vectors 1 and iL. |
PMM a | The argument is L with lattice vectors 1 and iL. |
PMG a | The argument is L with lattice vectors 1 and iL. |
PGG a | The argument is L with lattice vectors 1 and iL. |
P4 | |
P4M | |
P4G | |
P3 | |
P31M | |
P3M1 | |
P6 | |
P6M | |
P111 | |
P211 | |
P1M1 | |
P11M | |
P11G | |
P2MM | |
P2MG |
Functor SymmetryGroup Source # | |
Eq a => Eq (SymmetryGroup a) Source # | |
Show a => Show (SymmetryGroup a) Source # | |
FromJSON a => FromJSON (SymmetryGroup a) Source # | |
data PreProcess Source #
What to do the color wheel before creating the Wallpaper.
The type of wallpaper to produce.
Plain | |
Morph a | |
Blend (SymmetryGroup a) |
Settings for creating a wallpaper.
Settings for creating a rosette.
Settings for creating a phase portrait.
type Recipe a = Complex a -> Complex a Source #
A Recipe
is a mapping from the complex plange to the complex plane.
class Invertible a where Source #
Invert the color of a pixel.
class BlackWhite a where Source #
Pixels that can be set to black and white.