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
svg
crate. - svg_
common - Common elements for interfacing with either the
svg
orsvg_fmt
crates. - svg_fmt
- Elements for interfacing with the
svg
crate.
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
Center
as 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.