Skip to content
Snippets Groups Projects
Commit cef76c16 authored by Jan Schnathmeier's avatar Jan Schnathmeier
Browse files

last few changes /Initialization

parent adbf741f
No related branches found
No related tags found
No related merge requests found
......@@ -37,11 +37,11 @@ The Delaunay Triangulation process is illustrated on the right. (a) shows the in
In practice, we derive the connectivity from the Voronoi regions by iterating over the faces of $\mathcal{B}$. Since $\mathcal{B}$ is a triangle mesh, there has to be one unique face in $\mathcal{B}$ for which the Voronoi regions of each of its three vertices differ, per face in $V_\mathcal{M}$. Thus we derive the edges $E_\mathcal{M}$ of $\mathcal{M}$.
Lastly, these edges $E_\mathcal{M}$ still need to be traced. Given a very fine mesh $\mathcal{M}$, or thin features on $\mathcal{M}$, it can happen that a Voronoi region borders with the same Voronoi region twice. In such a case it is necessary to ensure that edges are traced through the correct border (eg. from two sides around a handle rather than twice around the same side). This is easily done by restricting edge traces during the initial triangulation by disallowing them from crossing any Voronoi borders \textit{except} the one corresponding to its edge.
These edges $E_\mathcal{M}$ still need to be traced on $\mathcal{B}$ to complete the embedding $\Phi(\mathcal{M})$. Given a very fine mesh $\mathcal{M}$, or thin features on $\mathcal{M}$, it can happen that a Voronoi region borders with the same Voronoi region twice. In such a case it is necessary to ensure that edges are traced through the correct border (eg. from two sides around a handle rather than twice around the same side). This is easily done by restricting edge traces during the initial triangulation by disallowing them from crossing any Voronoi borders \textit{except} the one corresponding to its edge.
For the case where a Voronoi region borders with itself, we stop our triangulation and ask the user for a new input - or randomize with a new seed if the initial feature points were randomly chosen. We do the same when a Voronoi region has non-disc topology, in order to keep the initialization stable and regular.
This type of triangulation always results in a triangle mesh $\mathcal{M}$, and produces a fairly regular mesh with nice properties. For instance, the minimum angle between two edges is maximized when using Delaunay triangulation, since an edge is always shorter or equal in length to the flipped edge. With that, any flip can only result in a smaller minimum angle, not a larger one.
This type of triangulation always results in a triangle mesh $\mathcal{M}$, and produces a regular mesh with nice properties. For instance, the minimum angle between two edges is maximized when using Delaunay triangulation, since an edge is always shorter or equal in length to the flipped edge. With that, any flip can only result in a smaller minimum angle, not a larger one.
Due to the ease with which a Delaunay triangulation can be computed, and the regularity of it, we believe that this is a very stable method for initialization when starting with random vertices $V_\mathcal{M}$. If the positions of $V_\mathcal{M}$ should also be optimized another approach is starting with $\mathcal{M}=\mathcal{B}$ and then iteratively refining $\mathcal{M}$; more on that in Chapter \ref{ch:EmbeddedIsotropicRemeshing}.
......
......@@ -354,14 +354,6 @@
publisher={Springer}
}
@inproceedings{musin1997properties,
title={Properties of the Delaunay triangulation},
author={Musin, Oleg R},
booktitle={Proceedings of the thirteenth annual symposium on Computational geometry},
pages={424--426},
year={1997}
}
@misc{openmesh2020halfedge,
title = {OpenMesh documentation, halfedge data structure},
author={M{\"o}bius, Jan},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment