linear-0.2.0.2: Linear Algebra

Safe HaskellNone

Linear.V3

Synopsis

Documentation

data V3 a Source

A 3-dimensional vector

Constructors

V3 a a a 

Instances

Monad V3 
Functor V3 
Typeable1 V3 
Applicative V3 
Foldable V3 
Traversable V3 
Distributive V3 
Representable V3 
Metric V3 
R2 V3 
R3 V3 
Eq a => Eq (V3 a) 
(Num (V3 a), Fractional a) => Fractional (V3 a) 
(Typeable (V3 a), Data a) => Data (V3 a) 
Num a => Num (V3 a) 
(Eq (V3 a), Ord a) => Ord (V3 a) 
Read a => Read (V3 a) 
Show a => Show (V3 a) 
Storable a => Storable (V3 a) 
(Num (V3 a), Epsilon a) => Epsilon (V3 a) 

cross :: Num a => V3 a -> V3 a -> V3 aSource

cross product

triple :: Num a => V3 a -> V3 a -> V3 a -> aSource

scalar triple product

class R2 t whereSource

A space that distinguishes 2 orthogonal basis vectors _x and _y, but may have more.

Methods

_x :: Functor f => (a -> f a) -> t a -> f (t a)Source

_y :: Functor f => (a -> f a) -> t a -> f (t a)Source

_xy :: Functor f => (V2 a -> f (V2 a)) -> t a -> f (t a)Source

Instances

R2 V2 
R2 V3 
R2 V4 

class R2 t => R3 t whereSource

A space that distinguishes 3 orthogonal basis vectors: _x, _y, and _z. (It may have more)

Methods

_z :: Functor f => (a -> f a) -> t a -> f (t a)Source

_xyz :: Functor f => (V3 a -> f (V3 a)) -> t a -> f (t a)Source

Instances

R3 V3 
R3 V4