ddg.geometry.laguerre_models module

Laguerre geometry module.

Contains model classes and functions for conversion between the models.

class ddg.geometry.laguerre_models.ProjectiveModel(dimension)[source]

Bases: CayleyKleinGeometry

Projective / Blaschke cylinder model of Laguerre geometry.

Model space

The model space is the quadric with matrix diag([1,...,1, 0, -1]) without the point at infinity [0,…,0, 1 ,0].

Representation of objects

Points in this cylinder represent hyperplanes in R^n: In affine coordinates, they have a “direction” v and a “height” h. The point (v, h) corresponds to the hyperplane <x, v> = h.

Parameters:
dimensionint
Attributes:
dimensionint
property absolute

The absolute quadric with matrix diag([1,...,1, 0, -1]).

Returns:
Quadric
property ambient_dimension
cayley_klein_distance(v, w)

Alias for self.absolute.cayley_klein_distance.

cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)

Create a Cayley-Klein sphere.

Parameters:
centerPoint or numpy.ndarray of shape (n+1,)
radiusfloat

Cayley-Klein radius

subspaceSubspace or list of numpy.ndarray of shape (k,) (default=None)
Returns:
CayleyKleinSphere
generalized_cayley_klein_sphere(center, radius, subspace=None, atol=None, rtol=None)

Create a generalized Cayley-Klein sphere.

Parameters:
centerPoint or numpy.ndarray of shape (n+1,)
radiusfloat

Generalized radius

subspaceSubspace or list of numpy.ndarray of shape (k,) (default=None)
Returns:
GeneralizedCayleyKleinSphere
inner_product(v, w)

Alias for self.absolute.inner_product.

class ddg.geometry.laguerre_models.EuclideanModel[source]

Bases: object

Euclidean model of Laguerre geometry.

Model space

The model space is R^n.

Representation of objects

Objects are represented by their Euclidean equivalents, mostly subspaces.

ddg.geometry.laguerre_models.euclidean_to_projective(object_)[source]

Convert from Euclidean model to Projective model / Blaschke cylinder.

Parameters:
object_Subspace of dimension n-1
Returns:
Point
ddg.geometry.laguerre_models.projective_to_euclidean(object_)[source]

Convert from Projective model / Blaschke cylinder to Euclidean model.

Parameters:
object_Point
Returns:
Subspace