---
fontsize: 11pt
---

\chapter*{How to read this Thesis}

As a guide through the nomenclature used in the formulas we prepend this chapter.

Unless otherwise noted the following holds:

- lowercase letters $x,y,z$  
  refer to real variables and represent a point in 3D-Space.
- lowercase letters $u,v,w$  
  refer to real variables between $0$ and $1$ used as coefficients in a 3D B-Spline grid.
- other lowercase letters  
  refer to other scalar (real) variables.
- lowercase **bold** letters (e.g. $\vec{x},\vec{y}$)  
  refer to 3D coordinates
- uppercase **BOLD** letters (e.g. $D, M$)  
  refer to Matrices

# Introduction

In this Master Thesis we try to extend a previously proposed concept of predicting
the evolvability of \acf{FFD} given a Deformation-Matrix\cite{anrichterEvol}.
In the original publication the author used random sampled points weighted with
\acf{RBF} to deform the mesh and defined three different criteria that can be
calculated prior to using an evolutional optimisation algorithm to asses the
quality and potential of such optimisation.

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
work as a predictor given the different deformation scheme.

## What is \acf{FFD}?

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. 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?



## Wieso ist evo-Opt so cool?

## Evolvierbarkeitskriterien

- Konditionszahl etc.

# Hauptteil

## Was ist FFD?
\label{3dffd}

- Definition
- Wieso Newton-Optimierung?
  - Was folgt daraus?

## Szenarien vorstellen

### 1D

#### Optimierungszenario

- Ebene -> Template-Fit

#### Matching in 1D

- Trivial

#### Besonderheiten der Auswertung

- Analytische Lösung einzig beste
  - Ergebnis auch bei Rauschen konstant?
  - normierter 1-Vektor auf den Gradienten addieren
    - Kegel entsteht

### 3D

#### Optimierungsszenario

- Ball zu Mario

#### Matching in 3D

- alternierende Optimierung

#### Besonderheiten der Optimierung

- Analytische Lösung nur bis zur Optimierung der ersten Punkte gültig
- Kriterien trotzdem gut

# Evaluation

## Spearman/Pearson-Metriken

- Was ist das?
- Wieso sollte uns das interessieren?
- Wieso reicht Monotonie?
- Haben wir das gezeigt?
- Stastik, Bilder, blah!

# Schluss

HAHA .. als ob -.-
