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

Recipes.Wallpaper

Description

Recipes for the 17 wallpaper groups.

For more detailed descriptions of the various symmetry groups see: https://en.wikipedia.org/wiki/Wallpaper_group and "Creating Symmetry" by Frank A. Farris, 2015 Princeton University Press, Appendices A and B

The color wheel used for all of the images: placed side by side with it's negative, that's where the purples come from.

Synopsis

# Wallpaper Groups

## Generic Lattice

Lattice vectors: 1, xi + i * eta.

genericLattice :: RealFloat a => a -> a -> Int -> Int -> Recipe a Source #

p1 :: RealFloat a => a -> a -> [Coef a] -> Recipe a Source #

The symmetry group with translations only. p2 :: RealFloat a => a -> a -> [Coef a] -> Recipe a Source #

The symmetry group with four rotational centers of order 2, 180 degree rotational symmetry. ## Rhombic (Centered) Lattice

Lattice vectors: 1/2 + i * b, 1/2 - i * b.

rhombicLattice :: RealFloat a => a -> Int -> Int -> Recipe a Source #

Rhombic Lattice for creating symmmetry about the center.

cm :: RealFloat a => a -> [Coef a] -> Recipe a Source #

Reflection about the horizontal axis plus horizontal glide reflection. cmm :: RealFloat a => a -> [Coef a] -> Recipe a Source #

Rotaion and Reflection about the horizontal axis in addition to translation invariance about the center of the lattice. ## Rectangular Lattice

Lattice vectors: 1, i * l.

rectangularLattice :: RealFloat a => a -> Int -> Int -> Recipe a Source #

Rectangular Lattice for creating symmetry with no rotational symmetry.

pm :: RealFloat a => a -> [Coef a] -> Recipe a Source # pg :: RealFloat a => a -> [Coef a] -> Recipe a Source #

Glide reflection in the horizontal direction. pmm :: RealFloat a => a -> [Coef a] -> Recipe a Source #

Reflection about the horizontal and vertical axis in addition to 2-fold symmetry. pmg :: RealFloat a => a -> [Coef a] -> Recipe a Source # pgg :: RealFloat a => a -> [Coef a] -> Recipe a Source # ## Square Lattice

Lattice vectors: 1, i.

squareLattice :: RealFloat a => Int -> Int -> Recipe a Source #

Square Lattice for creating 4-fold symmetry.

p4 :: RealFloat a => [Coef a] -> Recipe a Source #

4-fold symmetry only. p4m :: RealFloat a => [Coef a] -> Recipe a Source #

Reflection along the diagonal of the square in addition to 4-fold symmetry. p4g :: RealFloat a => [Coef a] -> Recipe a Source #

Glide symmetry about the diagonal of the sqaure in addition to 4-fold symmetry. ## Hexagonal Lattice

Lattice vectors: 1, (-1 + i * sqrt(3)) // 2.

hexagonalLattice :: RealFloat a => Int -> Int -> Recipe a Source #

Hexagonal Lattice for creating 3-fold symmetry.

p3 :: RealFloat a => [Coef a] -> Recipe a Source #

3-fold symmetry only. p31m :: RealFloat a => [Coef a] -> Recipe a Source # p3m1 :: RealFloat a => [Coef a] -> Recipe a Source # p6 :: RealFloat a => [Coef a] -> Recipe a Source #

60 degree Rotation in addtion to 3-fold symmetry. p6m :: RealFloat a => [Coef a] -> Recipe a Source #

60 degree Rotation and reflection about the horizontal in addtion to 3-fold symmetry. ## Wave Functions

enm :: RealFloat a => Int -> Int -> a -> a -> Complex a Source #

Periodic waves with respect to two translations. A Fourier vector.

tnm :: RealFloat a => Int -> Int -> a -> a -> Complex a Source #

Wave packets to create 2-fold rotational symmetry.

wnm :: RealFloat a => Int -> Int -> a -> a -> Complex a Source #

Wave packets to create 3-fold rotational symmetry.