For my studies, I’m aiming to implement a constrained Delaunay triagulation in the Poincare disk, using CGAL. In my case, the definition for hyperbolic Delaunay triagulation is just that all simplices are hyperbolic, not only those whose circumscribing circle is contained in the Poincare disk (see this definition [1]). So there shouldn’t be isolated edges (see this post [2]).
A comment under the linked post [2] says that: “In this case we can use the Euclidean Delaunay triangulation underlying the hyperbolic one. Then for pictures, you only need to replace Euclidean line segments by hyperbolic segments.”
I would be grateful if someone could elaborate on this more concretly.
I already learned that (Constrained_)Delaunay_triangulation_2
needs a Trait-class, where we provide the geometric primitives (points, segments and triangles) of the triangulation and the elementary operations (predicate or constructions) on those objects (see CGAL doc). Since CGAL also provides an example for a hyperbolic Delaunay triangulation (but for the definition in the first link [1]), I thought that I could use the Hyperbolic_Delaunay_triangulation_CK_traits_2
-class as Traits-class. This didn’t work, since the Traits-class for (Constrained_)Delaunay_triangulation_2
has to be a model of DelaunayTriangulationTraits_2
.
I’m also not sure, whether the approach mentioned in the comment [2] would work in my case, since I need a hyperbolic constrained Delaunay triagulation. Probably an underlying Euclidean constrained Delaunay triangulation would’t work, because there are simple examples where two points can be connected by an Euclidean line, but can’t be connected by a hyperbolic line, as the hyperbolic line would cross a constrained line.
My main question is if I can use predefined Traits/Triangulation data structure-classes or do I have to implement them by myself. But surely any further information about CGAL, related to my plans would be helpful.
Traubenzucker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.