Copyright | (c) Antony Courtney and Henrik Nilsson Yale University 2003 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | ivan.perez@keera.co.uk |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe |
Language | Haskell98 |
Data.AffineSpace
Description
Affine space type relation.
Synopsis
- class (Floating a, VectorSpace v a) => AffineSpace p v a | p -> v, v -> a where
Documentation
class (Floating a, VectorSpace v a) => AffineSpace p v a | p -> v, v -> a where #
Affine Space type relation.
An affine space is a set (type) p
, and an associated vector space v
over
a field a
.
Methods
Origin of the affine space.
(.+^) :: p -> v -> p infix 6 #
Addition of affine point and vector.
(.-^) :: p -> v -> p infix 6 #
Subtraction of affine point and vector.
(.-.) :: p -> p -> v infix 6 #
Subtraction of two points in the affine space, giving a vector.
Distance between two points in the affine space, same as the norm
of
the vector they form (see '(.-.)'.
Instances
RealFloat a => AffineSpace (Point3 a) (Vector3 a) a # | |
RealFloat a => AffineSpace (Point2 a) (Vector2 a) a # | |