vector-space-0.2.0: Vector & affine spaces, plus derivativesSource codeContentsIndex
Data.Cross
Stabilityexperimental
Maintainerconal@conal.net
Description
Cross products and normals
Synopsis
class HasNormal v where
normalVec :: v -> v
normal :: (HasNormal v, InnerSpace v s, Floating s) => v -> v
type One s = s
type Two s = (s, s)
type Three s = (s, s, s)
class HasCross2 v where
cross2 :: v -> v
class HasCross3 v where
cross3 :: v -> v -> v
Documentation
class HasNormal v whereSource
Thing with a normal vector (not necessarily normalized).
Methods
normalVec :: v -> vSource
show/hide Instances
(Num s, VectorSpace s s, LMapDom s s) => HasNormal (Three (Two s :> s))
(Num s, LMapDom s s, VectorSpace s s) => HasNormal (Two (One s :> s))
(Num s, LMapDom s s) => HasNormal (Two s :> Three s)
(Num s, LMapDom s s) => HasNormal (One s :> Two s)
normal :: (HasNormal v, InnerSpace v s, Floating s) => v -> vSource
Normalized normal vector. See also cross.
type One s = sSource
Singleton
type Two s = (s, s)Source
Homogeneous pair
type Three s = (s, s, s)Source
Homogeneous triple
class HasCross2 v whereSource
Cross product of various forms of 2D vectors
Methods
cross2 :: v -> vSource
show/hide Instances
Num s => HasCross2 ((,) s s)
(LMapDom a s, VectorSpace v s, HasCross2 v) => HasCross2 (a :> v)
class HasCross3 v whereSource
Cross product of various forms of 3D vectors
Methods
cross3 :: v -> v -> vSource
show/hide Instances
(LMapDom a s, VectorSpace v s, HasCross3 v) => HasCross3 (a :> v)
Num s => HasCross3 ((,,) s s s)
Produced by Haddock version 2.3.0