| Gtk2Hs | Contents | Index

Graphics.Rendering.Cairo.Matrix

Portability | portable
Stability | experimental
Maintainer | p.martini@neuralnoise.com

Description
Matrix math
Synopsis

data Matrix = Matrix !Double !Double !Double !Double !Double !Double
type MatrixPtr = Ptr Matrix
identity :: Matrix
translate :: Double -> Double -> Matrix -> Matrix
scale :: Double -> Double -> Matrix -> Matrix
rotate :: Double -> Matrix -> Matrix
transformDistance :: Matrix -> (Double, Double) -> (Double, Double)
transformPoint :: Matrix -> (Double, Double) -> (Double, Double)
scalarMultiply :: Double -> Matrix -> Matrix
adjoint :: Matrix -> Matrix
invert :: Matrix -> Matrix

Documentation
data Matrix

Representation of a 2-D affine transformation.

The Matrix type represents a 2x2 transformation matrix along with a translation vector. `Matrix a1 a2 b1 b2 c1 c2` describes the transformation of a point with coordinates x,y that is defined by

       / x' \  =  / a1 b1 \  / x \  + / c1 \
       \ y' /     \ a2 b2 /  \ y /    \ c2 /

or

       x' =  a1 * x + b1 * y + c1
       y' =  a2 * x + b2 * y + c2

Constructors

Matrix !Double !Double !Double !Double !Double !Double |

Instances

Eq Matrix
Num Matrix
Show Matrix
Storable Matrix

type MatrixPtr = Ptr Matrix
identity :: Matrix
translate :: Double -> Double -> Matrix -> Matrix
scale :: Double -> Double -> Matrix -> Matrix
rotate :: Double -> Matrix -> Matrix
transformDistance :: Matrix -> (Double, Double) -> (Double, Double)
transformPoint :: Matrix -> (Double, Double) -> (Double, Double)
scalarMultiply :: Double -> Matrix -> Matrix
adjoint :: Matrix -> Matrix
invert :: Matrix -> Matrix
Produced by Haddock version 2.4.2