linear-1.23: Linear Algebra
Copyright(C) 2012-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

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

Instances details
Eq (Coincides a) Source # 
Instance details

Defined in Linear.Plucker.Coincides

Methods

(==) :: Coincides a -> Coincides a -> Bool #

(/=) :: Coincides a -> Coincides a -> Bool #