wallpaper-0.1.0.1: A library and executable for creating wallpaper, frieze, and rosette patterns.

Copyright(c) 2017 Jeffrey Rosenbluth
LicenseBSD-style (see LICENSE)
Maintainerjeffrey.rosenbluth@gmail.com
Safe HaskellNone
LanguageHaskell2010

Types

Contents

Description

Types and classes for creating symmtery images using the domain coloring algortihm.

Synopsis

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.

Constructors

Picture (Image p) 
Function (Complex a -> p) 

data Coef a Source #

The coefficents used to build a symmetry recipe, C_nm. A coeffient is a doubley indexed complex number

Constructors

Coef 

Fields

Instances

Functor Coef Source # 

Methods

fmap :: (a -> b) -> Coef a -> Coef b #

(<$) :: a -> Coef b -> Coef a #

Eq a => Eq (Coef a) Source # 

Methods

(==) :: Coef a -> Coef a -> Bool #

(/=) :: Coef a -> Coef a -> Bool #

Show a => Show (Coef a) Source # 

Methods

showsPrec :: Int -> Coef a -> ShowS #

show :: Coef a -> String #

showList :: [Coef a] -> ShowS #

FromJSON a => FromJSON (Coef a) Source # 

data Options a Source #

Settings for the size, repeat lenght, and scaling factor for creating a a domain coloring.

Constructors

Options 

Fields

  • width :: Int

    The width of the created image.

  • height :: Int

    The height of the created iamge.

  • repLength :: Int

    The length of the pattern to repeat.

  • scale :: a

    Usually set less than 1, to compensate for the fact that the color wheel is not infinite.

Instances

Functor Options Source # 

Methods

fmap :: (a -> b) -> Options a -> Options b #

(<$) :: a -> Options b -> Options a #

Eq a => Eq (Options a) Source # 

Methods

(==) :: Options a -> Options a -> Bool #

(/=) :: Options a -> Options a -> Bool #

Show a => Show (Options a) Source # 

Methods

showsPrec :: Int -> Options a -> ShowS #

show :: Options a -> String #

showList :: [Options a] -> ShowS #

FromJSON a => FromJSON (Options a) Source # 

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.

Constructors

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 

data WPtype a Source #

The type of wallpaper to produce.

Constructors

Plain 
Morph a 
Blend (SymmetryGroup a) 

Instances

Functor WPtype Source # 

Methods

fmap :: (a -> b) -> WPtype a -> WPtype b #

(<$) :: a -> WPtype b -> WPtype a #

Eq a => Eq (WPtype a) Source # 

Methods

(==) :: WPtype a -> WPtype a -> Bool #

(/=) :: WPtype a -> WPtype a -> Bool #

Show a => Show (WPtype a) Source # 

Methods

showsPrec :: Int -> WPtype a -> ShowS #

show :: WPtype a -> String #

showList :: [WPtype a] -> ShowS #

FromJSON a => FromJSON (WPtype a) Source # 

data Wallpaper a Source #

Settings for creating a wallpaper.

Instances

Functor Wallpaper Source # 

Methods

fmap :: (a -> b) -> Wallpaper a -> Wallpaper b #

(<$) :: a -> Wallpaper b -> Wallpaper a #

Eq a => Eq (Wallpaper a) Source # 

Methods

(==) :: Wallpaper a -> Wallpaper a -> Bool #

(/=) :: Wallpaper a -> Wallpaper a -> Bool #

Show a => Show (Wallpaper a) Source # 
FromJSON a => FromJSON (Wallpaper a) Source # 

data Rosette a Source #

Settings for creating a rosette.

Instances

Functor Rosette Source # 

Methods

fmap :: (a -> b) -> Rosette a -> Rosette b #

(<$) :: a -> Rosette b -> Rosette a #

Eq a => Eq (Rosette a) Source # 

Methods

(==) :: Rosette a -> Rosette a -> Bool #

(/=) :: Rosette a -> Rosette a -> Bool #

Show a => Show (Rosette a) Source # 

Methods

showsPrec :: Int -> Rosette a -> ShowS #

show :: Rosette a -> String #

showList :: [Rosette a] -> ShowS #

FromJSON a => FromJSON (Rosette a) Source # 

data Function a Source #

Settings for creating a phase portrait.

Constructors

Fn 

Instances

Functor Function Source # 

Methods

fmap :: (a -> b) -> Function a -> Function b #

(<$) :: a -> Function b -> Function a #

Eq a => Eq (Function a) Source # 

Methods

(==) :: Function a -> Function a -> Bool #

(/=) :: Function a -> Function a -> Bool #

Show a => Show (Function a) Source # 

Methods

showsPrec :: Int -> Function a -> ShowS #

show :: Function a -> String #

showList :: [Function a] -> ShowS #

type Recipe a = Complex a -> Complex a Source #

A Recipe is a mapping from the complex plange to the complex plane.

Orphan instances