hgeometry-kernel
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2024

HGeometry.Duality

Description

Standard duality between points and non-vertical hyperplanes (or lines in R^2)

Synopsis

Documentation

dualPoint :: forall hyperPlane (d :: Natural) r. (NonVerticalHyperPlane_ hyperPlane d r, Num r, 1 <= d, KnownNat (d - 1)) => hyperPlane -> Point d r Source #

Compute the point dual to a non-vertical hyperplane

>>> dualPoint (LineEQ 10 20)
Point2 10 (-20)

dualHyperPlane :: forall point (d :: Nat) r. (Point_ point d r, Num r, 1 <= d, KnownNat (d - 1)) => point -> NonVerticalHyperPlane d r Source #

Compute the dual of a hyperplane

>>> dualHyperPlane (Point2 10 (-20))
NonVerticalHyperPlane [10,20]

dualLine :: (Point_ point 2 r, Num r) => point -> LineEQ r Source #

Compute the line dual to a point

>>> dualLine (Point2 10 (-20))
LineEQ 10 20

liftPointToPlane :: (Point_ point 2 r, Num r) => point -> NonVerticalHyperPlane 3 r Source #

The standard lifting transform, that lifts a point to the plane tangent to the unit hyperboloid.