| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Safe Haskell | Trustworthy |
Linear.V4
Description
4-D Vectors
Documentation
A 4-dimensional vector.
Constructors
| V4 !a !a !a !a |
Instances
| Monad V4 | |
| Functor V4 | |
| Typeable1 V4 | |
| MonadFix V4 | |
| Applicative V4 | |
| Foldable V4 | |
| Traversable V4 | |
| Generic1 V4 | |
| Distributive V4 | |
| Representable V4 | |
| MonadZip V4 | |
| Traversable1 V4 | |
| Foldable1 V4 | |
| Apply V4 | |
| Bind V4 | |
| Additive V4 | |
| Metric V4 | |
| R1 V4 | |
| R2 V4 | |
| R3 V4 | |
| R4 V4 | |
| Trace V4 | |
| Affine V4 | |
| Unbox a => Vector Vector (V4 a) | |
| Unbox a => MVector MVector (V4 a) | |
| Num r => Coalgebra r (E V4) | |
| Eq a => Eq (V4 a) | |
| Fractional a => Fractional (V4 a) | |
| Data a => Data (V4 a) | |
| Num a => Num (V4 a) | |
| Ord a => Ord (V4 a) | |
| Read a => Read (V4 a) | |
| Show a => Show (V4 a) | |
| Ix a => Ix (V4 a) | |
| Generic (V4 a) | |
| Storable a => Storable (V4 a) | |
| Hashable a => Hashable (V4 a) | |
| Unbox a => Unbox (V4 a) | |
| Ixed (V4 a) | |
| Epsilon a => Epsilon (V4 a) | |
| FunctorWithIndex (E V4) V4 | |
| FoldableWithIndex (E V4) V4 | |
| TraversableWithIndex (E V4) V4 | |
| Each (V4 a) (V4 b) a b |
vector :: Num a => V3 a -> V4 aSource
Convert a 3-dimensional affine vector into a 4-dimensional homogeneous vector.
point :: Num a => V3 a -> V4 aSource
Convert a 3-dimensional affine point into a 4-dimensional homogeneous vector.
normalizePoint :: Fractional a => V4 a -> V3 aSource
Convert 4-dimensional projective coordinates to a 3-dimensional
point. This operation may be denoted, euclidean [x:y:z:w] = (x/w,
y/w, z/w) where the projective, homogenous, coordinate
[x:y:z:w] is one of many associated with a single point (x/w,
y/w, z/w).
A space that has at least 1 basis vector _x.