diff --git a/DokumentationAufgabe1.tex b/DokumentationAufgabe1.tex index 99ada98..21fbdc1 100644 --- a/DokumentationAufgabe1.tex +++ b/DokumentationAufgabe1.tex @@ -226,8 +226,6 @@ Wenn in jedem Schritt jede andere Polygonecke berücksichtigt wird, hat der Algo \section{Bedienung des Programms} Das Programm liest die Problemstellung von der Standardeingabe ein. Die grafische Ausgabe wird in die Standardausgabe geschrieben. Wird $-t$ übergeben, kann die Ausgabe in einem \LaTeX-Dokument verwendet werden. Standardmäßig wird ein SVG-Dokument erzeugt. Mit $-s$ werden auch Zwischenlösungen im aktuellen Ordner als SVG-Dateien gespeichert. Falls man die Geschwindigkeit von Lisa oder dem Bus verändern will, kann man dies mit $-l$ bzw. $-b$ tun. Für zusätzliche Debug-Ausgaben kann man $-d$ verwenden. Die Standardoptionen $-h$ und $-V$ zeigen die Hilfe und die Version des Programms an. \lstinputlisting[caption=Hilfetext des Programmes,frame=single,breaklines=true]{help.txt} - -\subsection{Eigene Beispiele} Das vorgegebene Eingabeformat ist mühsam zu schreiben. Daher kann das Programm auch SVG-Dateien einlesen. Punkte werden als Startpunkte interpretiert, sonstige Pfade sind Hindernisse. \section{Umsetzung} @@ -241,7 +239,7 @@ Wie bereits in der Laufzeitanalyse kurz angesprochen, benutzt das Programm besti Um zu überprüfen, ob ein Routenabschnitt die Hindernisse schneidet, wird unter anderem ein R*-Baum benutzt. Fûr ca. 40 Polygonen ist diese Methode ca. 5-6x schneller als alle Polygone zu überprüfen. Die Geschwindigkeitsgewinne werden größer, je mehr Polygone vorhanden sind. Zudem wird das Ergebnis in einer Hashtabelle gespeichert, was die insgesamte Performanz ca. 6-10x steigert ($\frac{n*(n-1)}{2}$ Berechnungen statt $n!$). \section{Beispiele} -Alle Beispiele sind im Maßstab 1:70m. +Alle Beispiele sind im Maßstab 1:70m. Für die folgenden fünf Beispiele benötigt das Programm höchstens 10 ms Rechenzeit. \lstinputlisting[caption=Lösung für lisarennt1.txt,frame=single,breaklines=true]{run1.txt} \begin{figure}[H] \centering @@ -313,6 +311,13 @@ Alle Beispiele sind im Maßstab 1:70m. \caption{Oktagone} \label{fig:ebsp6} \end{figure} +\lstinputlisting[caption=Lösung für Abb. \ref{fig:ebsp7},frame=single,breaklines=true]{runwelt8.txt} +\begin{figure}[H] +\centering +\input{welt8.tkz} +\caption{Höhle} +\label{fig:ebsp7} +\end{figure} \section{Quellcode (Hauptalgorithmus)} \lstinputlisting[frame=single,language=Rust,breaklines=true]{src/main.rs} diff --git a/run_all.sh b/run_all.sh index 365de74..35c1337 100755 --- a/run_all.sh +++ b/run_all.sh @@ -11,3 +11,4 @@ target/release/aufgabe1 -t < welt4.svg > >(tee welt4.tkz) 2> >(tee runwelt4.txt target/release/aufgabe1 -t < welt5.svg > >(tee welt5.tkz) 2> >(tee runwelt5.txt >&2) target/release/aufgabe1 -t < welt6.svg > >(tee welt6.tkz) 2> >(tee runwelt6.txt >&2) target/release/aufgabe1 -t < welt7b.svg > >(tee welt7b.tkz) 2> >(tee runwelt7b.txt >&2) +target/release/aufgabe1 -t < welt8.svg > >(tee welt8.tkz) 2> >(tee runwelt8.txt >&2) diff --git a/welt8.svg b/welt8.svg new file mode 100644 index 0000000..9be0f2e --- /dev/null +++ b/welt8.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + +