imj-base-0.1.0.2: src/Imj/Graphics/Interpolation.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Imj.Graphics.Interpolation
( -- * Discrete interpolation and morphing
{- |
* 'DiscreteInterpolation' describes interpolation /by value/
, where the result of the interpolation between two \(v\) is a \(v\)
* 'DiscreteMorphing' and 'DiscreteColorableMorphing' describe a morphing between
/drawn/ representations of \(v\).
These classes rely on the 'DiscreteDistance' class:
-}
DiscreteDistance(..)
, Successive(..)
-- ** Interpolation
, DiscreteInterpolation(..)
-- ** Morphing
, DiscreteMorphing(..)
, DiscreteColorableMorphing(..)
-- * Lists interpolations
{-| The 'DiscreteInterpolation' instance on [] defines a parallel
interpolation (interpolation occurs at the same time for all same-index
elements).
To interpolate sequentially (i.e one index at a time), use
'SequentiallyInterpolatedList' instead:-}
, SequentiallyInterpolatedList(..)
, module Imj.Graphics.Interpolation.Evolution
-- * Reexports
, module Imj.Iteration
) where
import Imj.Graphics.Class.DiscreteInterpolation
import Imj.Graphics.Class.DiscreteColorableMorphing
import Imj.Graphics.Interpolation.Evolution
import Imj.Graphics.Interpolation.SequentiallyInterpolatedList
import Imj.Iteration