Stability | experimental |
---|---|
Maintainer | conal@conal.net |
Safe Haskell | None |
Cross products and normals
Documentation
Thing with a normal vector (not necessarily normalized).
(Num s, VectorSpace s, HasBasis s, HasTrie (Basis s), HasNormal (:> (Two s) (Three s))) => HasNormal (Three (:> (Two s) s)) | |
(Num s, VectorSpace s, HasBasis s, HasTrie (Basis s), ~ * (Basis s) ()) => HasNormal (Two (:> (One s) s)) | |
(Num s, HasTrie (Basis (s, s)), HasBasis s, ~ * (Basis s) ()) => HasNormal (:> (Two s) (Three s)) | |
(HasBasis s, HasTrie (Basis s), ~ * (Basis s) ()) => HasNormal (:> (One s) (Two s)) |
normal :: (HasNormal v, InnerSpace v, Floating (Scalar v)) => v -> vSource
Normalized normal vector. See also cross
.
Cross product of various forms of 2D vectors
AdditiveGroup u => HasCross2 (u, u) | |
(HasBasis a, HasTrie (Basis a), VectorSpace v, HasCross2 v) => HasCross2 (:> a v) |