use degrees where possible

This commit is contained in:
Motiejus Jakštys 2021-05-03 15:42:33 +03:00
parent 0e5289a44f
commit c8f40e1802
2 changed files with 14 additions and 36 deletions

View File

@ -202,7 +202,6 @@
month={1}, month={1},
day={26}, day={26},
url={http://www.e-cartouche.ch/content_reg/cartouche/cartdesign/en/html/GenRules_learningObject3.html}, url={http://www.e-cartouche.ch/content_reg/cartouche/cartdesign/en/html/GenRules_learningObject3.html},
organization={CartouCHe},
urldate={2021-05-03}, urldate={2021-05-03},
} }

View File

@ -1,6 +1,6 @@
\documentclass[a4paper]{article} \documentclass[a4paper]{article}
\usepackage[T1,T2A]{fontenc} % T2A is for Cyrillic characters \usepackage[T1]{fontenc}
\usepackage[american]{babel} \usepackage[american]{babel}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage [autostyle,english=american]{csquotes} \usepackage [autostyle,english=american]{csquotes}
@ -9,7 +9,7 @@
\addbibresource{bib.bib} \addbibresource{bib.bib}
\usepackage[ \usepackage[
pdfusetitle, pdfusetitle,
pdfkeywords={Line Generalization,Cartographic Line Generalization,Wang--Mueller}, pdfkeywords={Line Generalization,Line Simplification,Wang--Mueller},
pdfborderstyle={/S/U/W 0} % /S/U/W 1 to enable reasonable decorations pdfborderstyle={/S/U/W 0} % /S/U/W 1 to enable reasonable decorations
]{hyperref} ]{hyperref}
\usepackage{enumitem} \usepackage{enumitem}
@ -29,6 +29,8 @@
%\usepackage{setspace} %\usepackage{setspace}
%\doublespacing %\doublespacing
\input{version.inc}
\input{vars.inc}
\IfFileExists{./editorial-version}{\def \mjEditorial {}}{} \IfFileExists{./editorial-version}{\def \mjEditorial {}}{}
\ifx \mjEditorial \undefined \ifx \mjEditorial \undefined
\usepackage{minted} \usepackage{minted}
@ -38,10 +40,6 @@
\newcommand{\inputcode}[2]{\verbatiminput{#2}} \newcommand{\inputcode}[2]{\verbatiminput{#2}}
\fi \fi
\input{version.inc}
\input{vars.inc}
\newcommand{\onpage}[1]{\ref{#1} on page~\pageref{#1}} \newcommand{\onpage}[1]{\ref{#1} on page~\pageref{#1}}
\newcommand{\titlecite}[1]{\citetitle{#1}\cite{#1}} \newcommand{\titlecite}[1]{\citetitle{#1}\cite{#1}}
\newcommand{\DP}{Douglas \& Peucker} \newcommand{\DP}{Douglas \& Peucker}
@ -50,7 +48,7 @@
\newcommand{\WnM}{Wang and M{\"u}ller} \newcommand{\WnM}{Wang and M{\"u}ller}
% {\WM} algoritmo realizacija kartografinei upių generalizacijai % {\WM} algoritmo realizacija kartografinei upių generalizacijai
\newcommand{\MYTITLE}{{\WM} algorithm realization for cartographic line generalization} \newcommand{\MYTITLE}{{\WM} algorithm realization for cartographic line generalization}
\newcommand{\MYTITLESC}{wang--m{\"u}ller algorithm realization for cartographic line generalization} \newcommand{\MYTITLENOCAPS}{wang--m{\"u}ller algorithm realization for cartographic line generalization}
\newcommand{\MYAUTHOR}{Motiejus Jakštys} \newcommand{\MYAUTHOR}{Motiejus Jakštys}
\title{\MYTITLE} \title{\MYTITLE}
@ -76,7 +74,7 @@
A thesis presented for the degree of Master in Cartography \\[8ex] A thesis presented for the degree of Master in Cartography \\[8ex]
\LARGE \LARGE
\textbf{\textsc{\MYTITLESC}} \textbf{\textsc{\MYTITLENOCAPS}}
\vfill \vfill
@ -444,25 +442,6 @@ This section defines vocabulary and terms as defined in the rest of the paper.
\end{description} \end{description}
\subsection{Radians and Degrees}
This document contains a few constant angles expressed in radians.
Table~\ref{table:radians} summarizes some of the values used in this document
and the implementation.
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
Degrees & $30^\circ$ & $45^\circ$ & $90^\circ$ & $180^\circ$ & $360^\circ$ \\
\hline
Radians & $\nicefrac{\pi}{6}$ & $\nicefrac{\pi}{4}$ & $\nicefrac{\pi}{2}$ & $\pi$ & $2\pi$ \\
\hline
\end{tabular}
\caption{Some angular degree and radian values mentioned in this article.}
\label{table:radians}
\end{table}
\subsection{Automated tests} \subsection{Automated tests}
\label{sec:automated-tests} \label{sec:automated-tests}
@ -771,13 +750,13 @@ be quite computationally expensive: naively implemented, complexity of checking
every bend with every bend is $O(n^2)$. In other words, the time it takes to every bend with every bend is $O(n^2)$. In other words, the time it takes to
run the algorithm grows quadratically with the with the number of vertices. run the algorithm grows quadratically with the with the number of vertices.
It is possible to optimize this step and skip checking most of the bends. Only It is possible to optimize this step and skip checking a large number of bends.
bends whose sum of inner angles is larger than $\pi$ can ever self-cross. If Only bends whose sum of inner angles is larger than $180^\circ$ can ever
the value is less than $\pi$, it cannot cross other bends. That way, only a self-cross. That way, only a fraction of bends need to be checked. The
fraction of bends need to be checked. The worst-case complexity is still worst-case complexity is still $O(n^2)$, when all bends' inner angles are
$O(n^2)$, when all bends' inner angles are larger than $\pi$, but, assuming no larger than $180^\circ$. Having this optimization, the algorithmic complexity
more than $20\%$ of the bends' inner angles are larger than $\pi$, the time it (as a result, the time it takes to execute the algorithm) is drops by the
takes to run this piece of the algorithm drops by $80\%$. fraction of bends whose sum of inner angles is smaller than $180^\circ$.
\subsection{Attributes of a Single Bend} \subsection{Attributes of a Single Bend}