vect-0.4.5: A low-dimensional linear algebra library, tailored to computer graphics.Source codeContentsIndex
Data.Vect.Double.Util.Projective
Description

Classic 4x4 projective matrices, encoding the affine transformations of R^3. Our convention is that they are intended for multiplication on the right, that is, they are of the form

     _____
 [  |     |  0  ]
 [  | 3x3 |  0  ]
 [  |_____|  0  ]
 [  p  q  r  1  ]

Please note that by default, OpenGL stores the matrices (in memory) by columns, while we store them by rows; but OpenGL also use the opposite convention (so the OpenGL projective matrices are intended for multiplication on the left). So in effect, they are the same when stored in the memory, say with poke :: Ptr Mat4 -> Mat4 -> IO ().

Warning: The naming conventions will probably change in the future.

Synopsis
rotMatrixProj4' :: Double -> Normal3 -> Proj4
rotMatrixProj4 :: Double -> Vec3 -> Proj4
rotateProj4 :: Double -> Normal3 -> Proj4 -> Proj4
rotateAfterProj4 :: Double -> Normal3 -> Proj4 -> Proj4
rotateBeforeProj4 :: Double -> Normal3 -> Proj4 -> Proj4
scalingUniformProj4 :: Double -> Proj4
scaleBeforeProj4 :: Vec3 -> Proj4 -> Proj4
scaleAfterProj4 :: Vec3 -> Proj4 -> Proj4
translate4 :: Vec3 -> Proj4 -> Proj4
translateAfter4 :: Vec3 -> Proj4 -> Proj4
translateBefore4 :: Vec3 -> Proj4 -> Proj4
Documentation
rotMatrixProj4' :: Double -> Normal3 -> Proj4Source
rotMatrixProj4 :: Double -> Vec3 -> Proj4Source
rotateProj4 :: Double -> Normal3 -> Proj4 -> Proj4Source
synonym for rotateAfterProj4
rotateAfterProj4 :: Double -> Normal3 -> Proj4 -> Proj4Source
Synonym for m -> m .*. rotMatrixProj4 angle axis.
rotateBeforeProj4 :: Double -> Normal3 -> Proj4 -> Proj4Source
Synonym for m -> rotMatrixProj4 angle axis .*. m.
scalingUniformProj4 :: Double -> Proj4Source
scaleBeforeProj4 :: Vec3 -> Proj4 -> Proj4Source
Equivalent to m -> scaling v .*. m.
scaleAfterProj4 :: Vec3 -> Proj4 -> Proj4Source
Equivalent to m -> m .*. scaling v.
translate4 :: Vec3 -> Proj4 -> Proj4Source
Synonym for translateAfter4
translateAfter4 :: Vec3 -> Proj4 -> Proj4Source
Equivalent to m -> m .*. translation v.
translateBefore4 :: Vec3 -> Proj4 -> Proj4Source
Equivalent to m -> translation v .*. m.
Produced by Haddock version 2.4.2