linear-1.20.2: Linear Algebra

Copyright(C) 2012-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe
LanguageHaskell98

Linear.Plucker.Coincides

Description

Utility for working with Plücker coordinates for lines in 3d homogeneous space.

Synopsis

Documentation

data Coincides a where Source

When lines are represented as Plücker coordinates, we have the ability to check for both directed and undirected equality. Undirected equality between Lines (or a Line and a Ray) checks that the two lines coincide in 3D space. Directed equality, between two Rays, checks that two lines coincide in 3D, and have the same direction. To accomodate these two notions of equality, we use an Eq instance on the Coincides data type.

For example, to check the directed equality between two lines, p1 and p2, we write, Ray p1 == Ray p2.

Constructors

Line :: (Epsilon a, Fractional a) => Plucker a -> Coincides a 
Ray :: (Epsilon a, Fractional a, Ord a) => Plucker a -> Coincides a 

Instances