mirror of https://github.com/CGAL/cgal
Edits to account for Mael's comment from last revision
This commit is contained in:
parent
494a5cd97c
commit
dfad7cc34f
|
|
@ -11,7 +11,10 @@ namespace CGAL {
|
||||||
\cgalAutoToc
|
\cgalAutoToc
|
||||||
\author Iordan Iordanov & Monique Teillaud
|
\author Iordan Iordanov & Monique Teillaud
|
||||||
|
|
||||||
\image html new-triangulation-350px.png
|
<center>
|
||||||
|
<img src="new-triangulation-350px.png" style="max-width:50%; width=50%;"/>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
|
||||||
This package allows to compute Delaunay triangulations of the Bolza surface, which is the
|
This package allows to compute Delaunay triangulations of the Bolza surface, which is the
|
||||||
most symmetric surface of genus 2. The Bolza surface is a hyperbolic closed compact orientable surface.
|
most symmetric surface of genus 2. The Bolza surface is a hyperbolic closed compact orientable surface.
|
||||||
|
|
@ -34,15 +37,11 @@ Consider the regular hyperbolic octagon \f$ \mathcal D_O \f$ centered at the ori
|
||||||
all angles equal to \f$ \pi/4\f$ that is shown in
|
all angles equal to \f$ \pi/4\f$ that is shown in
|
||||||
\cgalFigureRef{P4HTriangulationOctagonId} - Left.
|
\cgalFigureRef{P4HTriangulationOctagonId} - Left.
|
||||||
Note that \f$\mathcal D_O\f$ is unique up to rotation, and cannot
|
Note that \f$\mathcal D_O\f$ is unique up to rotation, and cannot
|
||||||
be scaled, since this operation would change its angles.
|
be scaled, since this operation would change its angles. Consider the
|
||||||
|
|
||||||
Now, consider the
|
|
||||||
four hyperbolic translations \f$ a,b,c,d\f$ with their respective inverses \f$\overline{a},
|
four hyperbolic translations \f$ a,b,c,d\f$ with their respective inverses \f$\overline{a},
|
||||||
\overline{b}, \overline{c}, \overline{d}\f$ that identify the opposite sides of
|
\overline{b}, \overline{c}, \overline{d}\f$ that identify the opposite sides of
|
||||||
\f$ \mathcal D_O \f$. The axes of these translations are diameters of the Poincaré disk.
|
\f$ \mathcal D_O \f$. The axes of these translations are diameters of the Poincaré disk.
|
||||||
See \cgalFigureRef{P4HTriangulationOctagonId} - Left.
|
See \cgalFigureRef{P4HTriangulationOctagonId} - Left. The four translations
|
||||||
|
|
||||||
The four translations
|
|
||||||
\f$a, b, c, d\f$ generate a (non-commutative) discrete group of orientation-preserving isometries, with
|
\f$a, b, c, d\f$ generate a (non-commutative) discrete group of orientation-preserving isometries, with
|
||||||
finite presentation
|
finite presentation
|
||||||
\f[ \mathcal{G} = \left< a,b,c,d \; \bigg| \;
|
\f[ \mathcal{G} = \left< a,b,c,d \; \bigg| \;
|
||||||
|
|
@ -79,7 +78,6 @@ onto \f$\mathcal M\f$.
|
||||||
By definition, all points of \f$\mathbb H^2\f$ that belong to the same
|
By definition, all points of \f$\mathbb H^2\f$ that belong to the same
|
||||||
orbit under the action of \f$\mathcal G\f$ project by \f$\pi\f$ onto
|
orbit under the action of \f$\mathcal G\f$ project by \f$\pi\f$ onto
|
||||||
the same point of the surface \f$\mathcal M\f$.
|
the same point of the surface \f$\mathcal M\f$.
|
||||||
|
|
||||||
The half-open octagon \f$\mathcal D\f$ shown in
|
The half-open octagon \f$\mathcal D\f$ shown in
|
||||||
\cgalFigureRef{P4HTriangulationOctagonId} - Right contains exactly one
|
\cgalFigureRef{P4HTriangulationOctagonId} - Right contains exactly one
|
||||||
<i>representative</i> of each point of \f$\mathcal{M}\f$;
|
<i>representative</i> of each point of \f$\mathcal{M}\f$;
|
||||||
|
|
@ -130,7 +128,7 @@ outside \f$\mathcal D\f$. Such faces can be uniquely specified by
|
||||||
three pairs of points in \f$\mathcal D\f$ and (reduced) translations
|
three pairs of points in \f$\mathcal D\f$ and (reduced) translations
|
||||||
of \f$\mathcal{G}\f$; points in the original domain are paired with
|
of \f$\mathcal{G}\f$; points in the original domain are paired with
|
||||||
the identity translation \f$\mathbb 1\f$. The underlying combinatorial
|
the identity translation \f$\mathbb 1\f$. The underlying combinatorial
|
||||||
triangulation is a \ref PkgTDS2Summary, enriched in each face by the
|
triangulation is a \ref PkgTDS2, enriched in each face by the
|
||||||
three translations that are paired with the point in each vertex. See
|
three translations that are paired with the point in each vertex. See
|
||||||
\cgalFigureRef{P4HTriangulationOrientationDS}.
|
\cgalFigureRef{P4HTriangulationOrientationDS}.
|
||||||
|
|
||||||
|
|
@ -239,10 +237,6 @@ dummy points necessary to guarantee that the triangulation is a simplicial compl
|
||||||
|
|
||||||
\section P4HT2_design Software Design
|
\section P4HT2_design Software Design
|
||||||
|
|
||||||
\cgalModifBegin
|
|
||||||
TODO enlever les redondances dans cette section et améliorer la structure [modified, à discuter]
|
|
||||||
\cgalModifEnd
|
|
||||||
|
|
||||||
The main class of this package is `Periodic_4_hyperbolic_Delaunay_triangulation_2`, which
|
The main class of this package is `Periodic_4_hyperbolic_Delaunay_triangulation_2`, which
|
||||||
implements Delaunay triangulations of the Bolza surface \f$\mathcal M\f$. The prefix
|
implements Delaunay triangulations of the Bolza surface \f$\mathcal M\f$. The prefix
|
||||||
"Periodic_4" emphasizes that the triangulation in the universal covering \f$\mathbb H^2\f$
|
"Periodic_4" emphasizes that the triangulation in the universal covering \f$\mathbb H^2\f$
|
||||||
|
|
@ -279,14 +273,11 @@ the triangulation. See Section \ref P4HT2_datastructure.
|
||||||
|
|
||||||
\subsection P4HT2_traits The Geometric Traits Parameter
|
\subsection P4HT2_traits The Geometric Traits Parameter
|
||||||
|
|
||||||
\cgalModifBegin
|
|
||||||
The geometric traits class must fulfill the requirements described in the concept
|
The geometric traits class must fulfill the requirements described in the concept
|
||||||
`Periodic_4HyperbolicDelaunayTriangulationTraits_2`. It must provide all necessary objects,
|
`Periodic_4HyperbolicDelaunayTriangulationTraits_2`. It must provide all necessary objects,
|
||||||
predicates, and constructions for the computation of Delaunay triangulations of the Bolza surface.
|
predicates, and constructions for the computation of Delaunay triangulations of the Bolza surface.
|
||||||
Moreover, the traits class must represent hyperbolic translations of the group \f$\mathcal G\f$
|
Moreover, the traits class must represent hyperbolic translations of the group \f$\mathcal G\f$
|
||||||
via the class `Hyperbolic_octagon_translation`.
|
via the class `Hyperbolic_octagon_translation`.
|
||||||
\cgalModifEnd
|
|
||||||
|
|
||||||
|
|
||||||
A model for the concept `Periodic_4HyperbolicDelaunayTriangulationTraits_2` offered by this
|
A model for the concept `Periodic_4HyperbolicDelaunayTriangulationTraits_2` offered by this
|
||||||
package is the class `Periodic_4_hyperbolic_Delaunay_triangulation_traits_2`. The class requires
|
package is the class `Periodic_4_hyperbolic_Delaunay_triangulation_traits_2`. The class requires
|
||||||
|
|
@ -309,8 +300,8 @@ This model is itself parameterized by a vertex
|
||||||
base class and a face base class, which gives the possibility to customize the vertices and
|
base class and a face base class, which gives the possibility to customize the vertices and
|
||||||
faces used by the triangulation data structure. To represent periodic hyperbolic triangulations,
|
faces used by the triangulation data structure. To represent periodic hyperbolic triangulations,
|
||||||
the face base and vertex base classes must be models of the concepts
|
the face base and vertex base classes must be models of the concepts
|
||||||
`Periodic_4HyperbolicTriangulationDSFaceBase_2` and
|
`Periodic_4HyperbolicTriangulationFaceBase_2` and
|
||||||
`Periodic_4HyperbolicTriangulationDSVertexBase_2`, respectively.
|
`Periodic_4HyperbolicTriangulationVertexBase_2`, respectively.
|
||||||
|
|
||||||
The default value for the triangulation data structure parameter in the class
|
The default value for the triangulation data structure parameter in the class
|
||||||
`Periodic_4_hyperbolic_Delaunay_triangulation_2` is
|
`Periodic_4_hyperbolic_Delaunay_triangulation_2` is
|
||||||
|
|
@ -370,7 +361,7 @@ have been executed on two machines:
|
||||||
</center>
|
</center>
|
||||||
|
|
||||||
Another experiment shows that, on average, all dummy points are removed
|
Another experiment shows that, on average, all dummy points are removed
|
||||||
from the triangulation with the insertion of less than 200 random points uniformly distributed
|
from the triangulation with the insertion of fewer than 200 random points uniformly distributed
|
||||||
in the unit disk with respect to the Euclidean metric \cgalCite{cgal:it-idtbs-17}.
|
in the unit disk with respect to the Euclidean metric \cgalCite{cgal:it-idtbs-17}.
|
||||||
We start with an empty triangulation of the Bolza
|
We start with an empty triangulation of the Bolza
|
||||||
surface (i.e., initialized with only the dummy points), and we start inserting random points
|
surface (i.e., initialized with only the dummy points), and we start inserting random points
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue