wrote more introduction

This commit is contained in:
Nicole Dresselhaus 2017-09-06 17:07:46 +02:00
parent 8b4bcef353
commit 730d275acb
Signed by: Drezil
GPG Key ID: 057D94F356F41E25
5 changed files with 163 additions and 10 deletions

View File

@ -6,3 +6,19 @@
title = "Evolvability as a Quality Criterion for Linear Deformation Representations in Evolutionary Optimization", title = "Evolvability as a Quality Criterion for Linear Deformation Representations in Evolutionary Optimization",
year = "2016", year = "2016",
} }
@article{spitzmuller1996bezier,
title="Partial derivatives of Bèzier surfaces",
author="Spitzmüller, Klaus",
journal="Computer-Aided Design",
volume="28",
number="1",
pages="67--72",
year="1996",
publisher="Elsevier",
}
@article{hsu1991dmffd,
title={A direct manipulation interface to free-form deformations},
author={Hsu, William M},
journal={Master's thesis, Brown University},
year={1991}
}

View File

@ -22,14 +22,14 @@
\setcounter{ContinuedFloat}{0} \setcounter{ContinuedFloat}{0}
\setcounter{float@type}{16} \setcounter{float@type}{16}
\setcounter{lstnumber}{1} \setcounter{lstnumber}{1}
\setcounter{NAT@ctr}{1} \setcounter{NAT@ctr}{3}
\setcounter{AM@survey}{0} \setcounter{AM@survey}{0}
\setcounter{r@tfl@t}{0} \setcounter{r@tfl@t}{0}
\setcounter{subfigure}{0} \setcounter{subfigure}{0}
\setcounter{subtable}{0} \setcounter{subtable}{0}
\setcounter{@todonotes@numberoftodonotes}{0} \setcounter{@todonotes@numberoftodonotes}{1}
\setcounter{Item}{0} \setcounter{Item}{0}
\setcounter{Hfootnote}{0} \setcounter{Hfootnote}{2}
\setcounter{bookmark@seq@number}{16} \setcounter{bookmark@seq@number}{16}
\setcounter{algorithm}{0} \setcounter{algorithm}{0}
\setcounter{ALC@unique}{0} \setcounter{ALC@unique}{0}

View File

@ -30,14 +30,72 @@ quality and potential of such optimisation.
We will replicate the same setup on the same meshes but use \acf{FFD} instead of We will replicate the same setup on the same meshes but use \acf{FFD} instead of
\acf{RBF} to create a deformation and evaluate if the evolution-criteria still \acf{RBF} to create a deformation and evaluate if the evolution-criteria still
work as a predictor given the different deformation. work as a predictor given the different deformation scheme.
## What is \acf{FFD}? ## What is \acf{FFD}?
First of all we have to establish how a \ac{FFD} works and why this is a good First of all we have to establish how a \ac{FFD} works and why this is a good
tool for deforming meshes in the first place. tool for deforming meshes in the first place. For simplicity we only summarize the
1D-case from \cite{spitzmuller1996bezier} here and go into the extension to the 3D case in chapter \ref{3dffd}.
Given an arbitrary number of points $p_i$ alongside a line, we map a scalar
value $\tau_i \in [0,1[$ to each point with $\tau_i < \tau_{i+1} \forall i$.
Given a degree of the target polynomial $d$ we define the curve $N_{i,d,\tau_i}(u)$ as follows:
$$
\begin{equation}
\label{ffd1d1}
N_{i,0,\tau}(u) = \begin{cases} 1, & u \in [\tau_i, \tau_{i+1}[ \\ 0, & \mbox{otherwise} \end{cases}
\end{equation}
$$
and
$$
\begin{equation}
\label{ffd1d2}
N_{i,d,\tau}(u) = \frac{u-\tau_i}{\tau_{i+d}} N_{i,d-1,\tau}(u) + \frac{\tau_{i+d+1} - u}{\tau_{i+d+1}-\tau_{i+1}} N_{i+1,d-1,\tau}(u)
\end{equation}
$$
If we now multiply every $p_i$ with the corresponding $N_{i,d,\tau_i}(u)$ we get the contribution of each
point $p_i$ to the final curve-point parameterized only by $u \in [0,1[$.
As can be seen from equation \ref{ffd1d2} we only access points $[i..i+d]$ for any given $i$^[one more for each recursive step.], which
gives us, in combination with choosing $p_i$ and $\tau_i$ in order, only a local interference of $d+1$ points.
We can even derive this equation straightforward for an arbitrary $N$^[*Warning:* in the case of $d=1$ the recursion-formula yields a $0$ denominator, but $N$ is also $0$. The right solution for this case is a derivative of $0$]:
$$\frac{\partial}{\partial u} N_{i,d,r}(u) = \frac{d}{\tau_{i+d} - \tau_i} N_{i,d-1,\tau}(u) - \frac{d}{\tau_{i+d+1} - \tau_{i+1}} N_{i+1,d-1,\tau}(u)$$
For a B-Spline
$$s(u) = \sum_{i} N_{i,d,\tau_i}(u) p_i$$
these derivations yield $\frac{\partial^d}{\partial u} s(u) = 0$.
Another interesting property of these recursive polynomials is that they are continuous (given $d \ge 1$) as every $p_i$ gets
blended in linearly between $\tau_i$ and $\tau_{i+d}$ and out linearly between $\tau_{i+1}$ and $\tau_{i+d+1}$
as can bee seen from the two coefficients in every step of the recursion.
### Why is \ac{FFD} a good deformation function?
The usage of \ac{FFD} as a tool for manipulating follows directly from the properties of the polynomials and the correspondence to
the control points.
Having only a few control points gives the user a nicer high-level-interface, as she only needs to move these points and the
model follows in an intuitive manner. The deformation is smooth as the underlying polygon is smooth as well and affects as many
vertices of the model as needed. Moreover the changes are always local so one risks not any change that a user cannot immediately see.
But there are also disadvantages of this approach. The user loses the ability to directly influence vertices and even seemingly simple tasks as
creating a plateau can be difficult to achieve\cite[chapter~3.2]{hsu1991dmffd}.
This disadvantages led to the formulation of \acf{DM-FFD}\cite[chapter~3.3]{hsu1991dmffd} in which the user directly interacts with the surface-mesh.
All interactions will be applied proportionally to the control-points that make up the parametrization of the interaction-point
itself yielding a smooth deformation of the surface *at* the surface without seemingly arbitrary scattered control-points.
But this approach also has downsides as can be seen in \cite[figure~7]{hsu1991dmffd}\todo{figure hier einfügen?}, as the tessellation of
the invisible grid has a major impact on the deformation itself.
All in all \ac{FFD} and \ac{DM-FFD} are still good ways to deform a high-polygon mesh albeit the downsides.
## What is evaluational optimization?
## Was ist evolutionäre Optimierung?
## Wieso ist evo-Opt so cool? ## Wieso ist evo-Opt so cool?
@ -48,6 +106,7 @@ tool for deforming meshes in the first place.
# Hauptteil # Hauptteil
## Was ist FFD? ## Was ist FFD?
\label{3dffd}
- Definition - Definition
- Wieso Newton-Optimierung? - Wieso Newton-Optimierung?

Binary file not shown.

View File

@ -157,15 +157,91 @@ potential of such optimisation.
We will replicate the same setup on the same meshes but use \acf{FFD} We will replicate the same setup on the same meshes but use \acf{FFD}
instead of \acf{RBF} to create a deformation and evaluate if the instead of \acf{RBF} to create a deformation and evaluate if the
evolution-criteria still work as a predictor given the different evolution-criteria still work as a predictor given the different
deformation. deformation scheme.
\section{\texorpdfstring{What is \acf{FFD}?}{What is ?}}\label{what-is} \section{\texorpdfstring{What is \acf{FFD}?}{What is ?}}\label{what-is}
First of all we have to establish how a \ac{FFD} works and why this is a First of all we have to establish how a \ac{FFD} works and why this is a
good tool for deforming meshes in the first place. good tool for deforming meshes in the first place. For simplicity we
only summarize the 1D-case from \cite{spitzmuller1996bezier} here and go
into the extension to the 3D case in chapter \ref{3dffd}.
\section{Was ist evolutionäre Given an arbitrary number of points \(p_i\) alongside a line, we map a
Optimierung?}\label{was-ist-evolutionuxe4re-optimierung} scalar value \(\tau_i \in [0,1[\) to each point with
\(\tau_i < \tau_{i+1} \forall i\). Given a degree of the target
polynomial \(d\) we define the curve \(N_{i,d,\tau_i}(u)\) as follows:
\[
\begin{equation}
\label{ffd1d1}
N_{i,0,\tau}(u) = \begin{cases} 1, & u \in [\tau_i, \tau_{i+1}[ \\ 0, & \mbox{otherwise} \end{cases}
\end{equation}
\] and \[
\begin{equation}
\label{ffd1d2}
N_{i,d,\tau}(u) = \frac{u-\tau_i}{\tau_{i+d}} N_{i,d-1,\tau}(u) + \frac{\tau_{i+d+1} - u}{\tau_{i+d+1}-\tau_{i+1}} N_{i+1,d-1,\tau}(u)
\end{equation}
\]
If we now multiply every \(p_i\) with the corresponding
\(N_{i,d,\tau_i}(u)\) we get the contribution of each point \(p_i\) to
the final curve-point parameterized only by \(u \in [0,1[\). As can be
seen from equation \ref{ffd1d2} we only access points \([i..i+d]\) for
any given \(i\)\footnote{one more for each recursive step.}, which gives
us, in combination with choosing \(p_i\) and \(\tau_i\) in order, only a
local interference of \(d+1\) points.
We can even derive this equation straightforward for an arbitrary
\(N\)\footnote{\emph{Warning:} in the case of \(d=1\) the
recursion-formula yields a \(0\) denominator, but \(N\) is also \(0\).
The right solution for this case is a derivative of \(0\)}:
\[\frac{\partial}{\partial u} N_{i,d,r}(u) = \frac{d}{\tau_{i+d} - \tau_i} N_{i,d-1,\tau}(u) - \frac{d}{\tau_{i+d+1} - \tau_{i+1}} N_{i+1,d-1,\tau}(u)\]
For a B-Spline \[s(u) = \sum_{i} N_{i,d,\tau_i}(u) p_i\] these
derivations yield \(\frac{\partial^d}{\partial u} s(u) = 0\).
Another interesting property of these recursive polynomials is that they
are continuous (given \(d \ge 1\)) as every \(p_i\) gets blended in
linearly between \(\tau_i\) and \(\tau_{i+d}\) and out linearly between
\(\tau_{i+1}\) and \(\tau_{i+d+1}\) as can bee seen from the two
coefficients in every step of the recursion.
\subsection{\texorpdfstring{Why is \ac{FFD} a good deformation
function?}{Why is a good deformation function?}}\label{why-is-a-good-deformation-function}
The usage of \ac{FFD} as a tool for manipulating follows directly from
the properties of the polynomials and the correspondence to the control
points. Having only a few control points gives the user a nicer
high-level-interface, as she only needs to move these points and the
model follows in an intuitive manner. The deformation is smooth as the
underlying polygon is smooth as well and affects as many vertices of the
model as needed. Moreover the changes are always local so one risks not
any change that a user cannot immediately see.
But there are also disadvantages of this approach. The user loses the
ability to directly influence vertices and even seemingly simple tasks
as creating a plateau can be difficult to
achieve\cite[chapter~3.2]{hsu1991dmffd}.
This disadvantages led to the formulation of
\acf{DM-FFD}\cite[chapter~3.3]{hsu1991dmffd} in which the user directly
interacts with the surface-mesh. All interactions will be applied
proportionally to the control-points that make up the parametrization of
the interaction-point itself yielding a smooth deformation of the
surface \emph{at} the surface without seemingly arbitrary scattered
control-points.
But this approach also has downsides as can be seen in
\cite[figure~7]{hsu1991dmffd}\todo{figure hier einfügen?}, as the
tessellation of the invisible grid has a major impact on the deformation
itself.
All in all \ac{FFD} and \ac{DM-FFD} are still good ways to deform a
high-polygon mesh albeit the downsides.
\section{What is evaluational
optimization?}\label{what-is-evaluational-optimization}
\section{Wieso ist evo-Opt so cool?}\label{wieso-ist-evo-opt-so-cool} \section{Wieso ist evo-Opt so cool?}\label{wieso-ist-evo-opt-so-cool}
@ -181,6 +257,8 @@ Optimierung?}\label{was-ist-evolutionuxe4re-optimierung}
\section{Was ist FFD?}\label{was-ist-ffd} \section{Was ist FFD?}\label{was-ist-ffd}
\label{3dffd}
\begin{itemize} \begin{itemize}
\tightlist \tightlist
\item \item