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

Path Embeddings / Kraevoy

parent 7aceb7d4
No related branches found
No related tags found
No related merge requests found
\subsection{Path Embeddings}
\label{subsec:PathEmbeddings}
\lipsum
\ No newline at end of file
When embedding a mesh $M$ into a mesh $B$ there is an important design choice to be made, in how the edges of $M$ should be embedded into $B$. Methods can differ in what elements of $B$ (faces / edges) edges of $M$ can lie on, but also in whether overlapping edges is allowed. In the previous Section \ref{subsec:SurfaceToSurfaceMapping} we discussed a few methods using different sorts of edge embeddings.
\begin{wrapfigure}[10]{r}{0.5\textwidth}
\vspace{-10pt}
\def\svgwidth{0.5\textwidth}
{\centering
\input{img/TracingSpaceProblem.pdf_tex}\par
}
\vspace{-1pt}
\caption{Tracing between A and B; possible (left) - blocked (right)}
\label{fig:tracingspaceproblem}
\end{wrapfigure}
The previously introduced cross-parameterization by Kraevoy et al. \cite{kraevoy2004cross} uses an interesting type of path embedding. Due to the initialization, tracing edges aways happens inside a closed surface of disc topology. However this type of tracing can run into issues depending on the submesh that is being traced in. Figure \ref{fig:tracingspaceproblem} illustrates this as follows: On the left a successful trace between points A and B has been performed (dotted blue line), but on the right performing such a trace is not as simple if we assume that the trace has to run over edges of the underlying base mesh (light gray edges). This is a reoccuring problem that also has to be addressed in our implementation; here is how Kraevoy et al. approach it.
\begin{wrapfigure}[8]{r}{0.5\textwidth}
\vspace{-5pt}
\def\svgwidth{0.5\textwidth}
{\centering
\input{img/Kraevoy2004Cross4.pdf_tex}\par
}
\vspace{-1pt}
\caption{Path embeddings being traced over faces. \cite{kraevoy2004cross}}
\label{fig:kraevoy4}
\end{wrapfigure}
Since tracing over edges can lead to situations where the path is ''blocked'', Kraevoy et al. trace over faces instead. They make use of the following property: for any two vertices on the border of a disc shaped mesh there has to be a sequence of faces that connectes those two points. As such, tracing over faces sidesteps these concerns in an elegant matter and makes tracing inside a closed sector easy. Figure \ref{fig:kraevoy4}.(a) shows such a face trace between two vertices that would be blocked when naively tracing over edges.
However, since Kraevoy et al. want to embed meta edges on base edges and not base faces, the tracing over faces is only the first step in their path embedding method. After that trace, a series of edge splits have to be performed on the base mesh where sector borders or meta edges block off the path around the face trace as can be seen in Figure \ref{fig:kraevoy4}.(b). These splits then allow embedding a meta edge on base edges as shown in Figure \ref{fig:kraevoy4}.(c).
......@@ -105,7 +105,7 @@ Then there is Inter-Surface Mapping \cite{schreiner2004inter}, which builds upon
The works via a progressive refinement which goes as follows for input surfaces $M^1$ and $M^2$:
\begin{enumerate}
\item Partition $M^1$ and $M^2$ into a corresponding set of triangular patches by iteratively tracing a set of corresponding paths.
\item Progressively constrain $M^1$ and $M^2$, resulting in two \textit{base meshes} with identical connectivity. Figure \ref{fig:schreiner2} shows those \textit{base meshes} embedded into $M^1$ and $M^2$ (left) and in a more explicit representation as independent meshes (right).
\item Progressively constrain $M^1$ and $M^2$, resulting in two \textit{base meshes}\footnote{Confusing notation: What \cite{schreiner2004inter} calls a \textit{Base mesh} is what we call a \textit{Meta mesh}.} with identical connectivity. Figure \ref{fig:schreiner2} shows those \textit{base meshes} embedded into $M^1$ and $M^2$ (left) and in a more explicit representation as independent meshes (right).
\item Bijectively map the vertices of the \textit{base meshes}.
\item Refine the meshes until an inter-surface map is reached.
\end{enumerate}
......@@ -158,4 +158,4 @@ The shared goal of these four methods described in this section is finding a sur
\item Increase the mesh embeddings to full surface-to-surface maps,
\item Combine those surface-to-surface maps via inversion and composition ($B_i\rightarrow M\rightarrow B_j$) to reach a surface-to-surface map $B_i\rightarrow B_j$ for each pair of base meshes $B_i, B_j\in\mathcal{B}$.
\end{enumerate}
By following these steps, our embedded meta mesh structure can be used to compute surface-to-surface maps too.
By following these steps, our embedded meta mesh structure can be expanded to compute surface-to-surface maps.
File added
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'Kraevoy2004Cross4.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{226.31998444bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.32256833)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{img/Kraevoy2004Cross4.pdf}}%
\put(0.11867768,0.00755981){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}(a)\end{tabular}}}}%
\put(0.46993661,0.00755981){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}(b)\end{tabular}}}}%
\put(0.83074416,0.00755981){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}(c)\end{tabular}}}}%
\end{picture}%
\endgroup%
File added
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'TracingSpaceProblem.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{477.35496221bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.46769984)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0.43021581,0.03409776){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}A\end{tabular}}}}%
\put(-0.00328961,0.39671003){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}B\end{tabular}}}}%
\put(0.93700632,0.04287731){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}A\end{tabular}}}}%
\put(0.50826228,0.39662434){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}B\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{img/TracingSpaceProblem.pdf}}%
\put(0.69436023,0.24996968){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}C\end{tabular}}}}%
\end{picture}%
\endgroup%
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment