Expand description
Library for manipulating and displaying elements of 2D hyperbolic space (ℍ²).
All implementation is done in terms of the hyperboloid model, without requirements for normalization.
The component along the axis of the hyperboloid is named t
(in reference to spacetime algebra).
However, contrary to popular convention, we use γ₀² = −1 and γ₁² = γ₂² = 1.
As such, elements on the hyperboloid are normalized to p² = −1.
Modules§
- svg
- Elements for interfacing with the
svgcrate. - svg_
common - Common elements for interfacing with either the
svgorsvg_fmtcrates. - svg_fmt
- Elements for interfacing with the
svgcrate.
Structs§
- Center
- A center of some transformation in ℍ²: a point, ideal point, or line.
- Ideal
Point - An ideal point (‘point at infinity’) in hyperbolic space.
- Line
- A unitized line in hyperbolic geometry. Enables some additional calculations compared to
WeightedLine. - Motor
- Precomputed values for performing a motion on other objects.
- Point
- A unitized point in hyperbolic space. Enables some additional calculations compared to
WeightedPoint. - Weighted
Line - A line in hyperbolic geometry.
- Weighted
Point - A point in 2D hyperbolic space.
Enums§
- Center
Kind - The kind of a
Centeras determined byCenter::classify.
Traits§
- Multivector
- An element of the Clifford algebra 𝒢(2,1) under the homogenous coordinates interpretation.
- Scalar
- Common trait for operations available on float types.
- Unitize
- A common implementation for unitizing (scaling to weight ±1) a multivector.