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

Core

Contents

Description

Tools for creating symmtery images using the domain coloring algortihm.

Synopsis

Domain Coloring

domainColoring :: (RealFloat a, Pixel p, BlackWhite p) => Options a -> Recipe a -> ColorSource a p -> Image p Source #

Make an image from a set of Options, a Recipe and a color source.

blend :: (RealFloat a, Pixel p, BlackWhite p) => Options a -> Recipe a -> Recipe a -> ColorSource a p -> Image p Source #

Make a symmetry image from two Recipes by linearly interpolation. The interpolation is along the horizontal axis.

morph :: (RealFloat a, Pixel p, BlackWhite p) => Options a -> Recipe a -> a -> ColorSource a p -> Image p Source #

Make a symmetry image by interpolating between a color wheel and its 180 degree rotation. The cutoff represents what percentage of the image stays constant at the left and right sides. Like blend the interpolation is in the horizontal direction.

mkRecipe :: RealFloat a => (Int -> Int -> Recipe a) -> [Coef a] -> Recipe a Source #

Make a recipe from a lattice and a list of Coefficients.

Coefficients

negateCoefs :: Coef a -> Coef a Source #

Negate the indices of a coefficient.

negateFst :: Coef a -> Coef a Source #

Negate the first index of a coefficient.

negateSnd :: Coef a -> Coef a Source #

Negate the second index of a coefficient.

reverseCoefs :: Coef a -> Coef a Source #

Reverse the indices of a coefficient.

alternateCoefs :: RealFloat a => (Int -> Int -> a) -> Coef a -> Coef a Source #

Multiply a coefficient by a function of its indices, usually used to change the sign of a coefficient based on its indices. Does not commute with negate or reverse, usually you want to apply alternateCoefs first.