aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/nav
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--buch/papers/nav/images/Makefile108
-rw-r--r--buch/papers/nav/images/common.inc149
-rw-r--r--buch/papers/nav/images/dreieck.tex68
-rw-r--r--buch/papers/nav/images/dreieck1.pdfbin0 -> 11578 bytes
-rw-r--r--buch/papers/nav/images/dreieck1.tex59
-rw-r--r--buch/papers/nav/images/dreieck2.pdfbin0 -> 8812 bytes
-rw-r--r--buch/papers/nav/images/dreieck2.tex59
-rw-r--r--buch/papers/nav/images/dreieck3.pdfbin0 -> 10636 bytes
-rw-r--r--buch/papers/nav/images/dreieck3.tex59
-rw-r--r--buch/papers/nav/images/dreieck3d1.pov58
-rw-r--r--buch/papers/nav/images/dreieck3d1.tex53
-rw-r--r--buch/papers/nav/images/dreieck3d2.pov26
-rw-r--r--buch/papers/nav/images/dreieck3d2.tex53
-rw-r--r--buch/papers/nav/images/dreieck3d3.pov37
-rw-r--r--buch/papers/nav/images/dreieck3d3.tex53
-rw-r--r--buch/papers/nav/images/dreieck3d4.pov37
-rw-r--r--buch/papers/nav/images/dreieck3d4.tex54
-rw-r--r--buch/papers/nav/images/dreieck3d5.pov26
-rw-r--r--buch/papers/nav/images/dreieck3d5.tex53
-rw-r--r--buch/papers/nav/images/dreieck3d6.pov37
-rw-r--r--buch/papers/nav/images/dreieck3d6.tex55
-rw-r--r--buch/papers/nav/images/dreieck3d7.pov39
-rw-r--r--buch/papers/nav/images/dreieck3d7.tex55
-rw-r--r--buch/papers/nav/images/dreieck4.pdfbin0 -> 13231 bytes
-rw-r--r--buch/papers/nav/images/dreieck4.tex64
-rw-r--r--buch/papers/nav/images/dreieck5.pdfbin0 -> 8721 bytes
-rw-r--r--buch/papers/nav/images/dreieck5.tex64
-rw-r--r--buch/papers/nav/images/dreieck6.pdfbin0 -> 10699 bytes
-rw-r--r--buch/papers/nav/images/dreieck6.tex64
-rw-r--r--buch/papers/nav/images/dreieck7.pdfbin0 -> 11079 bytes
-rw-r--r--buch/papers/nav/images/dreieck7.tex64
-rw-r--r--buch/papers/nav/images/dreieckdata.tex16
-rw-r--r--buch/papers/nav/images/macros.tex54
-rw-r--r--buch/papers/nav/images/pk.m55
34 files changed, 1519 insertions, 0 deletions
diff --git a/buch/papers/nav/images/Makefile b/buch/papers/nav/images/Makefile
new file mode 100644
index 0000000..c9dcacc
--- /dev/null
+++ b/buch/papers/nav/images/Makefile
@@ -0,0 +1,108 @@
+#
+# Makefile to build images
+#
+# (c) 2022
+#
+all: dreiecke3d
+
+dreieck.pdf: dreieck.tex dreieckdata.tex macros.tex
+ pdflatex dreieck.tex
+
+dreieckdata.tex: pk.m
+ octave pk.m
+
+DREIECKE = \
+ dreieck1.pdf \
+ dreieck2.pdf \
+ dreieck3.pdf \
+ dreieck4.pdf \
+ dreieck5.pdf \
+ dreieck6.pdf \
+ dreieck7.pdf
+
+dreiecke: $(DREIECKE)
+
+dreieck1.pdf: dreieck1.tex dreieckdata.tex macros.tex
+ pdflatex dreieck1.tex
+
+dreieck2.pdf: dreieck2.tex dreieckdata.tex macros.tex
+ pdflatex dreieck2.tex
+
+dreieck3.pdf: dreieck3.tex dreieckdata.tex macros.tex
+ pdflatex dreieck3.tex
+
+dreieck4.pdf: dreieck4.tex dreieckdata.tex macros.tex
+ pdflatex dreieck4.tex
+
+dreieck5.pdf: dreieck5.tex dreieckdata.tex macros.tex
+ pdflatex dreieck5.tex
+
+dreieck6.pdf: dreieck6.tex dreieckdata.tex macros.tex
+ pdflatex dreieck6.tex
+
+dreieck7.pdf: dreieck7.tex dreieckdata.tex macros.tex
+ pdflatex dreieck7.tex
+
+DREIECKE3D = \
+ dreieck3d1.pdf \
+ dreieck3d2.pdf \
+ dreieck3d3.pdf \
+ dreieck3d4.pdf \
+ dreieck3d5.pdf \
+ dreieck3d6.pdf \
+ dreieck3d7.pdf
+
+dreiecke3d: $(DREIECKE3D)
+
+POVRAYOPTIONS = -W1080 -H1080
+#POVRAYOPTIONS = -W480 -H480
+
+dreieck3d1.png: dreieck3d1.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d1.png dreieck3d1.pov
+dreieck3d1.jpg: dreieck3d1.png
+ convert dreieck3d1.png -density 300 -units PixelsPerInch dreieck3d1.jpg
+dreieck3d1.pdf: dreieck3d1.tex dreieck3d1.jpg
+ pdflatex dreieck3d1.tex
+
+dreieck3d2.png: dreieck3d2.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d2.png dreieck3d2.pov
+dreieck3d2.jpg: dreieck3d2.png
+ convert dreieck3d2.png -density 300 -units PixelsPerInch dreieck3d2.jpg
+dreieck3d2.pdf: dreieck3d2.tex dreieck3d2.jpg
+ pdflatex dreieck3d2.tex
+
+dreieck3d3.png: dreieck3d3.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d3.png dreieck3d3.pov
+dreieck3d3.jpg: dreieck3d3.png
+ convert dreieck3d3.png -density 300 -units PixelsPerInch dreieck3d3.jpg
+dreieck3d3.pdf: dreieck3d3.tex dreieck3d3.jpg
+ pdflatex dreieck3d3.tex
+
+dreieck3d4.png: dreieck3d4.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d4.png dreieck3d4.pov
+dreieck3d4.jpg: dreieck3d4.png
+ convert dreieck3d4.png -density 300 -units PixelsPerInch dreieck3d4.jpg
+dreieck3d4.pdf: dreieck3d4.tex dreieck3d4.jpg
+ pdflatex dreieck3d4.tex
+
+dreieck3d5.png: dreieck3d5.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d5.png dreieck3d5.pov
+dreieck3d5.jpg: dreieck3d5.png
+ convert dreieck3d5.png -density 300 -units PixelsPerInch dreieck3d5.jpg
+dreieck3d5.pdf: dreieck3d5.tex dreieck3d5.jpg
+ pdflatex dreieck3d5.tex
+
+dreieck3d6.png: dreieck3d6.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d6.png dreieck3d6.pov
+dreieck3d6.jpg: dreieck3d6.png
+ convert dreieck3d6.png -density 300 -units PixelsPerInch dreieck3d6.jpg
+dreieck3d6.pdf: dreieck3d6.tex dreieck3d6.jpg
+ pdflatex dreieck3d6.tex
+
+dreieck3d7.png: dreieck3d7.pov common.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d7.png dreieck3d7.pov
+dreieck3d7.jpg: dreieck3d7.png
+ convert dreieck3d7.png -density 300 -units PixelsPerInch dreieck3d7.jpg
+dreieck3d7.pdf: dreieck3d7.tex dreieck3d7.jpg
+ pdflatex dreieck3d7.tex
+
diff --git a/buch/papers/nav/images/common.inc b/buch/papers/nav/images/common.inc
new file mode 100644
index 0000000..33d9384
--- /dev/null
+++ b/buch/papers/nav/images/common.inc
@@ -0,0 +1,149 @@
+//
+// common.inc -- 3d Darstellung
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.034;
+
+#declare A = vnormalize(< 0, 1, 0>);
+#declare B = vnormalize(< 1, 2, -8>);
+#declare C = vnormalize(< 5, 1, 0>);
+#declare P = vnormalize(< 5, -1, -7>);
+
+camera {
+ location <40, 20, -20>
+ look_at <0, 0.24, -0.20>
+ right x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <10, 10, -40> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+//
+// draw an arrow from <from> to <to> with thickness <arrowthickness> with
+// color <c>
+//
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro grosskreis(normale, staerke)
+union {
+ #declare v1 = vcross(normale, <normale.x, normale.z, normale.y>);
+ #declare v1 = vnormalize(v1);
+ #declare v2 = vnormalize(vcross(v1, normale));
+ #declare phisteps = 100;
+ #declare phistep = pi / phisteps;
+ #declare phi = 0;
+ #declare p1 = v1;
+ #while (phi < 2 * pi - phistep/2)
+ sphere { p1, staerke }
+ #declare phi = phi + phistep;
+ #declare p2 = v1 * cos(phi) + v2 * sin(phi);
+ cylinder { p1, p2, staerke }
+ #declare p1 = p2;
+ #end
+}
+#end
+
+#macro seite(p, q, staerke)
+ #declare n = vcross(p, q);
+ intersection {
+ grosskreis(n, staerke)
+ plane { -vcross(n, q) * vdot(vcross(n, q), p), 0 }
+ plane { -vcross(n, p) * vdot(vcross(n, p), q), 0 }
+ }
+#end
+
+#macro winkel(w, p, q, staerke)
+ #declare n = vnormalize(w);
+ #declare pp = vnormalize(p - vdot(n, p) * n);
+ #declare qq = vnormalize(q - vdot(n, q) * n);
+ intersection {
+ sphere { <0, 0, 0>, 1 + staerke }
+ cone { <0, 0, 0>, 0, 1.2 * vnormalize(w), 0.4 }
+ plane { -vcross(n, qq) * vdot(vcross(n, qq), pp), 0 }
+ plane { -vcross(n, pp) * vdot(vcross(n, pp), qq), 0 }
+ }
+#end
+
+#macro punkt(p, staerke)
+ sphere { p, 1.5 * staerke }
+#end
+
+#declare fett = 0.015;
+#declare fine = 0.010;
+
+#declare dreieckfarbe = rgb<0.6,0.6,0.6>;
+#declare rot = rgb<0.8,0.2,0.2>;
+#declare gruen = rgb<0,0.6,0>;
+#declare blau = rgb<0.2,0.2,0.8>;
+
+sphere {
+ <0, 0, 0>, 1
+ pigment {
+ color rgb<0.8,0.8,0.8>
+ }
+}
+
+//union {
+// sphere { A, 0.02 }
+// sphere { B, 0.02 }
+// sphere { C, 0.02 }
+// sphere { P, 0.02 }
+// pigment {
+// color Red
+// }
+//}
+
+//union {
+// winkel(A, B, C)
+// winkel(B, P, C)
+// seite(B, C, 0.01)
+// seite(B, P, 0.01)
+// pigment {
+// color rgb<0,0.6,0>
+// }
+//}
diff --git a/buch/papers/nav/images/dreieck.tex b/buch/papers/nav/images/dreieck.tex
new file mode 100644
index 0000000..55f6a81
--- /dev/null
+++ b/buch/papers/nav/images/dreieck.tex
@@ -0,0 +1,68 @@
+%
+% dreieck.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+\def\punktbeschriftung{
+ \node at (A) [above] {$A$};
+ \node at (B) [left] {$B$};
+ \node at (C) [right] {$C$};
+ \node at (P) [below] {$P$};
+}
+
+\winkelKappa{gray}
+
+\winkelAlpha{red}
+\winkelGamma{blue}
+\winkelBeta{darkgreen}
+
+\winkelOmega{gray}
+\winkelBetaEins{brown}
+
+\seiteC{black}
+\seiteB{black}
+\seiteA{black}
+
+\seiteL{gray}
+\seitePB{gray}
+\seitePC{gray}
+
+\draw[line width=1.4pt] \kanteAB;
+\draw[line width=1.4pt] \kanteAC;
+\draw[color=gray] \kanteAP;
+\draw[line width=1.4pt] \kanteBC;
+\draw[color=gray] \kanteBP;
+\draw[color=gray] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{gray};
+
+\punktbeschriftung
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck1.pdf b/buch/papers/nav/images/dreieck1.pdf
new file mode 100644
index 0000000..5bdf23d
--- /dev/null
+++ b/buch/papers/nav/images/dreieck1.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck1.tex b/buch/papers/nav/images/dreieck1.tex
new file mode 100644
index 0000000..436314c
--- /dev/null
+++ b/buch/papers/nav/images/dreieck1.tex
@@ -0,0 +1,59 @@
+%
+% dreieck.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+\winkelAlpha{red}
+\winkelGamma{blue}
+\winkelBeta{darkgreen}
+
+\seiteC{black}
+\seiteB{black}
+\seiteA{black}
+
+%\seiteL{gray}
+\seitePB{gray}
+\seitePC{gray}
+
+\draw[line width=1.4pt] \kanteAB;
+\draw[line width=1.4pt] \kanteAC;
+%\draw[color=gray] \kanteAP;
+\draw[line width=1.4pt] \kanteBC;
+\draw[color=gray] \kanteBP;
+\draw[color=gray] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{gray};
+
+\node at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node[color=gray] at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck2.pdf b/buch/papers/nav/images/dreieck2.pdf
new file mode 100644
index 0000000..a872b25
--- /dev/null
+++ b/buch/papers/nav/images/dreieck2.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck2.tex b/buch/papers/nav/images/dreieck2.tex
new file mode 100644
index 0000000..99aabb7
--- /dev/null
+++ b/buch/papers/nav/images/dreieck2.tex
@@ -0,0 +1,59 @@
+%
+% dreieck2.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+%\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+\seiteC{black}
+\seiteB{black}
+%\seiteA{black}
+
+%\seiteL{gray}
+\seitePB{gray}
+\seitePC{gray}
+
+\draw[line width=1.4pt] \kanteAB;
+\draw[line width=1.4pt] \kanteAC;
+%\draw[color=gray] \kanteAP;
+\draw[line width=1.4pt] \kanteBC;
+\draw[color=gray] \kanteBP;
+\draw[color=gray] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{gray};
+
+\node at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node[color=gray] at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3.pdf b/buch/papers/nav/images/dreieck3.pdf
new file mode 100644
index 0000000..65070c6
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3.tex b/buch/papers/nav/images/dreieck3.tex
new file mode 100644
index 0000000..0cf5363
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3.tex
@@ -0,0 +1,59 @@
+%
+% dreieck.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+\seiteC{black}
+\seiteB{black}
+%\seiteA{black}
+
+%\seiteL{gray}
+\seitePB{gray}
+\seitePC{gray}
+
+\draw[line width=1.4pt] \kanteAB;
+\draw[line width=1.4pt] \kanteAC;
+%\draw[color=gray] \kanteAP;
+\draw[line width=1.4pt] \kanteBC;
+\draw[color=gray] \kanteBP;
+\draw[color=gray] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{gray};
+
+\node at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node[color=gray] at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d1.pov b/buch/papers/nav/images/dreieck3d1.pov
new file mode 100644
index 0000000..8afe60e
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d1.pov
@@ -0,0 +1,58 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fett)
+ seite(B, C, fett)
+ seite(A, C, fett)
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fine)
+ seite(B, P, fine)
+ seite(C, P, fine)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, B, C, fine)
+ pigment {
+ color rot
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(B, C, A, fine)
+ pigment {
+ color gruen
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(C, A, B, fine)
+ pigment {
+ color blau
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
diff --git a/buch/papers/nav/images/dreieck3d1.tex b/buch/papers/nav/images/dreieck3d1.tex
new file mode 100644
index 0000000..799b21a
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d1.tex
@@ -0,0 +1,53 @@
+%
+% dreieck3d1.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d1.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+\node at (-1.9,2.1) {$c$};
+\node at (-0.2,-1.2) {$a$};
+\node at (2.6,1.5) {$b$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+\node at (0.7,3) {$\alpha$};
+\node at (-2.5,-0.5) {$\beta$};
+\node at (2.3,-1.2) {$\gamma$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d2.pov b/buch/papers/nav/images/dreieck3d2.pov
new file mode 100644
index 0000000..c23a54c
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d2.pov
@@ -0,0 +1,26 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fett)
+ seite(B, C, fett)
+ seite(A, C, fett)
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fine)
+ seite(B, P, fine)
+ seite(C, P, fine)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d2.tex b/buch/papers/nav/images/dreieck3d2.tex
new file mode 100644
index 0000000..0f6e10c
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d2.tex
@@ -0,0 +1,53 @@
+%
+% dreieck3d2.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d2.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+\node at (-1.9,2.1) {$c$};
+%\node at (-0.2,-1.2) {$a$};
+\node at (2.6,1.5) {$b$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+%\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d3.pov b/buch/papers/nav/images/dreieck3d3.pov
new file mode 100644
index 0000000..f2496b5
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d3.pov
@@ -0,0 +1,37 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fett)
+ seite(B, C, fett)
+ seite(A, C, fett)
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fine)
+ seite(B, P, fine)
+ seite(C, P, fine)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, B, C, fine)
+ pigment {
+ color rot
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d3.tex b/buch/papers/nav/images/dreieck3d3.tex
new file mode 100644
index 0000000..a047b1b
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d3.tex
@@ -0,0 +1,53 @@
+%
+% dreieck3d3.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d3.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+\node at (-1.9,2.1) {$c$};
+%\node at (-0.2,-1.2) {$a$};
+\node at (2.6,1.5) {$b$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d4.pov b/buch/papers/nav/images/dreieck3d4.pov
new file mode 100644
index 0000000..bddcf7c
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d4.pov
@@ -0,0 +1,37 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fine)
+ seite(A, C, fine)
+ punkt(A, fine)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ seite(B, C, fett)
+ seite(B, P, fett)
+ seite(C, P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(B, C, P, fine)
+ pigment {
+ color rgb<0.6,0.4,0.2>
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d4.tex b/buch/papers/nav/images/dreieck3d4.tex
new file mode 100644
index 0000000..d49fb66
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d4.tex
@@ -0,0 +1,54 @@
+%
+% dreieck3d4.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d4.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+%\node at (-1.9,2.1) {$c$};
+\node at (-0.2,-1.2) {$a$};
+%\node at (2.6,1.5) {$b$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+%\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+\node at (-2.3,-1.5) {$\beta_1$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d5.pov b/buch/papers/nav/images/dreieck3d5.pov
new file mode 100644
index 0000000..32fc9e6
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d5.pov
@@ -0,0 +1,26 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fine)
+ seite(A, C, fine)
+ punkt(A, fine)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ seite(B, C, fett)
+ seite(B, P, fett)
+ seite(C, P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d5.tex b/buch/papers/nav/images/dreieck3d5.tex
new file mode 100644
index 0000000..8011b37
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d5.tex
@@ -0,0 +1,53 @@
+%
+% dreieck3d5.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d5.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+%\node at (-1.9,2.1) {$c$};
+%\node at (-0.2,-1.2) {$a$};
+%\node at (2.6,1.5) {$b$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+%\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d6.pov b/buch/papers/nav/images/dreieck3d6.pov
new file mode 100644
index 0000000..7611950
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d6.pov
@@ -0,0 +1,37 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, B, fett)
+ seite(A, C, fett)
+ seite(B, P, fett)
+ seite(C, P, fett)
+ seite(A, P, fett)
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(B, A, P, fine)
+ pigment {
+ color rgb<0.6,0.2,0.6>
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d6.tex b/buch/papers/nav/images/dreieck3d6.tex
new file mode 100644
index 0000000..bbca2ca
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d6.tex
@@ -0,0 +1,55 @@
+%
+% dreieck3d6.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d6.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+\node at (-1.9,2.1) {$c$};
+%\node at (-0.2,-1.2) {$a$};
+\node at (2.6,1.5) {$b$};
+\node at (-0.7,0.3) {$l$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+%\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+\node at (-2.4,-0.6) {$\kappa$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck3d7.pov b/buch/papers/nav/images/dreieck3d7.pov
new file mode 100644
index 0000000..fa48f5b
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d7.pov
@@ -0,0 +1,39 @@
+//
+// dreiecke3d.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+union {
+ seite(A, C, fett)
+ seite(A, P, fett)
+ seite(C, P, fett)
+
+ seite(A, B, fine)
+ seite(B, C, fine)
+ seite(B, P, fine)
+ punkt(A, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ punkt(B, fine)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, P, C, fine)
+ pigment {
+ color rgb<0.4,0.4,1>
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/dreieck3d7.tex b/buch/papers/nav/images/dreieck3d7.tex
new file mode 100644
index 0000000..4027a8b
--- /dev/null
+++ b/buch/papers/nav/images/dreieck3d7.tex
@@ -0,0 +1,55 @@
+%
+% dreieck3d7.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{dreieck3d7.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\node at (0.7,3.8) {$A$};
+\node at (-3.4,-0.8) {$B$};
+\node at (3.3,-2.1) {$C$};
+\node at (-1.4,-3.5) {$P$};
+
+\node at (-1.9,2.1) {$c$};
+\node at (-0.2,-1.2) {$a$};
+\node at (2.6,1.5) {$b$};
+\node at (-0.7,0.3) {$l$};
+
+\node at (-2.6,-2.2) {$p_b$};
+\node at (1,-2.9) {$p_c$};
+
+%\node at (0.7,3) {$\alpha$};
+%\node at (-2.5,-0.5) {$\beta$};
+%\node at (2.3,-1.2) {$\gamma$};
+\node at (0.8,3.1) {$\omega$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck4.pdf b/buch/papers/nav/images/dreieck4.pdf
new file mode 100644
index 0000000..4871a1e
--- /dev/null
+++ b/buch/papers/nav/images/dreieck4.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck4.tex b/buch/papers/nav/images/dreieck4.tex
new file mode 100644
index 0000000..19a7d12
--- /dev/null
+++ b/buch/papers/nav/images/dreieck4.tex
@@ -0,0 +1,64 @@
+%
+% dreieck4.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+%\winkelKappa{gray}
+
+%\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+%\winkelOmega{gray}
+\winkelBetaEins{brown}
+
+%\seiteC{gray}
+%\seiteB{gray}
+%\seiteL{gray}
+
+\seiteA{black}
+\seitePB{black}
+\seitePC{black}
+
+\draw[color=gray] \kanteAB;
+\draw[color=gray] \kanteAC;
+%\draw[color=gray] \kanteAP;
+\draw[color=black,line width=1.4pt] \kanteBC;
+\draw[color=black,line width=1.4pt] \kanteBP;
+\draw[color=black,line width=1.4pt] \kanteCP;
+
+\punkt{(A)}{gray};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{black};
+
+\node[color=gray] at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck5.pdf b/buch/papers/nav/images/dreieck5.pdf
new file mode 100644
index 0000000..cf686e0
--- /dev/null
+++ b/buch/papers/nav/images/dreieck5.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck5.tex b/buch/papers/nav/images/dreieck5.tex
new file mode 100644
index 0000000..d1117d1
--- /dev/null
+++ b/buch/papers/nav/images/dreieck5.tex
@@ -0,0 +1,64 @@
+%
+% dreieck4.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+%\winkelKappa{gray}
+
+%\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+%\winkelOmega{gray}
+%\winkelBetaEins{brown}
+
+%\seiteC{gray}
+%\seiteB{gray}
+%\seiteL{gray}
+
+%\seiteA{black}
+\seitePB{black}
+\seitePC{black}
+
+\draw[color=gray] \kanteAB;
+\draw[color=gray] \kanteAC;
+%\draw[color=gray] \kanteAP;
+\draw[color=black,line width=1.4pt] \kanteBC;
+\draw[color=black,line width=1.4pt] \kanteBP;
+\draw[color=black,line width=1.4pt] \kanteCP;
+
+\punkt{(A)}{gray};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{black};
+
+\node[color=gray] at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck6.pdf b/buch/papers/nav/images/dreieck6.pdf
new file mode 100644
index 0000000..7efd673
--- /dev/null
+++ b/buch/papers/nav/images/dreieck6.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck6.tex b/buch/papers/nav/images/dreieck6.tex
new file mode 100644
index 0000000..87db1c2
--- /dev/null
+++ b/buch/papers/nav/images/dreieck6.tex
@@ -0,0 +1,64 @@
+%
+% dreieck6.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+\winkelKappa{gray}
+
+%\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+%\winkelOmega{gray}
+%\winkelBetaEins{brown}
+
+\seiteC{black}
+\seiteB{black}
+%\seiteA{gray}
+
+\seiteL{black}
+\seitePB{black}
+\seitePC{black}
+
+\draw[color=black,line width=1.4pt] \kanteAB;
+\draw[color=black,line width=1.4pt] \kanteAC;
+\draw[color=black,line width=1.4pt] \kanteAP;
+%\draw[color=gray] \kanteBC;
+\draw[color=black,line width=1.4pt] \kanteBP;
+\draw[color=black,line width=1.4pt] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{black};
+\punkt{(C)}{black};
+\punkt{(P)}{black};
+
+\node at (A) [above] {$A$};
+\node at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieck7.pdf b/buch/papers/nav/images/dreieck7.pdf
new file mode 100644
index 0000000..aa83e28
--- /dev/null
+++ b/buch/papers/nav/images/dreieck7.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck7.tex b/buch/papers/nav/images/dreieck7.tex
new file mode 100644
index 0000000..f084708
--- /dev/null
+++ b/buch/papers/nav/images/dreieck7.tex
@@ -0,0 +1,64 @@
+%
+% dreieck.tex -- sphärische Dreiecke für Positionsbestimmung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math,calc}
+\begin{document}
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\skala{1}
+
+\def\punkt#1#2{
+ \fill[color=#2] #1 circle[radius=0.08];
+}
+
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\input{dreieckdata.tex}
+\input{macros.tex}
+
+%\winkelKappa{gray}
+
+%\winkelAlpha{red}
+%\winkelGamma{blue}
+%\winkelBeta{darkgreen}
+
+\winkelOmega{gray}
+%\winkelBetaEins{brown}
+
+\seiteC{black}
+\seiteB{black}
+\seiteA{gray}
+
+\seiteL{black}
+\seitePB{gray}
+\seitePC{black}
+
+\draw[color=gray] \kanteAB;
+\draw[color=black,line width=1.4pt] \kanteAC;
+\draw[color=black,line width=1.4pt] \kanteAP;
+\draw[color=gray] \kanteBC;
+\draw[color=gray] \kanteBP;
+\draw[line width=1.4pt] \kanteCP;
+
+\punkt{(A)}{black};
+\punkt{(B)}{gray};
+\punkt{(C)}{black};
+\punkt{(P)}{black};
+
+\node at (A) [above] {$A$};
+\node[color=gray] at (B) [left] {$B$};
+\node at (C) [right] {$C$};
+\node at (P) [below] {$P$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/papers/nav/images/dreieckdata.tex b/buch/papers/nav/images/dreieckdata.tex
new file mode 100644
index 0000000..c0fb720
--- /dev/null
+++ b/buch/papers/nav/images/dreieckdata.tex
@@ -0,0 +1,16 @@
+\coordinate (P) at (0.0000,0.0000);
+\coordinate (A) at (1.0000,8.0000);
+\coordinate (B) at (-3.0000,3.0000);
+\coordinate (C) at (4.0000,4.0000);
+\def\kanteAB{(1.0000,8.0000) arc (114.77514:167.90524:7.1589)}
+\def\kanteBA{(-3.0000,3.0000) arc (167.90524:114.77514:7.1589)}
+\def\kanteAC{(1.0000,8.0000) arc (63.43495:10.30485:5.5902)}
+\def\kanteCA{(4.0000,4.0000) arc (10.30485:63.43495:5.5902)}
+\def\kanteAP{(1.0000,8.0000) arc (146.30993:199.44003:9.0139)}
+\def\kantePA{(0.0000,0.0000) arc (199.44003:146.30993:9.0139)}
+\def\kanteBC{(-3.0000,3.0000) arc (-95.90614:-67.83365:14.5774)}
+\def\kanteCB{(4.0000,4.0000) arc (-67.83365:-95.90614:14.5774)}
+\def\kanteBP{(-3.0000,3.0000) arc (-161.56505:-108.43495:4.7434)}
+\def\kantePB{(0.0000,0.0000) arc (-108.43495:-161.56505:4.7434)}
+\def\kanteCP{(4.0000,4.0000) arc (-30.96376:-59.03624:11.6619)}
+\def\kantePC{(0.0000,0.0000) arc (-59.03624:-30.96376:11.6619)}
diff --git a/buch/papers/nav/images/macros.tex b/buch/papers/nav/images/macros.tex
new file mode 100644
index 0000000..69a620d
--- /dev/null
+++ b/buch/papers/nav/images/macros.tex
@@ -0,0 +1,54 @@
+\def\winkelAlpha#1{
+ \begin{scope}
+ \clip (A) circle[radius=1.1];
+ \fill[color=#1!20] \kanteAB -- \kanteCA -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(A)+(222:0.82)$) {$\alpha$};
+}
+
+\def\winkelOmega#1{
+ \begin{scope}
+ \clip (A) circle[radius=0.7];
+ \fill[color=#1!20] \kanteAP -- \kanteCA -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(A)+(285:0.50)$) {$\omega$};
+}
+
+\def\winkelGamma#1{
+ \begin{scope}
+ \clip (C) circle[radius=1.0];
+ \fill[color=#1!20] \kanteCA -- \kanteBC -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(C)+(155:0.60)$) {$\gamma$};
+}
+
+\def\winkelKappa#1{
+ \begin{scope}
+ \clip (B) circle[radius=1.2];
+ \fill[color=#1!20] \kanteBP -- \kanteAB -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(B)+(15:1.00)$) {$\kappa$};
+}
+
+\def\winkelBeta#1{
+ \begin{scope}
+ \clip (B) circle[radius=0.8];
+ \fill[color=#1!20] \kanteBC -- \kanteAB -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(B)+(35:0.40)$) {$\beta$};
+}
+
+\def\winkelBetaEins#1{
+ \begin{scope}
+ \clip (B) circle[radius=0.8];
+ \fill[color=#1!20] \kanteBP -- \kanteCB -- cycle;
+ \end{scope}
+ \node[color=#1] at ($(B)+(330:0.60)$) {$\beta_1$};
+}
+
+\def\seiteC#1{ \node[color=#1] at (-1.9,5.9) {$c$}; }
+\def\seiteB#1{ \node[color=#1] at (3.2,6.5) {$b$}; }
+\def\seiteL#1{ \node[color=#1] at (-0.2,4.5) {$l$}; }
+\def\seiteA#1{ \node[color=#1] at (2,3) {$a$}; }
+\def\seitePB#1{ \node[color=#1] at (-2.1,1) {$p_b$}; }
+\def\seitePC#1{ \node[color=#1] at (2.5,1.5) {$p_c$}; }
diff --git a/buch/papers/nav/images/pk.m b/buch/papers/nav/images/pk.m
new file mode 100644
index 0000000..6e89e9a
--- /dev/null
+++ b/buch/papers/nav/images/pk.m
@@ -0,0 +1,55 @@
+#
+# pk.m -- Punkte und Kanten für sphärisches Dreieck
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+
+A = [ 1, 8 ];
+B = [ -3, 3 ];
+C = [ 4, 4 ];
+P = [ 0, 0 ];
+
+global fn;
+fn = fopen("dreieckdata.tex", "w");
+
+fprintf(fn, "\\coordinate (P) at (%.4f,%.4f);\n", P(1,1), P(1,2));
+fprintf(fn, "\\coordinate (A) at (%.4f,%.4f);\n", A(1,1), A(1,2));
+fprintf(fn, "\\coordinate (B) at (%.4f,%.4f);\n", B(1,1), B(1,2));
+fprintf(fn, "\\coordinate (C) at (%.4f,%.4f);\n", C(1,1), C(1,2));
+
+function retval = seite(A, B, l, nameA, nameB)
+ global fn;
+ d = fliplr(B - A);
+ d(1, 2) = -d(1, 2);
+ # Zentrum
+ C = 0.5 * (A + B) + l * d;
+ # Radius:
+ r = hypot(C(1,1)-A(1,1), C(1,2)-A(1,2))
+ # Winkel von
+ winkelvon = atan2(A(1,2)-C(1,2),A(1,1)-C(1,1));
+ # Winkel bis
+ winkelbis = atan2(B(1,2)-C(1,2),B(1,1)-C(1,1));
+ if (abs(winkelvon - winkelbis) > pi)
+ if (winkelbis < winkelvon)
+ winkelbis = winkelbis + 2 * pi
+ else
+ winkelvon = winkelvon + 2 * pi
+ end
+ end
+ # Kurve
+ fprintf(fn, "\\def\\kante%s%s{(%.4f,%.4f) arc (%.5f:%.5f:%.4f)}\n",
+ nameA, nameB,
+ A(1,1), A(1,2), winkelvon * 180 / pi, winkelbis * 180 / pi, r);
+ fprintf(fn, "\\def\\kante%s%s{(%.4f,%.4f) arc (%.5f:%.5f:%.4f)}\n",
+ nameB, nameA,
+ B(1,1), B(1,2), winkelbis * 180 / pi, winkelvon * 180 / pi, r);
+endfunction
+
+seite(A, B, -1, "A", "B");
+seite(A, C, 1, "A", "C");
+seite(A, P, -1, "A", "P");
+seite(B, C, -2, "B", "C");
+seite(B, P, -1, "B", "P");
+seite(C, P, 2, "C", "P");
+
+fclose(fn);