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

Isotropic Remeshing /Optimization

parent 6890d89e
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@ thesis.out
thesis.pdf
thesis.run.xml
thesis.synctex.gz
thesis.synctex(busy)
thesis.toc
thesis-blx.bib
\section{Optimization}
\label{sec:Optimization}
\begin{wrapfigure}[16]{r}{0.55\textwidth}
\vspace{-20pt}
\begin{centering}
\includegraphics[width=0.55\textwidth]{img/extremeartifacts.png}\par
\end{centering}
\caption{Ugly artifacts on $\mathcal{B}$}
\label{fig:extremeartifacts}
\end{wrapfigure}
Now that all the components of Embedded Remeshing have been presented, a few more things have to be said regarding optimizing the algorithm, and perhaps algorithms on embedded meta meshes in general.
\begin{itemize}
\item \textbf{High valence vertices}: Creating vertices of high valence is costly, since connectivity of new edges $me_i$ is often only possible via performing splits on $\mathcal{B}$. This effect cascades as more and more edges are connected to a vertex. As the amount of free space in a patch near a vertex decreases, the length of edges created by splits decreases as well, and each new meta edge requires a multiple of the splits the previous one required.\footnote{In development there were cases where inefficient implementations increased the number of vertices in a mesh by a factor of 1000 or more.} This makes a careful implementation with respect to meta vertices very important. Figure \ref{fig:extremeartifacts} shows an extreme example, but errors like that are common when using an unoptimized implementation and can slow algorithms down considerably.
\end{itemize}
In some cases this effect is especially pronounced and forms spirals, similar to the swirls observed by Praun et al. \cite{praun2001consistent}
\begin{itemize}
\item \textbf{Edge bundling}: The same effect can occur when edges are bundled too close together, as seen in Figure \ref{fig:artifactsplits}, although concentration on vertices is more common.
\item \textbf{Cleanup}: Tracing into and deleting meta edges from the base mesh creates continually creates and deletes elements in the base mesh $\mathcal{B}$. The way in which edge cleanup and garbage collection are used on $\mathcal{B}$ can have a strong impact on performance.
\end{itemize}
Ultimately, algorithms on our data structure require careful planning given a dense meta mesh. On sparse meta meshes (compared to the underlying base mesh) these problems do not occur much, since there is sufficient room for tracing without changing the underlying base mesh.
\ No newline at end of file
......@@ -6,6 +6,7 @@ The first smoothing method we implemented is Forest Fire Smoothing. Figure \ref{
\begin{minipage}[t]{0.3\textwidth}
\def\svgwidth{\textwidth}
\captionsetup{type=figure}
\centering\raisebox{\dimexpr \topskip-\height}{\input{img/ForestFire1.pdf_tex}}
\captionof{figure}{Forest Fire Smoothing: concept}
\label{fig:forestfire1}
......
......@@ -6,6 +6,7 @@ Since using vertex distances as weights fails when presented with unevenly distr
\begin{minipage}[t]{0.25\textwidth}
\def\svgwidth{\textwidth}
\captionsetup{type=figure}
\centering\raisebox{\dimexpr \topskip-\height}{\input{img/VertexDistance.pdf_tex}}
\captionof{figure}{Vertex Distance Smoothing: compare to Figure \ref{fig:vertexweights2}}
\label{fig:vertexdistance}
......
......@@ -9,6 +9,7 @@ for a meta vertex $a$ and the surrounding patch $P$ by finding the vertex $b$ in
\begin{minipage}[t]{0.25\textwidth}
\def\svgwidth{\textwidth}
\captionsetup{type=figure}
\centering\raisebox{\dimexpr \topskip-\height}{\input{img/VertexWeights1.pdf_tex}}
\captionof{figure}{Vertex Weight Smoothing: concept}
\label{fig:vertexweights1}
......
img/extremeartifacts.png

296 KiB

No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment