Start explaining exaggeration

This commit is contained in:
Motiejus Jakštys 2021-05-19 22:57:50 +03:00 committed by Motiejus Jakštys
parent 7b31e4fdcf
commit 5360ea911e

View File

@ -1096,32 +1096,41 @@ Combination operator was not implemented in this version.
\subsection{Exaggeration Operator}
Exaggeration operator finds bends whose \textsc{adjusted size} is smaller than
the incoming parameter --- \textsc{half-circle diameter}. Once it finds the
bend, it will exaggerate it in increments until either becomes true:
Exaggeration operator finds bends of which \textsc{adjusted size} is smaller
than the \textsc{diameter of the half-circle}. Once a target bend is found, it
will be exaggerated it in increments until either becomes true:
\begin{itemize}
\item \textsc{adjusted size} of the exaggerated bend is larger than area of
the half-circle.
\item The exaggerated bend starts intersecting with a neighboring bend. Then,
\item The exaggerated bend starts intersecting with a neighboring bend.
Then exaggeration aborts, and the bend remains as if it were one step
before the intersection.
\end{itemize}
Exaggeration operator requires a constant \textsc{exaggeration step} $s$, which
should be between 1 and 2. It was arbitrarily picked to \exaggerationEnthusiasm
for this implementation. A single exaggeration increment is done as follows:
Exaggeration operator uses a hardcoded parameter \textsc{exaggeration step} $s
\in (1,2]$. It was arbitrarily picked to {\exaggerationEnthusiasm} for this
implementation. A single exaggeration increment is done as follows:
\begin{enumerate}
\item Find a candidate bend.
\item Find the bend's baseline.
\item Find \textsc{midpoint}, the center of the bend's baseline.
\item Mark each bend's vertex with a number between $[1,s]$. The number is
derived with elements linearly interpolated between the start and
mid-points of the bend. The other half of the bend, from mid-point to
the final vertex, is linearly interpolated between $[s,1]$.
\item Find \textsc{midbend}, the center of the bend. Distance from one
baseline vertex to \textsc{midbend} should be the same as from
\textsc{midbend} to the other baseline vertex.
\item Each point will be placed farther away from the baseline. The length
of misplacement is the marked value in the previous step. I.e.
\item Mark each bend's vertex with a number between $[1,s]$. The number is
derived with elements linearly interpolated between the start vertex
and \textsc{midbend}. The other half of the bend, from \textsc{midbend}
to the final vertex, is linearly interpolated between $[s,1]$.
\item Each point (except the beginning and end vertices of the bend) will
be placed farther away from the baseline. The length of misplacement is
the marked value in the previous step.
\end{enumerate}