Copyright | (c) Antony Courtney and Henrik Nilsson Yale University 2003 |
---|---|

License | BSD-style (see the LICENSE file in the distribution) |

Maintainer | nilsson@cs.yale.edu |

Stability | provisional |

Portability | non-portable (GHC extensions) |

Safe Haskell | Safe |

Language | Haskell98 |

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 Source #

Affine Space type relation.

An affine space is a set (type) `p`

, and an associated vector space `v`

over
a field `a`

.

Origin of the affine space.

(.+^) :: p -> v -> p infix 6 Source #

Addition of affine point and vector.

(.-^) :: p -> v -> p infix 6 Source #

Subtraction of affine point and vector.

(.-.) :: p -> p -> v infix 6 Source #

Subtraction of two points in the affine space, giving a vector.

distance :: p -> p -> a Source #

Distance between two points in the affine space, same as the `norm`

of
the vector they form (see '(.-.)'.