aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/nav
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--buch/papers/nav/images/Makefile27
-rw-r--r--buch/papers/nav/images/common.inc156
-rw-r--r--buch/papers/nav/images/dreieck3d1.pdfbin90451 -> 85369 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d1.pov3
-rw-r--r--buch/papers/nav/images/dreieck3d2.pdfbin69523 -> 64256 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d2.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d3.pdfbin82512 -> 77179 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d3.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d4.pdfbin85037 -> 84768 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d4.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d5.pdfbin70045 -> 64209 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d5.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d6.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d7.pov2
-rw-r--r--buch/papers/nav/images/dreieck3d8.jpgbin93432 -> 90015 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d8.pdfbin107370 -> 103952 bytes
-rw-r--r--buch/papers/nav/images/dreieck3d8.pov1
-rw-r--r--buch/papers/nav/images/macros.inc343
-rw-r--r--buch/papers/nav/images/position/Makefile54
-rw-r--r--buch/papers/nav/images/position/common.inc37
-rw-r--r--buch/papers/nav/images/position/common.tex32
-rw-r--r--buch/papers/nav/images/position/position1.pdfbin0 -> 107297 bytes
-rw-r--r--buch/papers/nav/images/position/position1.pov71
-rw-r--r--buch/papers/nav/images/position/position1.tex55
-rw-r--r--buch/papers/nav/images/position/position2.pdfbin0 -> 90563 bytes
-rw-r--r--buch/papers/nav/images/position/position2.pov70
-rw-r--r--buch/papers/nav/images/position/position2.tex53
-rw-r--r--buch/papers/nav/images/position/position3.pdfbin0 -> 85020 bytes
-rw-r--r--buch/papers/nav/images/position/position3.pov48
-rw-r--r--buch/papers/nav/images/position/position3.tex51
-rw-r--r--buch/papers/nav/images/position/position4.pdfbin0 -> 86376 bytes
-rw-r--r--buch/papers/nav/images/position/position4.pov69
-rw-r--r--buch/papers/nav/images/position/position4.tex50
-rw-r--r--buch/papers/nav/images/position/position5.pdfbin0 -> 91680 bytes
-rw-r--r--buch/papers/nav/images/position/position5.pov69
-rw-r--r--buch/papers/nav/images/position/position5.tex50
36 files changed, 1087 insertions, 164 deletions
diff --git a/buch/papers/nav/images/Makefile b/buch/papers/nav/images/Makefile
index da4defa..39bfbcf 100644
--- a/buch/papers/nav/images/Makefile
+++ b/buch/papers/nav/images/Makefile
@@ -51,73 +51,80 @@ DREIECKE3D = \
dreieck3d5.pdf \
dreieck3d6.pdf \
dreieck3d7.pdf \
- dreieck3d8.pdf
+ dreieck3d8.pdf
dreiecke3d: $(DREIECKE3D)
POVRAYOPTIONS = -W1080 -H1080
#POVRAYOPTIONS = -W480 -H480
-dreieck3d1.png: dreieck3d1.pov common.inc
+dreieck3d1.png: dreieck3d1.pov common.inc macros.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
+dreieck3d2.png: dreieck3d2.pov common.inc macros.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
+dreieck3d3.png: dreieck3d3.pov common.inc macros.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
+dreieck3d4.png: dreieck3d4.pov common.inc macros.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
+dreieck3d5.png: dreieck3d5.pov common.inc macros.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
+dreieck3d6.png: dreieck3d6.pov common.inc macros.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
+dreieck3d7.png: dreieck3d7.pov common.inc macros.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
-dreieck3d8.png: dreieck3d8.pov common.inc
+dreieck3d8.png: dreieck3d8.pov common.inc macros.inc
povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d8.png dreieck3d8.pov
dreieck3d8.jpg: dreieck3d8.png
convert dreieck3d8.png -density 300 -units PixelsPerInch dreieck3d8.jpg
dreieck3d8.pdf: dreieck3d8.tex dreieck3d8.jpg
pdflatex dreieck3d8.tex
-dreieck3d9.png: dreieck3d9.pov common.inc
+dreieck3d9.png: dreieck3d9.pov common.inc macros.inc
povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d9.png dreieck3d9.pov
dreieck3d9.jpg: dreieck3d9.png
convert dreieck3d9.png -density 300 -units PixelsPerInch dreieck3d9.jpg
dreieck3d9.pdf: dreieck3d9.tex dreieck3d9.jpg
pdflatex dreieck3d9.tex
+dreieck3d10.png: dreieck3d10.pov common.inc macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d10.png dreieck3d10.pov
+dreieck3d10.jpg: dreieck3d10.png
+ convert dreieck3d10.png -density 300 -units PixelsPerInch dreieck3d10.jpg
+dreieck3d10.pdf: dreieck3d10.tex dreieck3d10.jpg macros.inc
+ pdflatex dreieck3d10.tex
+
diff --git a/buch/papers/nav/images/common.inc b/buch/papers/nav/images/common.inc
index 2c0ae6e..7b861de 100644
--- a/buch/papers/nav/images/common.inc
+++ b/buch/papers/nav/images/common.inc
@@ -5,6 +5,7 @@
//
#version 3.7;
#include "colors.inc"
+#include "macros.inc"
global_settings {
assumed_gamma 1
@@ -12,12 +13,6 @@ global_settings {
#declare imagescale = 0.034;
-#declare O = <0, 0, 0>;
-#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>
@@ -26,7 +21,7 @@ camera {
}
light_source {
- <10, 10, -40> color White
+ <30, 10, -40> color White
area_light <1,0,0> <0,0,1>, 10, 10
adaptive 1
jitter
@@ -38,150 +33,3 @@ sky_sphere {
}
}
-//
-// 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, r)
- #declare n = vnormalize(w);
- #declare pp = vnormalize(p - vdot(n, p) * n);
- #declare qq = vnormalize(q - vdot(n, q) * n);
- intersection {
- sphere { O, 1 + staerke }
- cone { O, 0, 1.2 * vnormalize(w), r }
- 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
-
-#macro dreieck(p, q, r, farbe)
- #declare n1 = vnormalize(vcross(p, q));
- #declare n2 = vnormalize(vcross(q, r));
- #declare n3 = vnormalize(vcross(r, p));
- intersection {
- plane { n1, 0 }
- plane { n2, 0 }
- plane { n3, 0 }
- sphere { <0, 0, 0>, 1 + 0.001 }
- pigment {
- color farbe
- }
- finish {
- metallic
- specular 0.4
- }
- }
-#end
-
-#macro ebenerwinkel(a, p, q, s, r, farbe)
- #declare n = vnormalize(-vcross(p, q));
- #declare np = vnormalize(-vcross(p, n));
- #declare nq = -vnormalize(-vcross(q, n));
-// arrow(a, a + n, 0.02, White)
-// arrow(a, a + np, 0.01, Red)
-// arrow(a, a + nq, 0.01, Blue)
- intersection {
- cylinder { a - (s/2) * n, a + (s/2) * n, r }
- plane { np, vdot(np, a) }
- plane { nq, vdot(nq, a) }
- pigment {
- farbe
- }
- finish {
- metallic
- specular 0.5
- }
- }
-#end
-
-#macro komplement(a, p, q, s, r, farbe)
- #declare n = vnormalize(-vcross(p, q));
-// arrow(a, a + n, 0.015, Orange)
- #declare m = vnormalize(-vcross(q, n));
-// arrow(a, a + m, 0.015, Pink)
- ebenerwinkel(a, p, m, s, r, farbe)
-#end
-
-#declare fett = 0.015;
-#declare fein = 0.010;
-
-#declare klein = 0.3;
-#declare gross = 0.4;
-
-#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>;
-
-#declare kugelfarbe = rgb<0.8,0.8,0.8>;
-#declare kugeltransparent = rgbt<0.8,0.8,0.8,0.5>;
-
-#macro kugel(farbe)
-sphere {
- <0, 0, 0>, 1
- pigment {
- color farbe
- }
-}
-#end
-
diff --git a/buch/papers/nav/images/dreieck3d1.pdf b/buch/papers/nav/images/dreieck3d1.pdf
index 015bce7..fecaece 100644
--- a/buch/papers/nav/images/dreieck3d1.pdf
+++ b/buch/papers/nav/images/dreieck3d1.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d1.pov b/buch/papers/nav/images/dreieck3d1.pov
index e491075..336161c 100644
--- a/buch/papers/nav/images/dreieck3d1.pov
+++ b/buch/papers/nav/images/dreieck3d1.pov
@@ -3,8 +3,11 @@
//
// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
//
+#version 3.7;
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, B, fett)
seite(B, C, fett)
diff --git a/buch/papers/nav/images/dreieck3d2.pdf b/buch/papers/nav/images/dreieck3d2.pdf
index 6b3f09d..28af5fe 100644
--- a/buch/papers/nav/images/dreieck3d2.pdf
+++ b/buch/papers/nav/images/dreieck3d2.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d2.pov b/buch/papers/nav/images/dreieck3d2.pov
index c0625ce..9e57d22 100644
--- a/buch/papers/nav/images/dreieck3d2.pov
+++ b/buch/papers/nav/images/dreieck3d2.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, B, fett)
seite(B, C, fett)
diff --git a/buch/papers/nav/images/dreieck3d3.pdf b/buch/papers/nav/images/dreieck3d3.pdf
index 7d79455..4fc4fc1 100644
--- a/buch/papers/nav/images/dreieck3d3.pdf
+++ b/buch/papers/nav/images/dreieck3d3.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d3.pov b/buch/papers/nav/images/dreieck3d3.pov
index b6f64d5..bde780b 100644
--- a/buch/papers/nav/images/dreieck3d3.pov
+++ b/buch/papers/nav/images/dreieck3d3.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, B, fett)
seite(B, C, fett)
diff --git a/buch/papers/nav/images/dreieck3d4.pdf b/buch/papers/nav/images/dreieck3d4.pdf
index e1ea757..0d57fc2 100644
--- a/buch/papers/nav/images/dreieck3d4.pdf
+++ b/buch/papers/nav/images/dreieck3d4.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d4.pov b/buch/papers/nav/images/dreieck3d4.pov
index b6f17e3..08f266b 100644
--- a/buch/papers/nav/images/dreieck3d4.pov
+++ b/buch/papers/nav/images/dreieck3d4.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugelfarbe)
+
union {
seite(A, B, fein)
seite(A, C, fein)
diff --git a/buch/papers/nav/images/dreieck3d5.pdf b/buch/papers/nav/images/dreieck3d5.pdf
index 0c86d36..a5dd0ae 100644
--- a/buch/papers/nav/images/dreieck3d5.pdf
+++ b/buch/papers/nav/images/dreieck3d5.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d5.pov b/buch/papers/nav/images/dreieck3d5.pov
index 188f181..1aac0dc 100644
--- a/buch/papers/nav/images/dreieck3d5.pov
+++ b/buch/papers/nav/images/dreieck3d5.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, B, fein)
seite(A, C, fein)
diff --git a/buch/papers/nav/images/dreieck3d6.pov b/buch/papers/nav/images/dreieck3d6.pov
index 191a1e7..6bbd1a9 100644
--- a/buch/papers/nav/images/dreieck3d6.pov
+++ b/buch/papers/nav/images/dreieck3d6.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, B, fett)
seite(A, C, fett)
diff --git a/buch/papers/nav/images/dreieck3d7.pov b/buch/papers/nav/images/dreieck3d7.pov
index aae5c6c..45dc5d6 100644
--- a/buch/papers/nav/images/dreieck3d7.pov
+++ b/buch/papers/nav/images/dreieck3d7.pov
@@ -5,6 +5,8 @@
//
#include "common.inc"
+kugel(kugeldunkel)
+
union {
seite(A, C, fett)
seite(A, P, fett)
diff --git a/buch/papers/nav/images/dreieck3d8.jpg b/buch/papers/nav/images/dreieck3d8.jpg
index 52bd25e..f24ea33 100644
--- a/buch/papers/nav/images/dreieck3d8.jpg
+++ b/buch/papers/nav/images/dreieck3d8.jpg
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d8.pdf b/buch/papers/nav/images/dreieck3d8.pdf
index 9d630aa..da3b110 100644
--- a/buch/papers/nav/images/dreieck3d8.pdf
+++ b/buch/papers/nav/images/dreieck3d8.pdf
Binary files differ
diff --git a/buch/papers/nav/images/dreieck3d8.pov b/buch/papers/nav/images/dreieck3d8.pov
index 9e9921a..dae7f67 100644
--- a/buch/papers/nav/images/dreieck3d8.pov
+++ b/buch/papers/nav/images/dreieck3d8.pov
@@ -93,4 +93,5 @@ object {
dreieck(A, B, C, White)
+kugel(kugeldunkel)
diff --git a/buch/papers/nav/images/macros.inc b/buch/papers/nav/images/macros.inc
new file mode 100644
index 0000000..2def6fd
--- /dev/null
+++ b/buch/papers/nav/images/macros.inc
@@ -0,0 +1,343 @@
+//
+// macros.inc -- 3d Darstellung
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+//
+// Dimensions
+//
+#declare fett = 0.015;
+#declare fein = 0.010;
+
+#declare klein = 0.3;
+#declare gross = 0.4;
+
+//
+// colors
+//
+#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>;
+
+#declare bekannt = rgb<0.2,0.6,1>;
+#declare unbekannt = rgb<1.0,0.6,0.8>;
+
+#declare kugelfarbe = rgb<0.8,0.8,0.8>;
+#declare kugeldunkel = rgb<0.4,0.4,0.4>;
+#declare kugeltransparent = rgbt<0.8,0.8,0.8,0.5>;
+
+#declare gitterfarbe = rgb<0.2,0.6,1>;
+
+//
+// Points Points
+//
+#declare O = <0, 0, 0>;
+#declare Nordpol = vnormalize(< 0, 1, 0>);
+#declare A = vnormalize(< 0, 1, 0>);
+#declare B = vnormalize(< 1, 2, -8>);
+#declare C = vnormalize(< 5, 1, 0>);
+#declare P = vnormalize(< 5, -1, -7>);
+
+//
+// \brief convert spherical coordinates to recctangular coordinates
+//
+// \param phi
+// \param theta
+//
+#macro kugelpunkt(phi, theta)
+ < sin(theta) * cos(phi - pi), cos(theta), sin(theta) * sin(phi - pi) >
+#end
+
+#declare Sakura = kugelpunkt(radians(140.2325498), radians(90 - 35.71548014));
+#declare Deneb = kugelpunkt(radians(191.9397759), radians(90 - 45.361194));
+#declare Spica = kugelpunkt(radians(82.9868559), radians(90 - (-11.279666)));
+#declare Altair = kugelpunkt(radians(179.3616609), radians(90 - 8.928416));
+#declare Arktur = kugelpunkt(radians(95.5647759), radians(90 - 19.063222));
+
+//
+// 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
+
+#declare ntsteps = 100;
+
+//
+// \brief Draw a circle
+//
+// \param b1 basis vector for a coordinate system of the plane containing
+// the circle
+// \param b2 the other basis vector
+// \param o center of the circle
+// \param thick diameter of the circular tube
+//
+#macro kreis(b1, b2, o, thick, maxwinkel)
+ #declare tpstep = pi / ntsteps;
+ #declare tp = tpstep;
+ #declare p1 = b1 + o;
+ sphere { p1, thick }
+ #declare tpstep = pi/ntsteps;
+ #while (tp < (maxwinkel - tpstep/2))
+ #declare p2 = cos(tp) * b1 + sin(tp) * b2 + o;
+ cylinder { p1, p2, thick }
+ sphere { p2, thick }
+ #declare p1 = p2;
+ #declare tp = tp + tpstep;
+ #end
+ #if ((tp - tpstep) < maxwinkel)
+ #declare p2 = cos(maxwinkel) * b1 + sin(maxwinkel) * b2 + o;
+ cylinder { p1, p2, thick }
+ sphere { p2, thick }
+ #end
+#end
+
+//
+// \brief Draw a great circle
+//
+// \param normale the normal of the plane containing the great circle
+// \param thick diameter
+//
+#macro grosskreis(normale, thick)
+ #declare other = < normale.y, -normale.x, normale.z >;
+ #declare b1 = vnormalize(vcross(other, normale));
+ #declare b2 = vnormalize(vcross(normale, b1));
+ kreis(b1, b2, <0,0,0>, thick, 2*pi)
+#end
+
+//
+// \brief Draw a circle of latitude
+//
+// \param theta latitude
+// \param thick diameter
+//
+#macro breitenkreis(theta, thick)
+ #declare b1 = sin(theta) * kugelpunkt(0, pi/2);
+ #declare b2 = sin(theta) * kugelpunkt(pi/2, pi/2);
+ #declare o = < 0, cos(theta), 0 >;
+ kreis(b1, b2, o, thick, 2*pi)
+#end
+
+//
+// \brief Draw the great circle connecting the two points
+//
+// \param p first point
+// \param q second point
+// \param staerke diameter
+//
+
+#macro seite(p, q, staerke)
+ #declare s1 = vnormalize(p);
+ #declare s2 = vnormalize(q);
+ #declare w = acos(vdot(s1, s2));
+ #declare n = vnormalize(vcross(p, q));
+ #declare s2 = vnormalize(vcross(n, s1));
+ kreis(s1, s2, O, staerke, w)
+#end
+
+//
+// \brief Draw an angle
+//
+// \param w the edge where the angle is located
+// \param p point on the first leg
+// \param q point on the second leg
+// \param r diameter of the angle
+//
+#macro winkel(w, p, q, staerke, r)
+ #declare n = vnormalize(w);
+ #declare pp = vnormalize(p - vdot(n, p) * n);
+ #declare qq = vnormalize(q - vdot(n, q) * n);
+ intersection {
+ sphere { O, 1 + staerke }
+ cone { O, 0, 1.2 * vnormalize(w), r }
+ plane { -vcross(n, qq) * vdot(vcross(n, qq), pp), 0 }
+ plane { -vcross(n, pp) * vdot(vcross(n, pp), qq), 0 }
+ }
+#end
+
+//
+// \brief Draw a point on the sphere as a circle
+//
+// \param p the point
+// \param staerke the diameter of the point
+//
+#macro punkt(p, staerke)
+ sphere { p, 1.5 * staerke }
+#end
+
+//
+// \brief Draw a circle as a part of the differently colored cutout from
+// the sphere
+//
+// \param p first point of the triangle
+// \param q second point of the triangle
+// \param r third point of the triangle
+// \param farbe color
+//
+#macro dreieck(p, q, r, farbe)
+ #declare n1 = vnormalize(vcross(p, q));
+ #declare n2 = vnormalize(vcross(q, r));
+ #declare n3 = vnormalize(vcross(r, p));
+ intersection {
+ plane { n1, 0 }
+ plane { n2, 0 }
+ plane { n3, 0 }
+ sphere { <0, 0, 0>, 1 + 0.001 }
+ pigment {
+ color farbe
+ }
+ finish {
+ metallic
+ specular 0.4
+ }
+ }
+#end
+
+//
+// \brief
+//
+// \param a axis of the angle
+// \param p first leg
+// \param q second leg
+// \param s thickness of the angle disk
+// \param r radius of the angle disk
+// \param farbe color
+//
+#macro ebenerwinkel(a, p, q, s, r, farbe)
+ #declare n = vnormalize(-vcross(p, q));
+ #declare np = vnormalize(-vcross(p, n));
+ #declare nq = -vnormalize(-vcross(q, n));
+// arrow(a, a + n, 0.02, White)
+// arrow(a, a + np, 0.01, Red)
+// arrow(a, a + nq, 0.01, Blue)
+ intersection {
+ cylinder { a - (s/2) * n, a + (s/2) * n, r }
+ plane { np, vdot(np, a) }
+ plane { nq, vdot(nq, a) }
+ pigment {
+ farbe
+ }
+ finish {
+ metallic
+ specular 0.5
+ }
+ }
+#end
+
+//
+// \brief Show the complement angle
+//
+//
+#macro komplement(a, p, q, s, r, farbe)
+ #declare n = vnormalize(-vcross(p, q));
+// arrow(a, a + n, 0.015, Orange)
+ #declare m = vnormalize(-vcross(q, n));
+// arrow(a, a + m, 0.015, Pink)
+ ebenerwinkel(a, p, m, s, r, farbe)
+#end
+
+//
+// \brief Show a coordinate grid on the sphere
+//
+// \param farbe the color of the grid
+// \param thick the line thickness
+//
+#macro koordinatennetz(farbe, netzschritte, thick)
+union {
+ // circles of latitude
+ #declare theta = pi/(2*netzschritte);
+ #declare thetastep = pi/(2*netzschritte);
+ #while (theta < pi - thetastep/2)
+ breitenkreis(theta, thick)
+ #declare theta = theta + thetastep;
+ #end
+ // cirles of longitude
+ #declare phi = 0;
+ #declare phistep = pi/(2*netzschritte);
+ #while (phi < pi-phistep/2)
+ grosskreis(kugelpunkt(phi, pi/2), thick)
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+//
+// \brief Display a color of given color
+//
+// \param farbe the color
+//
+#macro kugel(farbe)
+sphere {
+ <0, 0, 0>, 1
+ pigment {
+ color farbe
+ }
+}
+#end
+
+//
+// \brief Display the earth
+//
+#macro erde()
+sphere {
+ <0, 0, 0>, 1
+ pigment {
+ image_map {
+ png "2k_earth_daymap.png" gamma 1.0
+ map_type 1
+ }
+ }
+}
+#end
+
+//
+// achse
+//
+#macro achse(durchmesser, farbe)
+ cylinder {
+ < 0, -1.2, 0 >, <0, 1.2, 0 >, durchmesser
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
diff --git a/buch/papers/nav/images/position/Makefile b/buch/papers/nav/images/position/Makefile
new file mode 100644
index 0000000..280e59c
--- /dev/null
+++ b/buch/papers/nav/images/position/Makefile
@@ -0,0 +1,54 @@
+#
+# Makefile to build images
+#
+# (c) 2022
+#
+all: position
+
+POSITION = \
+ position1.pdf \
+ position2.pdf \
+ position3.pdf \
+ position4.pdf \
+ position5.pdf
+
+position: $(POSITION)
+
+POVRAYOPTIONS = -W1080 -H1080
+#POVRAYOPTIONS = -W480 -H480
+
+position1.png: position1.pov common.inc ../macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Oposition1.png position1.pov
+position1.jpg: position1.png
+ convert position1.png -density 300 -units PixelsPerInch position1.jpg
+position1.pdf: position1.tex common.tex position1.jpg
+ pdflatex position1.tex
+
+position2.png: position2.pov common.inc ../macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Oposition2.png position2.pov
+position2.jpg: position2.png
+ convert position2.png -density 300 -units PixelsPerInch position2.jpg
+position2.pdf: position2.tex common.tex position2.jpg
+ pdflatex position2.tex
+
+position3.png: position3.pov common.inc ../macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Oposition3.png position3.pov
+position3.jpg: position3.png
+ convert position3.png -density 300 -units PixelsPerInch position3.jpg
+position3.pdf: position3.tex common.tex position3.jpg
+ pdflatex position3.tex
+
+position4.png: position4.pov common.inc ../macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Oposition4.png position4.pov
+position4.jpg: position4.png
+ convert position4.png -density 300 -units PixelsPerInch position4.jpg
+position4.pdf: position4.tex common.tex position4.jpg
+ pdflatex position4.tex
+
+position5.png: position5.pov common.inc ../macros.inc
+ povray +A0.1 $(POVRAYOPTIONS) -Oposition5.png position5.pov
+position5.jpg: position5.png
+ convert position5.png -density 300 -units PixelsPerInch position5.jpg
+position5.pdf: position5.tex common.tex position5.jpg
+ pdflatex position5.tex
+
diff --git a/buch/papers/nav/images/position/common.inc b/buch/papers/nav/images/position/common.inc
new file mode 100644
index 0000000..b50b8d6
--- /dev/null
+++ b/buch/papers/nav/images/position/common.inc
@@ -0,0 +1,37 @@
+//
+// common.inc -- 3d Darstellung
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+#include "../macros.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.034;
+
+camera {
+ location <40, 20, -20>
+ look_at <0, 0.24, -0.20>
+ right x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <30, 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>
+ }
+}
+
+kugel(kugeldunkel)
+achse(fein, White)
diff --git a/buch/papers/nav/images/position/common.tex b/buch/papers/nav/images/position/common.tex
new file mode 100644
index 0000000..d72a981
--- /dev/null
+++ b/buch/papers/nav/images/position/common.tex
@@ -0,0 +1,32 @@
+%
+% common.tex
+%
+% (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+
+\def\labelA{\node at (0.7,3.8) {$A$};}
+\def\labelB{\node at (-3.4,-0.8) {$B$};}
+\def\labelC{\node at (3.3,-2.1) {$C$};}
+\def\labelP{\node at (-1.4,-3.5) {$P$};}
+
+\def\labelc{\node at (-1.9,2.1) {$c$};}
+\def\labela{\node at (-0.2,-1.2) {$a$};}
+\def\labelb{\node at (2.6,1.5) {$b$};}
+
+\def\labelhb{\node at (-2.6,-2.2) {$h_b$};}
+\def\labelhc{\node at (1,-2.9) {$h_c$};}
+\def\labell{\node at (-0.7,0.3) {$l$};}
+
+\def\labelalpha{\node at (0.6,2.85) {$\alpha$};}
+\def\labelbeta{\node at (-2.5,-0.5) {$\beta$};}
+\def\labelgamma{\node at (2.3,-1.2) {$\gamma$};}
+\def\labelomega{\node at (0.85,3.3) {$\omega$};}
+
+\def\labelgammaone{\node at (2.1,-2.0) {$\gamma_1$};}
+\def\labelgammatwo{\node at (2.3,-1.3) {$\gamma_2$};}
+\def\labelbetaone{\node at (-2.4,-1.4) {$\beta_1$};}
+\def\labelbetatwo{\node at (-2.5,-0.8) {$\beta_2$};}
+
+\def\labelomegalinks{\node at (0.25,3.25) {$\omega$};}
+\def\labelomegarechts{\node at (0.85,3.1) {$\omega$};}
+
diff --git a/buch/papers/nav/images/position/position1.pdf b/buch/papers/nav/images/position/position1.pdf
new file mode 100644
index 0000000..1bd9a69
--- /dev/null
+++ b/buch/papers/nav/images/position/position1.pdf
Binary files differ
diff --git a/buch/papers/nav/images/position/position1.pov b/buch/papers/nav/images/position/position1.pov
new file mode 100644
index 0000000..a79a9f1
--- /dev/null
+++ b/buch/papers/nav/images/position/position1.pov
@@ -0,0 +1,71 @@
+//
+// position1.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "common.inc"
+
+union {
+ seite(B, C, fett)
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(A, P, fett)
+ pigment {
+ color rot
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+
+union {
+ seite(A, B, fett)
+ seite(A, C, fett)
+ seite(B, P, fett)
+ seite(C, P, fett)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, B, C, fein, gross)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, P, C, fett, klein)
+ pigment {
+ color rot
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/position/position1.tex b/buch/papers/nav/images/position/position1.tex
new file mode 100644
index 0000000..d6c21c3
--- /dev/null
+++ b/buch/papers/nav/images/position/position1.tex
@@ -0,0 +1,55 @@
+%
+% 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}
+
+\input{common.tex}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{position1.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];
+}{}
+
+\labelA
+\labelB
+\labelC
+\labelP
+
+\labelc
+\labela
+\labelb
+\labell
+
+\labelhb
+\labelhc
+
+\labelalpha
+\labelomega
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/position/position2.pdf b/buch/papers/nav/images/position/position2.pdf
new file mode 100644
index 0000000..6015ba1
--- /dev/null
+++ b/buch/papers/nav/images/position/position2.pdf
Binary files differ
diff --git a/buch/papers/nav/images/position/position2.pov b/buch/papers/nav/images/position/position2.pov
new file mode 100644
index 0000000..2abcd94
--- /dev/null
+++ b/buch/papers/nav/images/position/position2.pov
@@ -0,0 +1,70 @@
+//
+// position3.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "common.inc"
+
+dreieck(A, B, C, kugelfarbe)
+
+union {
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(C, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(A, B, fett)
+ seite(A, C, fett)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(B, C, fett)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, B, C, fein, gross)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ winkel(B, C, A, fein, gross)
+ winkel(C, A, B, fein, gross)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+
diff --git a/buch/papers/nav/images/position/position2.tex b/buch/papers/nav/images/position/position2.tex
new file mode 100644
index 0000000..339592c
--- /dev/null
+++ b/buch/papers/nav/images/position/position2.tex
@@ -0,0 +1,53 @@
+%
+% position2.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}
+
+\input{common.tex}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{position2.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];
+}{}
+
+\labelA
+\labelB
+\labelC
+
+\labelc
+\labela
+\labelb
+
+\begin{scope}[yshift=0.3cm,xshift=0.1cm]
+\labelalpha
+\end{scope}
+\labelbeta
+\labelgamma
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/position/position3.pdf b/buch/papers/nav/images/position/position3.pdf
new file mode 100644
index 0000000..dea8c28
--- /dev/null
+++ b/buch/papers/nav/images/position/position3.pdf
Binary files differ
diff --git a/buch/papers/nav/images/position/position3.pov b/buch/papers/nav/images/position/position3.pov
new file mode 100644
index 0000000..f6823eb
--- /dev/null
+++ b/buch/papers/nav/images/position/position3.pov
@@ -0,0 +1,48 @@
+//
+// position3.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "common.inc"
+
+dreieck(B, P, C, kugelfarbe)
+
+union {
+ punkt(B, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(B, C, fett)
+ seite(B, P, fett)
+ seite(C, P, fett)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ winkel(B, P, C, fein, gross)
+ winkel(C, B, P, fein, gross)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/position/position3.tex b/buch/papers/nav/images/position/position3.tex
new file mode 100644
index 0000000..d5480da
--- /dev/null
+++ b/buch/papers/nav/images/position/position3.tex
@@ -0,0 +1,51 @@
+%
+% 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}
+
+\input{common.tex}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{position3.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];
+}{}
+
+\labelB
+\labelC
+\labelP
+
+\labela
+
+\labelhb
+\labelhc
+
+\labelbetaone
+\labelgammaone
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/position/position4.pdf b/buch/papers/nav/images/position/position4.pdf
new file mode 100644
index 0000000..59cd05c
--- /dev/null
+++ b/buch/papers/nav/images/position/position4.pdf
Binary files differ
diff --git a/buch/papers/nav/images/position/position4.pov b/buch/papers/nav/images/position/position4.pov
new file mode 100644
index 0000000..80628f9
--- /dev/null
+++ b/buch/papers/nav/images/position/position4.pov
@@ -0,0 +1,69 @@
+//
+// position4.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "common.inc"
+
+dreieck(A, B, P, kugelfarbe)
+
+union {
+ punkt(A, fett)
+ punkt(B, fett)
+ punkt(P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(A, P, fett)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+
+union {
+ seite(A, B, fett)
+ seite(B, P, fett)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(B, P, A, fein, gross)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, B, P, fein, gross)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/position/position4.tex b/buch/papers/nav/images/position/position4.tex
new file mode 100644
index 0000000..27c1757
--- /dev/null
+++ b/buch/papers/nav/images/position/position4.tex
@@ -0,0 +1,50 @@
+%
+% position4.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}
+
+\input{common.tex}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{position4.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];
+}{}
+
+\labelA
+\labelB
+\labelP
+
+\labelc
+\labell
+\labelhb
+
+\labelomegalinks
+\labelbetatwo
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/papers/nav/images/position/position5.pdf b/buch/papers/nav/images/position/position5.pdf
new file mode 100644
index 0000000..5960392
--- /dev/null
+++ b/buch/papers/nav/images/position/position5.pdf
Binary files differ
diff --git a/buch/papers/nav/images/position/position5.pov b/buch/papers/nav/images/position/position5.pov
new file mode 100644
index 0000000..7ed33c5
--- /dev/null
+++ b/buch/papers/nav/images/position/position5.pov
@@ -0,0 +1,69 @@
+//
+// position5.pov
+//
+// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "common.inc"
+
+dreieck(A, P, C, kugelfarbe)
+
+union {
+ punkt(A, fett)
+ punkt(C, fett)
+ punkt(P, fett)
+ pigment {
+ color dreieckfarbe
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+union {
+ seite(A, P, fett)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+
+union {
+ seite(A, C, fett)
+ seite(C, P, fett)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(C, P, A, fein, gross)
+ pigment {
+ color bekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
+object {
+ winkel(A, C, P, fein, gross)
+ pigment {
+ color unbekannt
+ }
+ finish {
+ specular 0.95
+ metallic
+ }
+}
+
diff --git a/buch/papers/nav/images/position/position5.tex b/buch/papers/nav/images/position/position5.tex
new file mode 100644
index 0000000..b234429
--- /dev/null
+++ b/buch/papers/nav/images/position/position5.tex
@@ -0,0 +1,50 @@
+%
+% position5.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}
+
+\input{common.tex}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{4}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{position5.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];
+}{}
+
+\labelA
+\labelC
+\labelP
+
+\labelb
+\labell
+\labelhc
+
+\labelomegarechts
+\labelgammatwo
+
+\end{tikzpicture}
+
+\end{document}
+