IFS-0.1: Iterated Function System generation for HaskellContentsIndex
Graphics.IFS.Geometry
Portabilitynon-portable (multi-parameter type classes)
Stabilityexperimental
Maintainermisc@alpheccar.org
Contents
Types
Matrix and Vector
Non linear transformations
Modules
Creating linear transformations
Non linear transformations
Misc
Description

Description

Some geometry operations used by the IFS

Synopsis
data M a
newtype V a = V (a, a)
type NonLinear a = V a -> V a
newtype NonLinearTransform a = NL (NonLinear a, M a)
class Module a b where
(<*>) :: a -> b -> b
linear :: Num a => a -> a -> a -> a -> a -> a -> M a
rotation :: Double -> M Double
scaling :: Double -> Double -> M Double
translation :: Double -> Double -> M Double
v0 :: NonLinear Double
v1 :: NonLinear Double
v2 :: NonLinear Double
v3 :: NonLinear Double
v4 :: NonLinear Double
v5 :: NonLinear Double
v6 :: NonLinear Double
v7 :: NonLinear Double
v8 :: NonLinear Double
v9 :: NonLinear Double
v10 :: NonLinear Double
v11 :: NonLinear Double
v12 :: NonLinear Double
startVector :: V Double
inv :: Fractional a => M a -> M a
det :: Num a => M a -> a
Types
Matrix and Vector
data M a
Affine transform on 2x2 space
show/hide Instances
Num a => Module a (M a)
??? a => Eq (M a)
Num a => Num (M a)
??? a => Show (M a)
Fractional a => Module (M a) (IFS a)
Num a => Module (M a) (V a)
newtype V a
Vector
Constructors
V (a, a)
show/hide Instances
Num a => Module a (V a)
??? a => Eq (V a)
Num a => Num (V a)
??? a => Show (V a)
Num a => Module (M a) (V a)
Num a => Module (NonLinearTransform a) (V a)
Non linear transformations
type NonLinear a = V a -> V a
A pure non linear transformation
newtype NonLinearTransform a
A non linear transformation with a pure non linear part and an affine one
Constructors
NL (NonLinear a, M a)
show/hide Instances
Modules
class Module a b where
Elements which can be transformed by an operator
Methods
(<*>) :: a -> b -> b
show/hide Instances
Num a => Module a (IFS a)
Num a => Module a (M a)
Num a => Module a (V a)
Fractional a => Module (M a) (IFS a)
Num a => Module (M a) (V a)
Num a => Module (NonLinear a) (IFS a)
Num a => Module (NonLinear a) (NonLinearTransform a)
Num a => Module (NonLinearTransform a) (V a)
Creating linear transformations
linear
:: Num a
=> aa
-> ab
-> ac
-> ad
-> ae
-> af
-> M a
Create a pure affine transformation Linear part: a b c d Affine part: e f
rotation :: Double -> M Double
scaling :: Double -> Double -> M Double
translation :: Double -> Double -> M Double
Non linear transformations
v0 :: NonLinear Double
Linear
v1 :: NonLinear Double
Sinusoidal
v2 :: NonLinear Double
Spherical
v3 :: NonLinear Double
Swirl
v4 :: NonLinear Double
Horseshoe
v5 :: NonLinear Double
Polar
v6 :: NonLinear Double
Handkerchief
v7 :: NonLinear Double
Heart
v8 :: NonLinear Double
Disc
v9 :: NonLinear Double
Spiral
v10 :: NonLinear Double
Hyperbolic
v11 :: NonLinear Double
Diamond
v12 :: NonLinear Double
Ex
Misc
startVector :: V Double
Start vector used to initiate the generation of a random trajectory
inv :: Fractional a => M a -> M a
det :: Num a => M a -> a
Produced by Haddock version 0.8