5.2.2 Vertex Smoothing

Figure 5.11: Examples of vertices which cannot be moved

\begin{subfigure}
% latex2html id marker 9708
[b]{0.9\textwidth}
\centering
\i...
.../vertex_movement_no_valid_moves_1}
\caption{2D templated mesh}
\end{subfigure}


\begin{subfigure}
% latex2html id marker 9714
[b]{0.9\textwidth}
\centering
\i...
.../vertex_movement_no_valid_moves_2}
\caption{3D templated mesh}
\end{subfigure}

A simple 2D templated mesh where the vertex (encircled in red) cannot be moved because the intersection of all boundary patch elements is only one point (visualized in red) (top picture). A 3D templated geometry and its boundary patch partition is visualized in (bottom picture). The vertex highlighted in red could be moved in instance interface $ {\operatorname{interf}}(T_{3,1},T_{4,1})$ and instance interface $ {\operatorname{interf}}(T_{4,2},T_{5,1})$ when only considering one of these instance interfaces. However, this vertex cannot be moved when considering the complete templated mesh, because it is in the boundary patch element visualized in red.

Figure 5.12: Valid vertex movements visualized using the boundary patch partition

\begin{subfigure}
% latex2html id marker 9732
[b]{0.9\textwidth}
\centering
\i...
...{figures/valid_vertex_movements_1}
\caption{2D templated mesh}
\end{subfigure}


\begin{subfigure}
% latex2html id marker 9738
[b]{0.9\textwidth}
\centering
\i...
...{figures/valid_vertex_movements_2}
\caption{3D templated mesh}
\end{subfigure}

The vertices (highlighted in red) can safely be moved within the yellow boundary patch partition elements.

As mentioned in Section 3.2.4, vertex smoothing is an important part in mesh quality improvement processes. Vertices, which are not part of the boundary of a template, can safely be moved as if they were in a non-templated structure. For all other vertices Lemma 4.2 has to hold to ensure the conformity of the output templated mesh. If a vertex is moved, all related templated vertices (using the boundary patch relation) have to be moved accordingly using a composition of template boundary mappings. If any movement of a related template vertex invalidates the corresponding mesh template, the movement is considered invalid.

The boundary patch partition of the geometry of the input templated mesh can be used to determine valid movements for a vertex in a template boundary. Every vertex in a mesh template $ \bm{v} \in {\operatorname{bnd}}({\Gamma}_i)$ can only be moved within a boundary patch in which the vertex is included. The valid positions for a vertex therefore are the intersection of all boundary patches in which the vertex is included. For example, if the intersection of the boundary patches in which the vertex is included is just one point, the vertex cannot be moved at all as shown in Figure 5.11. Examples for valid vertex movements are shown in Figure 5.12. Additionally, all vertices which are related in the boundary patch relation have to be moved accordingly using a corresponding composition of template boundary mappings.

$\displaystyle \bm{w} {\sim}_{\Gamma}\bm{v} \Rightarrow \bm{w} \mapsto {\mathbb{...
... \circ \dots \circ {\mathbb{T}}_{T_{i_{k-1},g_{k-1}}, T_{i_k,g_k}}( F(\bm{v}) )$ (5.1)

$ F$ represents the movement of $ \bm{v}$. However, this is an issue for templated meshes with irregular instance graphs as depicted in Figure 4.11, where the movement of a vertex $ \bm{v}$ induces a different movement for the same vertex, which is a contradiction and invalidates that particular movement.

To summarize, a vertex on the boundary of a template can only be moved if the instance graph is regular. Additionally, their movement is limited to the intersection of all boundary patch elements, in which the vertex is located.

florian 2016-11-21