diff options
Diffstat (limited to 'buch/papers')
76 files changed, 2422 insertions, 413 deletions
diff --git a/buch/papers/fresnel/Makefile b/buch/papers/fresnel/Makefile index 11af3a7..ed74861 100644 --- a/buch/papers/fresnel/Makefile +++ b/buch/papers/fresnel/Makefile @@ -3,20 +3,6 @@ # # (c) 2022 Prof Dr Andreas Mueller # -all: fresnelgraph.pdf eulerspirale.pdf pfad.pdf - images: @echo "no images to be created in fresnel" -eulerpath.tex: eulerspirale.m - octave eulerspirale.m - -fresnelgraph.pdf: fresnelgraph.tex eulerpath.tex - pdflatex fresnelgraph.tex - -eulerspirale.pdf: eulerspirale.tex eulerpath.tex - pdflatex eulerspirale.tex - -pfad.pdf: pfad.tex - pdflatex pfad.tex - diff --git a/buch/papers/fresnel/images/Makefile b/buch/papers/fresnel/images/Makefile new file mode 100644 index 0000000..eb7dc57 --- /dev/null +++ b/buch/papers/fresnel/images/Makefile @@ -0,0 +1,38 @@ +# +# Makefile +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: schale.pdf \ + fresnelgraph.pdf \ + eulerspirale.pdf \ + pfad.pdf \ + apfel.pdf \ + kruemmung.pdf + +schale.png: schale.pov + povray +A0.1 -W1920 -H1080 -Oschale.png schale.pov + +schale.jpg: schale.png Makefile + convert -extract 1240x1080+340 schale.png -density 300 -units PixelsPerInch schale.jpg + +schale.pdf: schale.tex schale.jpg + pdflatex schale.tex + +eulerpath.tex: eulerspirale.m + octave eulerspirale.m + +fresnelgraph.pdf: fresnelgraph.tex eulerpath.tex + pdflatex fresnelgraph.tex + +eulerspirale.pdf: eulerspirale.tex eulerpath.tex + pdflatex eulerspirale.tex + +pfad.pdf: pfad.tex + pdflatex pfad.tex + +apfel.pdf: apfel.tex apfel.jpg eulerpath.tex + pdflatex apfel.tex + +kruemmung.pdf: kruemmung.tex + pdflatex kruemmung.tex diff --git a/buch/papers/fresnel/images/apfel.jpg b/buch/papers/fresnel/images/apfel.jpg Binary files differnew file mode 100644 index 0000000..76e48e7 --- /dev/null +++ b/buch/papers/fresnel/images/apfel.jpg diff --git a/buch/papers/fresnel/images/apfel.pdf b/buch/papers/fresnel/images/apfel.pdf Binary files differnew file mode 100644 index 0000000..69e5092 --- /dev/null +++ b/buch/papers/fresnel/images/apfel.pdf diff --git a/buch/papers/fresnel/images/apfel.tex b/buch/papers/fresnel/images/apfel.tex new file mode 100644 index 0000000..754886b --- /dev/null +++ b/buch/papers/fresnel/images/apfel.tex @@ -0,0 +1,49 @@ +% +% apfel.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{7} +\def\hoehe{4} + +\input{eulerpath.tex} + +\begin{tikzpicture}[>=latex,thick] + +% Povray Bild +\begin{scope} +\clip(-0.6,-0.6) rectangle (7,6); +\node at (3.1,2.2) [rotate=-3] {\includegraphics[width=9.4cm]{apfel.jpg}}; +\end{scope} + +% 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]; +}{} + +\draw[color=gray!50] (0,0) rectangle (4,4); +\draw[->] (-0.5,0) -- (7.5,0) coordinate[label={$C(t)$}]; +\draw[->] (0,-0.5) -- (0,6.0) coordinate[label={left:$S(t)$}]; +\begin{scope}[scale=8] +\draw[color=red,opacity=0.5,line width=1.4pt] \fresnela; +\end{scope} + +\end{tikzpicture} + +\end{document} + diff --git a/buch/papers/fresnel/eulerspirale.m b/buch/papers/fresnel/images/eulerspirale.m index 84e3696..84e3696 100644 --- a/buch/papers/fresnel/eulerspirale.m +++ b/buch/papers/fresnel/images/eulerspirale.m diff --git a/buch/papers/fresnel/eulerspirale.pdf b/buch/papers/fresnel/images/eulerspirale.pdf Binary files differindex 4a85a50..db74e4b 100644 --- a/buch/papers/fresnel/eulerspirale.pdf +++ b/buch/papers/fresnel/images/eulerspirale.pdf diff --git a/buch/papers/fresnel/eulerspirale.tex b/buch/papers/fresnel/images/eulerspirale.tex index 38ef756..38ef756 100644 --- a/buch/papers/fresnel/eulerspirale.tex +++ b/buch/papers/fresnel/images/eulerspirale.tex diff --git a/buch/papers/fresnel/fresnelgraph.pdf b/buch/papers/fresnel/images/fresnelgraph.pdf Binary files differindex 9ccad56..c658901 100644 --- a/buch/papers/fresnel/fresnelgraph.pdf +++ b/buch/papers/fresnel/images/fresnelgraph.pdf diff --git a/buch/papers/fresnel/fresnelgraph.tex b/buch/papers/fresnel/images/fresnelgraph.tex index 20df951..20df951 100644 --- a/buch/papers/fresnel/fresnelgraph.tex +++ b/buch/papers/fresnel/images/fresnelgraph.tex diff --git a/buch/papers/fresnel/images/kruemmung.pdf b/buch/papers/fresnel/images/kruemmung.pdf Binary files differnew file mode 100644 index 0000000..1180116 --- /dev/null +++ b/buch/papers/fresnel/images/kruemmung.pdf diff --git a/buch/papers/fresnel/images/kruemmung.tex b/buch/papers/fresnel/images/kruemmung.tex new file mode 100644 index 0000000..af0a1a9 --- /dev/null +++ b/buch/papers/fresnel/images/kruemmung.tex @@ -0,0 +1,51 @@ +% +% kruemmung.tex -- Krümmung einer ebenen Kurve +% +% (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} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope} +\clip (-1,-1) rectangle (4,4); + +\def\r{3} +\def\winkel{30} + +\fill[color=blue!20] (0,0) -- (0:{0.6*\r}) arc (0:\winkel:{0.6*\r}) -- cycle; +\fill[color=blue!20] (\winkel:\r) + -- ($(\winkel:\r)+(0,{0.6*\r})$) arc (90:{90+\winkel}:{0.6*\r}) -- cycle; +\node[color=blue] at ({0.5*\winkel}:{0.45*\r}) {$\Delta\varphi$}; + +\node[color=blue] at ($(\winkel:\r)+({90+0.5*\winkel}:{0.45*\r})$) + {$\Delta\varphi$}; + +\draw[line width=0.3pt] (0,0) circle[radius=\r]; + +\draw[->] (0,0) -- (0:\r); +\draw[->] (0,0) -- (\winkel:\r); + +\draw[->] (0:\r) -- ($(0:\r)+(90:0.7*\r)$); +\draw[->] (\winkel:\r) -- ($(\winkel:\r)+({90+\winkel}:0.7*\r)$); +\draw[->,color=gray] (\winkel:\r) -- ($(\winkel:\r)+(0,0.7*\r)$); + +\draw[color=red,line width=1.4pt] (0:\r) arc (0:\winkel:\r); +\node[color=red] at ({0.5*\winkel}:\r) [left] {$\Delta s$}; +\fill[color=red] (0:\r) circle[radius=0.05]; +\fill[color=red] (\winkel:\r) circle[radius=0.05]; + +\node at (\winkel:{0.5*\r}) [above] {$r$}; +\node at (0:{0.5*\r}) [below] {$r$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/papers/fresnel/pfad.pdf b/buch/papers/fresnel/images/pfad.pdf Binary files differindex ff514cc..df3c7af 100644 --- a/buch/papers/fresnel/pfad.pdf +++ b/buch/papers/fresnel/images/pfad.pdf diff --git a/buch/papers/fresnel/pfad.tex b/buch/papers/fresnel/images/pfad.tex index 5439a71..680cd78 100644 --- a/buch/papers/fresnel/pfad.tex +++ b/buch/papers/fresnel/images/pfad.tex @@ -15,6 +15,9 @@ \definecolor{darkgreen}{rgb}{0,0.6,0} \begin{tikzpicture}[>=latex,thick,scale=\skala] +\fill[color=gray!40] (0,0) -- (2,0) arc (0:45:2) -- cycle; +\node at (22.5:1.4) {$\displaystyle\frac{\pi}4$}; + \draw[->] (-1,0) -- (9,0) coordinate[label={$\operatorname{Re}$}]; \draw[->] (0,-1) -- (0,6) coordinate[label={left:$\operatorname{Im}$}]; diff --git a/buch/papers/fresnel/images/schale.pdf b/buch/papers/fresnel/images/schale.pdf Binary files differnew file mode 100644 index 0000000..9c21951 --- /dev/null +++ b/buch/papers/fresnel/images/schale.pdf diff --git a/buch/papers/fresnel/images/schale.pov b/buch/papers/fresnel/images/schale.pov new file mode 100644 index 0000000..085a6a4 --- /dev/null +++ b/buch/papers/fresnel/images/schale.pov @@ -0,0 +1,191 @@ +// +// schale.pov -- +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +#declare O = <0,0,0>; + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.036; + +camera { + location <40, 20, -20> + look_at <0, 0.5, 0> + right 16/9 * 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> + } +} + +sphere { + <0, 0, 0>, 1 + pigment { + color rgb<0.8,0.8,0.8> + } + finish { + specular 0.95 + metallic + } +} + +#declare stripcolor = rgb<0.2,0.2,0.8>; + +#declare R = 1.002; + +#macro punkt(phi,theta) +R * < cos(phi) * cos(theta), sin(theta), sin(phi) * cos(theta) > +#end + +#declare N = 24; +#declare thetaphi = 0.01; +#declare thetawidth = pi * 0.008; +#declare theta = function(phi) { phi * thetaphi } + +#declare axisdiameter = 0.007; + +cylinder { + < 0, -2, 0>, < 0, 2, 0>, axisdiameter + pigment { + color White + } + finish { + specular 0.95 + metallic + } +} + +#declare curvaturecircle = 0.008; +#declare curvaturecirclecolor = rgb<0.4,0.8,0.4>; + +#declare phit = 12.8 * 2 * pi; +#declare P = punkt(phit, theta(phit)); +#declare Q = <0, R / sin(theta(phit)), 0>; + +#declare e1 = vnormalize(P - Q) / tan(theta(phit)); +#declare e2 = vnormalize(vcross(e1, <0,1,0>)) / tan(theta(phit)); +#declare psimin = -0.1 * pi; +#declare psimax = 0.1 * pi; +#declare psistep = (psimax - psimin) / 30; + +union { + #declare psi = psimin; + #declare K = Q + cos(psi) * e1 + sin(psi) * e2; + #while (psi < psimax - psistep/2) + sphere { K, curvaturecircle } + #declare psi = psi + psistep; + #declare K2 = Q + cos(psi) * e1 + sin(psi) * e2; + cylinder { K, K2, curvaturecircle } + #declare K = K2; + #end + sphere { K, curvaturecircle } + pigment { + color curvaturecirclecolor + } + finish { + specular 0.95 + metallic + } +} + +object { + mesh { + #declare psi = psimin; + #declare K = Q + cos(psi) * e1 + sin(psi) * e2; + #while (psi < psimax - psistep/2) + #declare psi = psi + psistep; + #declare K2 = Q + cos(psi) * e1 + sin(psi) * e2; + triangle { K, K2, Q } + #declare K = K2; + #end + } + pigment { + color rgbt<0.4,0.8,0.4,0.5> + } + finish { + specular 0.95 + metallic + } +} + +union { + sphere { P, 0.02 } + sphere { Q, 0.02 } + cylinder { P, Q, 0.01 } + pigment { + color Red + } + finish { + specular 0.95 + metallic + } +} + +#declare phisteps = 300; +#declare phistep = 2 * pi / phisteps; +#declare phimin = 0; +#declare phimax = N * 2 * pi; + +object { + mesh { + #declare phi = phimin; + #declare Poben = punkt(phi, theta(phi) + thetawidth); + #declare Punten = punkt(phi, theta(phi) - thetawidth); + triangle { O, Punten, Poben } + #while (phi < phimax - phistep/2) + #declare phi = phi + phistep; + #declare Poben2 = punkt(phi, theta(phi) + thetawidth); + #declare Punten2 = punkt(phi, theta(phi) - thetawidth); + triangle { O, Punten, Punten2 } + triangle { O, Poben, Poben2 } + triangle { Punten, Punten2, Poben } + triangle { Punten2, Poben2, Poben } + #declare Poben = Poben2; + #declare Punten = Punten2; + #end + triangle { O, Punten, Poben } + } + pigment { + color stripcolor + } + finish { + specular 0.8 + metallic + } +} + +union { + #declare phi = phimin; + #declare P = punkt(phi, theta(phi)); + #while (phi < phimax - phistep/2) + sphere { P, 0.003 } + #declare phi = phi + phistep; + #declare P2 = punkt(phi, theta(phi)); + cylinder { P, P2, 0.003 } + #declare P = P2; + #end + sphere { P, 0.003 } + pigment { + color stripcolor + } + finish { + specular 0.8 + metallic + } +} diff --git a/buch/papers/fresnel/images/schale.tex b/buch/papers/fresnel/images/schale.tex new file mode 100644 index 0000000..577ede4 --- /dev/null +++ b/buch/papers/fresnel/images/schale.tex @@ -0,0 +1,77 @@ +% +% schlange.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,calc} +\usepackage{ifthen} +\begin{document} + +\newboolean{showgrid} +\setboolean{showgrid}{false} +\def\breite{4} +\def\hoehe{4} +\def\a{47} +\def\r{3.3} +\def\skala{0.95} + +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\begin{scope}[xshift=-7.4cm,yshift=-1.2cm] + \clip (-3.6,-2.2) rectangle (3.6,5.1); + + \fill[color=blue!20] (0,0) + -- ({180-\a}:{0.4*\r}) arc ({180-\a}:180:{0.4*\r}) + -- cycle; + \node[color=blue] at ({180-\a/2}:{0.3*\r}) {$\vartheta$}; + + \fill[color=blue!20] (0,{\r/sin(\a)}) + -- ($(0,{\r/sin(\a)})+({270-\a}:{0.3*\r})$) + arc ({270-\a}:270:{0.3*\r}) + -- cycle; + \node[color=blue] at ($(0,{\r/sin(\a)})+({270-\a/2}:{0.2*\r})$) + {$\vartheta$}; + + + \draw (0,0) circle[radius=\r]; + \draw[->] (0,-3.0) -- (0,5); + \draw ({-\r-0.2},0) -- ({\r+0.2},0); + \fill (0,0) circle[radius=0.06]; + + \draw (0,0) -- ({180-\a}:\r); + \node at ({180-\a+3}:{0.65*\r}) [above right] {$1$}; + + \draw[color=red,line width=1.4pt] + ({180-\a}:\r) -- (0,{\r/cos(90-\a)}); + \fill[color=red] ({180-\a}:\r) circle[radius=0.08]; + \fill[color=red] (0,{\r/cos(90-\a)}) circle[radius=0.08]; + \node[color=red] at (-1.0,3.7) [left] {$r=\cot\vartheta$}; + \node[color=red] at ({180-\a}:\r) [above left] {$P$}; + \node[color=red] at (0,{\r/sin(\a)}) [right] {$Q$}; +\end{scope} + +% Povray Bild +\node at (0,0) {\includegraphics[width=7.6cm]{schale.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[color=red] at (-1.4,1.4) {$r$}; +\node[color=red] at (-2.2,-0.2) {$P$}; +\node[color=red] at (0,3.3) [right] {$Q$}; + +\end{tikzpicture} + +\end{document} + diff --git a/buch/papers/fresnel/main.tex b/buch/papers/fresnel/main.tex index e6ee3b5..2050fd4 100644 --- a/buch/papers/fresnel/main.tex +++ b/buch/papers/fresnel/main.tex @@ -8,6 +8,11 @@ \begin{refsection} \chapterauthor{Andreas Müller} +{\parindent0pt Die} Fresnel-Integrale tauchen in der Untersuchung der Beugung +in paraxialer Näherung auf, auch bekannt als die Fresnel-Approximation. +In diesem Kapitel betrachen wir jedoch nur die geometrische +Anwendung der Fresnel-Integrale als Parametrisierung der Euler-Spirale +und zeigen, dass letztere eine Klothoide ist. \input{papers/fresnel/teil0.tex} \input{papers/fresnel/teil1.tex} diff --git a/buch/papers/fresnel/references.bib b/buch/papers/fresnel/references.bib index 58e9242..cf8fb21 100644 --- a/buch/papers/fresnel/references.bib +++ b/buch/papers/fresnel/references.bib @@ -44,3 +44,9 @@ title = { Fresnel Integral }, date = { 2022-05-13 } } + +@online{fresnel:schale, + url = { https://www.youtube.com/watch?v=D3tdW9l1690 }, + title = { A Strange Map Projection (Euler Spiral) - Numberphile }, + date = { 2022-05-14 } +} diff --git a/buch/papers/fresnel/teil0.tex b/buch/papers/fresnel/teil0.tex index 253e2f3..85b8bf7 100644 --- a/buch/papers/fresnel/teil0.tex +++ b/buch/papers/fresnel/teil0.tex @@ -20,7 +20,7 @@ C(x) &= \int_0^x \cos\biggl(\frac{\pi}2 t^2\biggr)\,dt \\ S(x) &= \int_0^x \sin\biggl(\frac{\pi}2 t^2\biggr)\,dt \end{align*} -heissen die Fesnel-Integrale. +heissen die Fresnel-Integrale. \end{definition} Der Faktor $\frac{\pi}2$ ist einigermassen willkürlich, man könnte @@ -39,7 +39,7 @@ C(x) &= C_{\frac{\pi}2}(x), S(x) &= S_{\frac{\pi}2}(x). \end{aligned} \] -Durch eine Substution $t=bs$ erhält man +Durch eine Substitution $t=bs$ erhält man \begin{align*} C_a(x) &= @@ -91,7 +91,7 @@ $C_1(x)$ und $S_1(x)$ betrachten, da in diesem Fall die Formeln einfacher werden. \begin{figure} \centering -\includegraphics{papers/fresnel/fresnelgraph.pdf} +\includegraphics{papers/fresnel/images/fresnelgraph.pdf} \caption{Graph der Funktionen $C(x)$ ({\color{red}rot}) und $S(x)$ ({\color{blue}blau}) \label{fresnel:figure:plot}} diff --git a/buch/papers/fresnel/teil1.tex b/buch/papers/fresnel/teil1.tex index a41ddb7..c716cd7 100644 --- a/buch/papers/fresnel/teil1.tex +++ b/buch/papers/fresnel/teil1.tex @@ -8,7 +8,7 @@ \rhead{Euler-Spirale} \begin{figure} \centering -\includegraphics{papers/fresnel/eulerspirale.pdf} +\includegraphics{papers/fresnel/images/eulerspirale.pdf} \caption{Die Eulerspirale ist die Kurve mit der Parameterdarstellung $x\mapsto (C(x),S(x))$, sie ist rot dargestellt. Sie windet sich unendlich oft um die beiden Punkte $(\pm\frac12,\pm\frac12)$. @@ -25,7 +25,7 @@ $(\pm\frac12,\pm\frac12)$ zu winden. \begin{figure} \centering -\includegraphics{papers/fresnel/pfad.pdf} +\includegraphics{papers/fresnel/images/pfad.pdf} \caption{Pfad zur Berechnung der Grenzwerte $C_1(\infty)$ und $S_1(\infty)$ mit Hilfe des Cauchy-Integralsatzes \label{fresnel:figure:pfad}} @@ -182,7 +182,7 @@ muss, folgt $C_1(\infty)=S_1(\infty)$. Nach Multlikation mit $\sqrt{2}$ folgt aus der Tatsache, dass auch der Realteil verschwinden muss \[ -\frac{\sqrt{\pi}}{\sqrt{2}} = C_1(\infty)+S_1(\infty) +\sqrt{\frac{\pi}{2}} = C_1(\infty)+S_1(\infty) \qquad \Rightarrow \qquad @@ -190,7 +190,10 @@ C_1(\infty) = S_1(\infty) = -\frac{\sqrt{\pi}}{2\sqrt{2}}. +\frac12 +\sqrt{ +\frac{\pi}{2} +}. \] Aus \eqref{fresnel:equation:arg} diff --git a/buch/papers/fresnel/teil2.tex b/buch/papers/fresnel/teil2.tex index 22d2a89..ec8c896 100644 --- a/buch/papers/fresnel/teil2.tex +++ b/buch/papers/fresnel/teil2.tex @@ -15,10 +15,165 @@ Eine ebene Kurve, deren Krümmung proportionale zur Kurvenlänge ist, heisst {\em Klothoide}. \end{definition} -Die Klothoide wird zum Beispiel im Strassenbau bei Autobahnkurven -angewendet. -Fährt man mit konstanter Geschwindigkeit mit entlang einer Klothoide, +Die Klothoide wird zum Beispiel im Strassenbau für Autobahnkurven +verwendet. +Fährt man mit konstanter Geschwindigkeit entlang einer Klothoide, muss man die Krümmung mit konstaner Geschwindigkeit ändern, also das Lenkrad mit konstanter Geschwindigkeit drehen. Dies ermöglicht eine ruhige Fahrweise. +\subsection{Krümmung einer ebenen Kurve} +\begin{figure} +\centering +\includegraphics{papers/fresnel/images/kruemmung.pdf} +\caption{Berechnung der Krümmung einer ebenen Kurve. +\label{fresnel:figure:kruemmung}} +\end{figure} +Abbildung~\ref{fresnel:figure:kruemmung} erinnert daran, dass der +Bogen eines Kreises vom Radius $r$, entlang dem sich die Richtung +der Tangente um $\Delta\varphi$ ändert, die Länge +$\Delta s = r\Delta\varphi$. +Die Krümmung ist der Kehrwert des Krümmungsradius, daraus kann +man ablesen, dass +\[ +\kappa = \frac{1}{r} = \frac{\Delta \varphi}{\Delta s}. +\] +Für eine beliebige ebene Kurve ist daher die Krümmung +\[ +\kappa = \frac{d\varphi}{ds}. +\] + +\subsection{Krümmung der Euler-Spirale} +Wir betrachten jetzt die Euler-Spirale mit der Parametrisierung +$\gamma(s) = (C_1(s),S_1(s))$. +Zunächst stellen wir fest, dass die Länge der Tangente +\[ +\dot{\gamma}(s) += +\frac{d\gamma}{ds} += +\begin{pmatrix} +\dot{C}_1(s)\\ +\dot{S}_1(s) +\end{pmatrix} += +\begin{pmatrix} +\cos s^2\\ +\sin s^2 +\end{pmatrix} +\qquad\Rightarrow\qquad +|\dot{\gamma}(s)| += +\sqrt{\cos^2s^2+\sin^2s^2} += +1. +\] +Insbesondere ist der Parameter $s$ der Kurve $\gamma(s)$ die +Bogenlänge. + +Der zu $\dot{\gamma}(s)$ gehörige Polarwinkel kann aus dem Vergleich +mit einem Vektor mit bekanntem Polarwinkel $\varphi$ abgelesen werden: +\[ +\begin{pmatrix} +\cos \varphi\\ +\sin \varphi +\end{pmatrix} += +\dot{\gamma}(s) += +\begin{pmatrix} +\cos s^2\\\sin s^2 +\end{pmatrix}, +\] +der Polarwinkel +ist daher $\varphi = s^2$. +Die Krümmung ist die Ableitung des Polarwinkels nach $s$, also +\[ +\kappa += +\frac{d\varphi}{ds} += +\frac{ds^2}{ds} += +2s, +\] +sie ist somit proportional zur Bogenlänge $s$. +Damit folgt, dass die Euler-Spirale eine Klothoide ist. + +\subsection{Eine Kugel schälen} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{papers/fresnel/images/schale.pdf} +\caption{Schält man eine einen Streifen konstanter Breite beginnend am +Äquator von einer Kugel ab und breitet ihn in der Ebene aus, entsteht +eine Klothoide. +\label{fresnel:figure:schale}} +\end{figure} +\begin{figure} +\centering +\includegraphics{papers/fresnel/images/apfel.pdf} +\caption{Klothoide erhalten durch Abschälen eines Streifens von einem +Apfel (vgl.~Abbildung~\ref{fresnel:figure:schale}) +\label{fresnel:figure:apfel}} +\end{figure} +Schält man einen Streifen konstanter Breite beginnend parallel zum Äquator +von einer Kugel ab und breitet ihn in die Ebene aus, entsteht eine +Approximation einer Klothoide. +Abbildung~\ref{fresnel:figure:schale} zeigt blau den abgeschälten Streifen, +Abbildung~\ref{fresnel:figure:apfel} zeigt das Resultat dieses Versuches +an einem Apfel, das Youtube-Video \cite{fresnel:schale} des +Numberphile-Kanals illustriert das Problem anhand eines aufblasbaren +Globus. + +Windet sich die Kurve in Abbildung~\ref{fresnel:figure:schale} $n$ +mal um die vertikale Achse, bevor sie den Nordpol erreicht, dann kann +die Kurve mit der Funktion +\[ +\gamma(t) += +\begin{pmatrix} +\cos(t) \cos(t/n) \\ +\sin(t) \cos(t/n) \\ +\sin(t/n) +\end{pmatrix} +\] +parametrisiert werden. +Der Tangentialvektor +\[ +\dot{\gamma}(t) += +\begin{pmatrix} +-\sin(t)\cos(t/n) - \cos(t)\sin(t/n)/n \\ +\cos(t)\cos(t/n) - \sin(t)\sin(t/n)/n \\ +\cos(t/n)/n +\end{pmatrix} +\] +hat die Länge +\[ +| \dot{\gamma}(t) |^2 += +\frac{1}{n^2} ++ +\cos^2\frac{t}{n}. +\] +Die Ableitung der Bogenlänge ist daher +\[ +\dot{s}(t) += +\sqrt{ +\frac{1}{n^2} ++ +\cos^2\frac{t}{n} +}. +\] + + +Der Krümmungsradius des blauen Streifens, der die Kugel im Punkt $P$ bei +geographischer $\vartheta$ berührt, hat die Länge der Tangente, die +die Kugel im Punkt $P$ berührt und im Punkt $Q$ durch die Achse der +Kugel geht (Abbildung~\ref{fresnel:figure:schale}). +Die Krümmung in Abhängigkeit von $\vartheta$ ist daher $\tan\vartheta$. + + + + diff --git a/buch/papers/fresnel/teil3.tex b/buch/papers/fresnel/teil3.tex index 37e6bee..ceddbe0 100644 --- a/buch/papers/fresnel/teil3.tex +++ b/buch/papers/fresnel/teil3.tex @@ -42,8 +42,8 @@ C'(x) = \cos \biggl(\frac{\pi}2 x^2\biggr) \qquad\text{und}\qquad S'(x) = \sin \biggl(\frac{\pi}2 x^2\biggr) \] -erfüllen, kann man eine Methode zur Lösung von Differentialgleichung -verwenden. +erfüllen, kann man eine Methode zur numerischen Lösung von +Differentialgleichung verwenden. Die Abbildungen~\ref{fresnel:figure:plot} und \ref{fresnel:figure:eulerspirale} wurden auf diese Weise erzeugt. diff --git a/buch/papers/kreismembran/main.tex b/buch/papers/kreismembran/main.tex index 67b436c..e63a118 100644 --- a/buch/papers/kreismembran/main.tex +++ b/buch/papers/kreismembran/main.tex @@ -3,29 +3,10 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:kreismembran}} -\lhead{Thema} +\chapter{Schwingungen einer kreisförmligen Membran\label{chapter:kreismembran}} +\lhead{Schwingungen einer kreisförmligen Membran} \begin{refsection} -\chapterauthor{Hans Muster} - -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +\chapterauthor{Andrea Mozzini Vellen und Tim Tönz} \input{papers/kreismembran/teil0.tex} \input{papers/kreismembran/teil1.tex} diff --git a/buch/papers/kreismembran/teil0.tex b/buch/papers/kreismembran/teil0.tex index e4b1711..1552259 100644 --- a/buch/papers/kreismembran/teil0.tex +++ b/buch/papers/kreismembran/teil0.tex @@ -3,20 +3,8 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 0\label{kreismembran:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{kreismembran:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. +\section{Einleitung\label{kreismembran:section:teil0}} +\rhead{Einleitung} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. diff --git a/buch/papers/kreismembran/teil1.tex b/buch/papers/kreismembran/teil1.tex index b715075..aef5b79 100644 --- a/buch/papers/kreismembran/teil1.tex +++ b/buch/papers/kreismembran/teil1.tex @@ -2,54 +2,99 @@ % teil1.tex -- Beispiel-File für das Paper % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{kreismembran:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{kreismembran:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? -\subsection{De finibus bonorum et malorum -\label{kreismembran:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. +\section{Lösungsmethode 1: Separationsmethode + \label{kreismembran:section:teil1}} +\rhead{Lösungsmethode 1: Separationsmethode} +An diesem Punkt bleibt also nur noch die Lösung der partiellen Differentialgleichung. In diesem Kapitel wird sie mit Hilfe der Separationsmetode gelöst. -Et harum quidem rerum facilis est et expedita distinctio -\ref{kreismembran:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{kreismembran:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. +Wie im vorherigen Kapitel gezeigt, lautet die partielle Differentialgleichung, die die Schwingungen einer Membran beschreibt: +\begin{equation*} + \frac{1}{c^2}\frac{\partial^2u}{\partial t^2} = \Delta u +\end{equation*} +Da es sich um eine Kreisscheibe handelt, werden Polarkoordinaten verwendet, so dass sich der Laplaceoperator ergibt: +\begin{equation*} + \Delta + = + \frac{\partial^2}{\partial r^2} + + + \frac1r + \frac{\partial}{\partial r} + + + \frac{1}{r 2} + \frac{\partial^2}{\partial\varphi^2}. + \label{buch:pde:kreis:laplace} +\end{equation*} +Es wird eine runde elastische Membran berücksichtigt, die den Gebietbereich $\Omega$ abdeckt und am Rand $\Gamma$ befestigt ist. +Es wird daher davon ausgegangen, dass die Membran aus einem homogenen Material von vernachlässigbarer Dicke gefertigt ist. +Die Membran kann verformt werden, aber innere elastische Kräfte wirken den Verformungen entgegen. Es wirken keine äusseren Kräfte. Es handelt sich somit von einer kreisförmligen eigespannten homogenen schwingenden Membran. + +Daher ist die Membranabweichung im Punkt $(r,\varphi)$ $\in$ $\overline{\rm \Omega}$ zum Zeitpunkt $t$: +\begin{align*} + u: \overline{\rm \Omega} \times \mathbb{R}_{\geq 0} &\longrightarrow \mathbb{R}\\ + (r,\varphi,t) &\longmapsto u(r,\varphi,t) +\end{align*} +Da die Membran am Rand befestigt ist, kann es keine Schwingungen geben, so dass die \textit{Dirichlet-Randbedingung} gilt: +\begin{equation*} + u\big|_{\Gamma} = 0 +\end{equation*} +Um eine eindeutige Lösung bestimmen zu können, werden die folgenden Anfangsbedingungen festgelegt: +\begin{align*} + u(r,\varphi, 0) &= f(r,\varphi)\\ + \frac{\partial}{\partial t} u(r,\varphi, 0) &= g(r,\varphi) +\end{align*} +Daher muss an dieser Stelle von einer Separation der Variablen ausgegangen werden: +\begin{equation*} + u(r,\varphi, t) = F(r)G(\varphi)T(t) +\end{equation*} +Dank der Randbedingungen kann also gefordert werden, dass $F(R)=0$ ist, und natürlich, dass $G(\varphi)$ $2\pi$ periodisch ist. Eingesetz in der Differenzialgleichung ergibt: +\begin{equation*} + \frac{1}{c^2}\frac{T''(t)}{T(t)}=\frac{F''(r)}{F(r)}+\frac{1}{r}\frac{F'(r)}{F(r)}+\frac{1}{r^2}\frac{G''(\varphi)}{G(\varphi)} +\end{equation*} +Da die linke Seite nur von $t$ und die rechte Seite nur von $r$ und $\varphi$ abhängt, müssen sie gleich einer reellen Zahl sein. Aus physikalischen Grunden suchen wir nach Lösungen, die weder exponentiell in der Zeit wachsen noch exponentiell abklingen. Dies bedeutet, dass die Konstante negativ sein muss, also schreibt man $k=-k^2$. Daraus ergeben sich die folgenden zwei Gleichungen: +\begin{gather*} + T''(t) + c^2\kappa^2T(t) = 0\\ + r^2\frac{F''(r)}{F(r)} + r \frac{F'(r)}{F(r)} +\kappa^2 r^2 = - \frac{G''(\varphi)}{G(\varphi)} +\end{gather*} +In der zweiten Gleichung hängt die linke Seite nur von $r$ ab, während die rechte Seite nur von $\varphi$ abhängt. Sie müssen also wiederum gleich einer reellen Zahl $\nu$ sein. Also das: +\begin{gather*} + r^2F''(r) + rF'(r) + (\kappa^2 r^2 - \nu)F(r) = 0 \\ + G''(\varphi) = \nu G(\varphi) +\end{gather*} +$G$ kann in einer Fourierreihe entwickelt werden, so dass man sieht, dass $\nu$ die Form $n^2$ mit einer positiven ganzen Zahl sein muss, also: +\begin{equation*} + G(\varphi) = C_n \cos(\varphi) + D_n \sin(\varphi) +\end{equation*} +Die Gleichung $F$ hat die Gestalt +\begin{equation*} + r^2F''(r) + rF'(r) + (\kappa^2 r^2 - n^2)F(r) = 0 \quad (*) +\end{equation*} +Wir bereits in der Vorlesung von Prof. Müller gezeigt, sind die Besselfunktionen +\begin{equation*} + J_{\nu}(x) = r^\nu \displaystyle\sum_{m=0}^{\infty} \frac{(-1)^m x^{2m}}{2^{2m+\nu}m! \Gamma (\nu + m+1)} +\end{equation*} +Lösungen der "Besselschen Differenzialgleichung" +\begin{equation*} + x^2 y'' + xy' + (x^2 - \nu^2)y = 0 +\end{equation*} +Die Funktionen $F(r) = J_n(\kappa r)$ lösen also die Differentialgleichung $(*)$. Die +Randbedingung $F(R)=0$ impliziert, dass $\kappa R$ eine Nullstelle der Besselfunktion +$J_n$ sein muss. Man kann zeigen, dass die Besselfunktionen $J_n, n \geq 0$, alle unendlich +viele Nullstellen +\begin{equation*} + \alpha_{1n} < \alpha_{2n} < ... +\end{equation*} +haben, und dass $\underset{\substack{m\to\infty}}{\text{lim}} \alpha_{mn}=\infty$. Somit ergit sich, dass $\kappa = \frac{\alpha_{mn}}{R}$ für ein $m\geq 1$, und dass +\begin{equation*} + F(r) = J_n (\kappa_{mn}r) \quad mit \quad \kappa_{mn}=\frac{\alpha_{mn}}{R} +\end{equation*} +Die Differenzialgleichung $T''(t) + c^2\kappa^2T(t) = 0$, wird auf ähnliche Weise gelöst wie $G(\varphi)$. Durch Überlagerung aller Ergebnisse erhält man die Lösung +\begin{equation} + u(r, \varphi, t) = \displaystyle\sum_{m=1}^{\infty}\displaystyle\sum_{n=0}^{\infty} J_n (k_{mn}r)\cos(n\varphi)[a_{mn}\cos(c \kappa_{mn} t)+b_{mn}\sin(c \kappa_{mn} t)] +\end{equation} +Dabei sind m und n ganze Zahlen, wobei m für die Anzahl der Knotenkreise und n +für die Anzahl der Knotenlinien steht. Es gibt bestimmte Bereiche auf der Membran, in denen es keine Bewegung oder Vibration gibt. Wenn der nicht schwingende Bereich ein Kreis ist, nennt man ihn einen Knotenkreis, und wenn er eine Linie ist, nennt man ihn ebenfalls eine Knotenlinie. $Jn(\kappa_{mn}r)$ ist die Besselfunktion $n$-ter Ordnung, wobei kmn die Wellenzahl und $r$ der Radius ist. $a_{mn}$ und $b_{mn}$ sind die zu bestimmenden Konstanten. +An diesem Punkt stellte sich die Frage, ob es möglich wäre, die partielle Differentialgleichung mit einer anderen Methode als der der Trennung der Variablen zu lösen. Nach einer kurzen Recherche und Diskussion mit Prof. Müller wurde festgestellt, dass die beste Methode die Transformationsmethode ist, genauer gesagt die Anwendung der Hankel-Transformation. Im nächsten Kapitel wird daher diese Integraltransformation vorgestellt und entwickelt, und es wird erläutert, warum sie für diese Art von Problem geeignet ist. diff --git a/buch/papers/kreismembran/teil2.tex b/buch/papers/kreismembran/teil2.tex index 7ed217f..8afe817 100644 --- a/buch/papers/kreismembran/teil2.tex +++ b/buch/papers/kreismembran/teil2.tex @@ -1,40 +1,113 @@ % -% teil2.tex -- Beispiel-File für teil2 -% % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 2 -\label{kreismembran:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{kreismembran:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. + +\section{Die Hankel Transformation \label{kreismembran:section:teil2}} +\rhead{Die Hankel Transformation} + +Hermann Hankel (1839-1873) war ein deutscher Mathematiker, der für seinen Beitrag zur mathematischen Analyse und insbesondere für seine namensgebende Transformation bekannt ist. +Diese Transformation tritt bei der Untersuchung von funktionen auf, die nur von der Enternung des Ursprungs abhängen. +Er studierte auch funktionen, jetzt Hankel- oder Bessel- Funktionen genannt, der dritten Art. +Die Hankel Transformation mit Bessel Funktionen al Kern taucht natürlich bei achsensymmetrischen Problemen auf, die in Zylindrischen Polarkoordinaten formuliert sind. +In diesem Kapitel werden die Theorie der Transformation und einige Eigenschaften der Grundoperationen erläutert. + + +Wir führen die Definition der Hankel Transformation aus der zweidimensionalen Fourier Transformation und ihrer Umkehrung ein, die durch: +\begin{align} + \mathscr{F}\{f(x,y)\} & = F(k,l)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{-i( \bm{\kappa}\cdot \mathbf{r})}f(x,y) dx dy,\label{equation:fourier_transform}\\ + \mathscr{F}^{-1}\{F(x,y)\} & = f(x,y)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{i(\bm{\kappa}\cdot \mathbf{r}))}F(k,l) dx dy \label{equation:inv_fourier_transform} +\end{align} +wo $\mathbf{r}=(x,y)$ und $\bm{\kappa}=(k,l)$. Wie bereits erwähnt, sind Polarkoordinaten für diese Art von Problemen am besten geeignet, also mit, $(x,y)=r(\cos\theta,\sin\theta)$ und $(k,l)=\kappa(\cos\phi,\sin\phi)$, findet man $\bm{\kappa}\cdot\mathbf{r}=\kappa r(\cos(\theta-\phi))$ und danach: +\begin{align} + F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}r dr \int_{0}^{2\pi}e^{-ikr\cos(\theta-\phi)}f(r,\theta) d\phi. + \label{equation:F_ohne_variable_wechsel} +\end{align} +Dann wird angenommen dass, $f(r,\theta)=e^{in\theta}f(r)$, was keine strenge Einschränkung ist, und es wird eine Änderung der Variabeln vorgenommen $\theta-\phi=\alpha-\frac{\pi}{2}$, um \eqref{equation:F_ohne_variable_wechsel} zu reduzieren: +\begin{align} + F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}rf(r) dr \int_{\phi_{0}}^{2\pi+\phi_{0}}e^{in(\phi-\frac{\pi}{2})+i(n\alpha-kr\sin\alpha)} d\alpha, + \label{equation:F_ohne_bessel} +\end{align} +wo $\phi_{0}=(\frac{\pi}{2}-\phi)$. + +Unter Verwendung der Integral Darstellung der Besselfunktion vom Ordnung n +\begin{align} + J_n(\kappa r)=\frac{1}{2\pi}\int_{\phi_{0}}^{2\pi + \phi_{0}}e^{i(n\alpha-\kappa r \sin \alpha)} d\alpha + \label{equation:bessel_n_ordnung} +\end{align} +\eqref{equation:F_ohne_bessel} wird sie zu: +\begin{align} + F(k,\phi)&=e^{in(\phi-\frac{\pi}{2})}\int_{0}^{\infty}rJ_n(\kappa r) f(r) dr \label{equation:F_mit_bessel_step_1} \\ + &=e^{in(\phi-\frac{\pi}{2})}\tilde{f}_n(\kappa), + \label{equation:F_mit_bessel_step_2} +\end{align} +wo $\tilde{f}_n(\kappa)$ ist die \textit{Hankel Transformation} von $f(r)$ und ist formell definiert durch: +\begin{align} + \mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)=\int_{0}^{\infty}rJ_n(\kappa r) f(r) dr. + \label{equation:hankel} +\end{align} + +Ähnlich verhält es sich mit der inversen Fourier Transformation in Form von polaren Koordinaten unter der Annahme $f(r,\theta)=e^{in\theta}f(r)$ mit \eqref{equation:F_mit_bessel_step_2}, wird die inverse Fourier Transformation \eqref{equation:inv_fourier_transform}: + +\begin{align} + e^{in\theta}f(r)&=\frac{1}{2\pi}\int_{0}^{\infty}\kappa d\kappa \int_{0}^{2\pi}e^{i\kappa r \cos (\theta - \phi)}F(\kappa,\phi) d\phi\\ + &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) d\kappa \int_{0}^{2\pi}e^{in(\phi - \frac{\pi}{2})- i\kappa r \cos (\theta - \phi)} d\phi, +\end{align} +was durch den Wechsel der Variablen $\theta-\phi=-(\alpha+\frac{\pi}{2})$ und $\theta_0=-(\theta+\frac{\pi}{2})$, + +\begin{align} + &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) d\kappa \int_{\theta_0}^{2\pi+\theta_0}e^{in(\theta + \alpha - i\kappa r \sin\alpha)} d\alpha \nonumber \\ + &= e^{in\theta}\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) d\kappa,\quad \text{von \eqref{equation:bessel_n_ordnung}} +\end{align} + +Also, die inverse \textit{Hankel Transformation} ist so definiert: +\begin{align} + \mathscr{H}^{-1}_n\{\tilde{f}_n(\kappa)\}=f(r)=\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) d\kappa. + \label{equation:inv_hankel} +\end{align} + +Anstelle von $\tilde{f}_n(\kappa)$, wird häufig für die Hankel Transformation verwendet, indem die Ordnung angegeben wird. +\eqref{equation:hankel} und \eqref{equation:inv_hankel} Integralen existieren für eine grosse Klasse von Funktionen, die normalerweise in physikalischen Anwendungen benötigt werden. +Alternativ kann auch die berühmte Hankel Transformationsformel verwendet werden, + +\begin{align} + f(r) = \int_{0}^{\infty}\kappa J_n(\kappa r) d\kappa \int_{0}^{\infty} p J_n(\kappa p)f(p) dp, + \label{equation:hankel_integral_formula} +\end{align} +um die Hankel Transformation \eqref{equation:hankel} und ihre Inverse \eqref{equation:inv_hankel} zu definieren. +Insbesondere die Hankel Transformation der nullten Ordnung ($n=0$) und der ersten Ordnung ($n=1$) sind häufig nützlich, um Lösungen für Probleme mit der Laplace Gleichung in einer achsensymmetrischen zylindrischen Geometrie zu finden. + +\subsection{Operative Eigenschaften der Hankel Transformation\label{sub:op_properties_hankel}} +In diesem Kapitel werden die operativen Eigenschaften der Hankel Transformation aufgeführt. Der Beweis für ihre Gültigkeit wird jedoch nicht analysiert. + +\subsubsection{Theorem 1: Skalierung \label{subsub:skalierung}} +Wenn $\mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)$, dann: + +\begin{equation*} + \mathscr{H}_n\{f(ar)\}=\frac{1}{a^{2}}\tilde{f}_n \left(\frac{\kappa}{a}\right), \quad a>0. +\end{equation*} + +\subsubsection{Theorem 2: Persevalsche Relation \label{subsub:perseval}} +Wenn $\tilde{f}(\kappa)=\mathscr{H}_n\{f(r)\}$ und $\tilde{g}(\kappa)=\mathscr{H}_n\{g(r)\}$, dann: + +\begin{equation*} + \int_{0}^{\infty}rf(r) dr = \int_{0}^{\infty}\kappa\tilde{f}(\kappa)\tilde{g}(\kappa) d\kappa. +\end{equation*} + +\subsubsection{Theorem 3: Hankel Transformationen von Ableitungen \label{subsub:ableitungen}} +Wenn $\tilde{f}_n(\kappa)=\mathscr{H}_n\{f(r)\}$, dann: + +\begin{align*} + &\mathscr{H}_n\{f'(r)\}=\frac{\kappa}{2n}\left[(n-1)\tilde{f}_{n+1}(\kappa)-(n+1)\tilde{f}_{n-1}(\kappa)\right], \quad n\geq1, \\ + &\mathscr{H}_1\{f'(r)\}=-\kappa \tilde{f}_0(\kappa), +\end{align*} +bereitgestellt dass $[rf(r)]$ verschwindet als $r\to0$ und $r\to\infty$. + +\subsubsection{Theorem 4 \label{subsub:thorem4}} +Wenn $\mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)$, dann: + +\begin{equation*} + \mathscr{H}_n \left\{ \left( \nabla^2 - \frac{n^2}{r^2} f(r)\right)\right\}= \mathscr{H}_n\left\{\frac{1}{r}\frac{d}{dr}\left(r\frac{df}{dr}\right) - \frac{n^2}{r^2}f(r)\right\}=-\kappa^2\tilde{f}_{n}(\kappa), +\end{equation*} +bereitgestellt dass $rf'(r)$ und $rf(r)$ verschwinden als $r\to0$ und $r\to\infty$. diff --git a/buch/papers/kreismembran/teil3.tex b/buch/papers/kreismembran/teil3.tex index 73dee0f..bef8b5f 100644 --- a/buch/papers/kreismembran/teil3.tex +++ b/buch/papers/kreismembran/teil3.tex @@ -3,38 +3,76 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 3 +\section{Lösungsmethode 2: Transformationsmethode \label{kreismembran:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{kreismembran:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{Lösungsmethode 2: Transformationsmethode} +Die Hankel-Transformation wird dann zur Lösung der Differentialgleichung verwendet. Es müssen jedoch einige Änderungen an dem Problem vorgenommen werden, damit es mit den Annahmen übereinstimmt, die für die Verwendung der Hankel-Transformation erforderlich sind. Das heisst, dass die Funktion u nur von der Entfernung zum Ausgangspunkt abhängt. Wir führen also das Konzept einer unendlichen und achsensymmetrischen Membran ein: +\begin{equation*} + \frac{\partial^2u}{\partial t^2} + = + c^2 \left(\frac{\partial^2 u}{\partial r^2} + + + \frac{1}{r} + \frac{\partial u}{\partial r} \right), \quad 0<r<\infty, \quad t>0 + \label{eq:PDE_inf_membane} +\end{equation*} + +\begin{align} + u(r,0)=f(r), \quad \frac{\partial}{\partial t} u(r,0) = g(r), \quad \text{für} \quad 0<r<\infty + \label{eq:PDE_inf_membane_RB} +\end{align} + +Mit Anwendung der Hankel-Transformation nullter Ordnung in Abhängigkeit von $r$ auf die Gleichungen \eqref{eq:PDE_inf_membane} und \eqref{eq:PDE_inf_membane_RB}: + +\begin{align} + \tilde{u}(\kappa,t)=\int_{0}^{\infty}r J_0(\kappa r)u(r,t) dr, +\end{align} + +bekommt man: + +\begin{equation*} + \frac{d^2 \tilde{u}}{dt^2} + c^2\kappa^2\tilde{u}=0, +\end{equation*} + +\begin{equation*} + \tilde{u}(\kappa,0)=\tilde{f}(\kappa), \quad + \frac{\partial}{\partial t}\tilde{u}(\kappa,0)=\tilde{g}(\kappa). +\end{equation*} + +Die allgemeine Lösung für diese Transformation lautet, wie schon gesehen, wie folgt + +\begin{equation*} + \tilde{u}(\kappa,t)=\tilde{f}(\kappa)\cos(c\kappa t) + \frac{1}{c\kappa}\tilde{g}(\kappa)\sin(c\kappa t). +\end{equation*} + +Wendet man an nun die inverse Hankel-Transformation an, so erhält man die formale Lösung + +\begin{align} + u(r,t)=\int_{0}^{\infty}\kappa\tilde{f}(\kappa)\cos(c\kappa t) J_0(\kappa r) d\kappa +\frac{1}{c}\int_{0}^{\infty}\tilde{g}(\kappa)\sin(c\kappa t)J_0(\kappa r) d\kappa. + \label{eq:formale_lösung} +\end{align} + +Es wird daher davon ausgegangen, dass sich die Membran verformt und zum Zeitpunkt $t=0$ freigegeben wird + +\begin{equation*} + u(r,0)=f(r)=Aa(r^2 + a^2)^{-\frac{1}{2}}, \quad \frac{d}{dt}(r,0)=g(r)=0 +\end{equation*} + +so dass $\tilde{g}(\kappa)\equiv 0$ und + +\begin{equation*} + \tilde{f}(\kappa)=Aa\int_{0}^{\infty}r(a^2 + r^2)^{-\frac{1}{2}} J_0 (\kappa r) dr=\frac{Aa}{\kappa}e^{-a\kappa} +\end{equation*} + +Die formale Lösung \eqref{eq:formale_lösung} lautet also +\begin{align*} + u(r,t)&=Aa\int_{0}^{\infty}e^{-a\kappa} J_0(\kappa r)\cos(c\kappa t)dk=AaRe\int_{0}^{\infty}e^{-\kappa(a+ict)} J_0(\kappa r)dk\\ + &=AaRe\left\{r^2+\left(a+ict\right)^2\right\}^{-\frac{1}{2}} +\end{align*} + + +\subsection{Vergleich der Lösungen +\label{kreismembran:vergleich}} +Hier kommt noch der Vergleich der Lösungen ;) diff --git a/buch/papers/kugel/images/Makefile b/buch/papers/kugel/images/Makefile new file mode 100644 index 0000000..4226dab --- /dev/null +++ b/buch/papers/kugel/images/Makefile @@ -0,0 +1,30 @@ +# +# Makefile -- build images +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: curvature.jpg spherecurve.jpg + +curvature.inc: curvgraph.m + octave curvgraph.m + +curvature.png: curvature.pov curvature.inc + povray +A0.1 +W1920 +H1080 +Ocurvature.png curvature.pov + +curvature.jpg: curvature.png + convert curvature.png -density 300 -units PixelsPerInch curvature.jpg + +spherecurve2.inc: spherecurve.m + octave spherecurve.m + +spherecurve.png: spherecurve.pov spherecurve.inc + povray +A0.1 +W1080 +H1080 +Ospherecurve.png spherecurve.pov + +spherecurve.jpg: spherecurve.png + convert spherecurve.png -density 300 -units PixelsPerInch spherecurve.jpg + +spherecurve: spherecurve.cpp + g++ -o spherecurve -g -Wall -O spherecurve.cpp + +spherecurve.inc: spherecurve + ./spherecurve diff --git a/buch/papers/kugel/images/curvature.maxima b/buch/papers/kugel/images/curvature.maxima new file mode 100644 index 0000000..6313642 --- /dev/null +++ b/buch/papers/kugel/images/curvature.maxima @@ -0,0 +1,6 @@ + +f: exp(-r^2/sigma^2)/sigma; +laplacef: ratsimp(diff(r * diff(f,r), r) / r); +f: exp(-r^2/(2*sigma^2))/(sqrt(2)*sigma); +laplacef: ratsimp(diff(r * diff(f,r), r) / r); + diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/images/curvature.pov new file mode 100644 index 0000000..3b15d77 --- /dev/null +++ b/buch/papers/kugel/images/curvature.pov @@ -0,0 +1,139 @@ +// +// curvature.pov +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// + +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.09; + +camera { + location <10, 10, -40> + look_at <0, 0, 0> + right 16/9 * 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 + +arrow(<-3.1,0,0>, <3.1,0,0>, 0.01, White) +arrow(<0,-1,0>, <0,1,0>, 0.01, White) +arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White) + +#include "curvature.inc" + +#declare sigma = 1; +#declare s = 1.4; +#declare N0 = 0.4; +#declare funktion = function(r) { + (exp(-r*r/(sigma*sigma)) / sigma + - + exp(-r*r/(2*sigma*sigma)) / (sqrt(2)*sigma)) / N0 +}; +#declare hypot = function(xx, yy) { sqrt(xx*xx+yy*yy) }; + +#declare Funktion = function(x,y) { funktion(hypot(x+s,y)) - funktion(hypot(x-s,y)) }; +#macro punkt(xx,yy) + <xx, Funktion(xx, yy), yy> +#end + +#declare griddiameter = 0.006; +union { + #declare xmin = -3; + #declare xmax = 3; + #declare ymin = -2; + #declare ymax = 2; + + + #declare xstep = 0.2; + #declare ystep = 0.02; + #declare xx = xmin; + #while (xx < xmax + xstep/2) + #declare yy = ymin; + #declare P = punkt(xx, yy); + #while (yy < ymax - ystep/2) + #declare yy = yy + ystep; + #declare Q = punkt(xx, yy); + sphere { P, griddiameter } + cylinder { P, Q, griddiameter } + #declare P = Q; + #end + sphere { P, griddiameter } + #declare xx = xx + xstep; + #end + + #declare xstep = 0.02; + #declare ystep = 0.2; + #declare yy = ymin; + #while (yy < ymax + ystep/2) + #declare xx = xmin; + #declare P = punkt(xx, yy); + #while (xx < xmax - xstep/2) + #declare xx = xx + xstep; + #declare Q = punkt(xx, yy); + sphere { P, griddiameter } + cylinder { P, Q, griddiameter } + #declare P = Q; + #end + sphere { P, griddiameter } + #declare yy = yy + ystep; + #end + + pigment { + color rgb<0.8,0.8,0.8> + } + finish { + metallic + specular 0.8 + } +} + diff --git a/buch/papers/kugel/images/curvgraph.m b/buch/papers/kugel/images/curvgraph.m new file mode 100644 index 0000000..75effd6 --- /dev/null +++ b/buch/papers/kugel/images/curvgraph.m @@ -0,0 +1,140 @@ +# +# curvature.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +global N; +N = 10; + +global sigma2; +sigma2 = 1; + +global s; +s = 1.4; + +global cmax; +cmax = 0.9; +global cmin; +cmin = -0.9; + +global Cmax; +global Cmin; +Cmax = 0; +Cmin = 0; + +xmin = -3; +xmax = 3; +xsteps = 200; +hx = (xmax - xmin) / xsteps; + +ymin = -2; +ymax = 2; +ysteps = 200; +hy = (ymax - ymin) / ysteps; + +function retval = f0(r) + global sigma2; + retval = exp(-r^2/sigma2)/sqrt(sigma2) - exp(-r^2/(2*sigma2))/(sqrt(2*sigma2)); +end + +global N0; +N0 = f0(0) +N0 = 0.4; + +function retval = f1(x,y) + global N0; + retval = f0(hypot(x, y)) / N0; +endfunction + +function retval = f(x, y) + global s; + retval = f1(x+s, y) - f1(x-s, y); +endfunction + +function retval = curvature0(r) + global sigma2; + retval = ( + -4*(sigma2-r^2)*exp(-r^2/sigma2) + + + (2*sigma2-r^2)*exp(-r^2/(2*sigma2)) + ) / (sigma2^(5/2)); +endfunction + +function retval = curvature1(x, y) + retval = curvature0(hypot(x, y)); +endfunction + +function retval = curvature(x, y) + global s; + retval = curvature1(x+s, y) - curvature1(x-s, y); +endfunction + +function retval = farbe(x, y) + global Cmax; + global Cmin; + global cmax; + global cmin; + c = curvature(x, y); + if (c < Cmin) + Cmin = c + endif + if (c > Cmax) + Cmax = c + endif + u = (c - cmin) / (cmax - cmin); + if (u > 1) + u = 1; + endif + if (u < 0) + u = 0; + endif + color = [ u, 0.5, 1-u ]; + color = color/max(color); + color(1,4) = c/2; + retval = color; +endfunction + +function dreieck(fn, A, B, C) + fprintf(fn, "\ttriangle {\n"); + fprintf(fn, "\t <%.4f,%.4f,%.4f>,\n", A(1,1), A(1,3), A(1,2)); + fprintf(fn, "\t <%.4f,%.4f,%.4f>,\n", B(1,1), B(1,3), B(1,2)); + fprintf(fn, "\t <%.4f,%.4f,%.4f>\n", C(1,1), C(1,3), C(1,2)); + fprintf(fn, "\t}\n"); +endfunction + +function viereck(fn, punkte) + color = farbe(mean(punkte(:,1)), mean(punkte(:,2))); + fprintf(fn, " mesh {\n"); + dreieck(fn, punkte(1,:), punkte(2,:), punkte(3,:)); + dreieck(fn, punkte(2,:), punkte(3,:), punkte(4,:)); + fprintf(fn, "\tpigment { color rgb<%.4f,%.4f,%.4f> } // %.4f\n", + color(1,1), color(1,2), color(1,3), color(1,4)); + fprintf(fn, " }\n"); +endfunction + +fn = fopen("curvature.inc", "w"); +punkte = zeros(4,3); +for ix = (0:xsteps-1) + x = xmin + ix * hx; + punkte(1,1) = x; + punkte(2,1) = x; + punkte(3,1) = x + hx; + punkte(4,1) = x + hx; + for iy = (0:ysteps-1) + y = ymin + iy * hy; + punkte(1,2) = y; + punkte(2,2) = y + hy; + punkte(3,2) = y; + punkte(4,2) = y + hy; + for i = (1:4) + punkte(i,3) = f(punkte(i,1), punkte(i,2)); + endfor + viereck(fn, punkte); + end +end +#fprintf(fn, " finish { metallic specular 0.5 }\n"); +fclose(fn); + +printf("Cmax = %.4f\n", Cmax); +printf("Cmin = %.4f\n", Cmin); diff --git a/buch/papers/kugel/images/spherecurve.cpp b/buch/papers/kugel/images/spherecurve.cpp new file mode 100644 index 0000000..8ddf5e5 --- /dev/null +++ b/buch/papers/kugel/images/spherecurve.cpp @@ -0,0 +1,292 @@ +/* + * spherecurve.cpp + * + * (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ +#include <cstdio> +#include <cstdlib> +#include <cmath> +#include <string> +#include <iostream> + +inline double sqr(double x) { return x * x; } + +/** + * \brief Class for 3d vectors (also used as colors) + */ +class vector { + double X[3]; +public: + vector() { X[0] = X[1] = X[2] = 0; } + vector(double a) { X[0] = X[1] = X[2] = a; } + vector(double x, double y, double z) { + X[0] = x; X[1] = y; X[2] = z; + } + vector(double theta, double phi) { + double s = sin(theta); + X[0] = cos(phi) * s; + X[1] = sin(phi) * s; + X[2] = cos(theta); + } + vector(const vector& other) { + for (int i = 0; i < 3; i++) { + X[i] = other.X[i]; + } + } + vector operator+(const vector& other) const { + return vector(X[0] + other.X[0], + X[1] + other.X[1], + X[2] + other.X[2]); + } + vector operator*(double l) const { + return vector(X[0] * l, X[1] * l, X[2] * l); + } + double operator*(const vector& other) const { + double s = 0; + for (int i = 0; i < 3; i++) { + s += X[i] * other.X[i]; + } + return s; + } + double norm() const { + double s = 0; + for (int i = 0; i < 3; i++) { + s += sqr(X[i]); + } + return sqrt(s); + } + vector normalize() const { + double l = norm(); + return vector(X[0]/l, X[1]/l, X[2]/l); + } + double max() const { + return std::max(X[0], std::max(X[1], X[2])); + } + double l0norm() const { + double l = 0; + for (int i = 0; i < 3; i++) { + if (fabs(X[i]) > l) { + l = fabs(X[i]); + } + } + return l; + } + vector l0normalize() const { + double l = l0norm(); + vector result(X[0]/l, X[1]/l, X[2]/l); + return result; + } + const double& operator[](int i) const { return X[i]; } + double& operator[](int i) { return X[i]; } +}; + +/** + * \brief Derived 3d vector class implementing color + * + * The constructor in this class converts a single value into a + * color on a suitable gradient. + */ +class color : public vector { +public: + static double utop; + static double ubottom; + static double green; +public: + color(double u) { + u = (u - ubottom) / (utop - ubottom); + if (u > 1) { + u = 1; + } + if (u < 0) { + u = 0; + } + u = pow(u,2); + (*this)[0] = u; + (*this)[1] = green * u * (1 - u); + (*this)[2] = 1-u; + double l = l0norm(); + for (int i = 0; i < 3; i++) { + (*this)[i] /= l; + } + } +}; + +double color::utop = 12; +double color::ubottom = -31; +double color::green = 0.5; + +/** + * \brief Surface model + * + * This class contains the definitions of the functions to plot + * and the parameters to + */ +class surfacefunction { + static vector axes[6]; + + double _a; + double _A; + + double _umin; + double _umax; +public: + double a() const { return _a; } + double A() const { return _A; } + + double umin() const { return _umin; } + double umax() const { return _umax; } + + surfacefunction(double a, double A) : _a(a), _A(A), _umin(0), _umax(0) { + } + + double f(double z) { + return A() * exp(a() * (sqr(z) - 1)); + } + + double g(double z) { + return -f(z) * 2*a() * ((2*a()*sqr(z) + (3-2*a()))*sqr(z) - 1); + } + + double F(const vector& v) { + double s = 0; + for (int i = 0; i < 6; i++) { + s += f(axes[i] * v); + } + return s / 6; + } + + double G(const vector& v) { + double s = 0; + for (int i = 0; i < 6; i++) { + s += g(axes[i] * v); + } + return s / 6; + } +protected: + color farbe(const vector& v) { + double u = G(v); + if (u < _umin) { + _umin = u; + } + if (u > _umax) { + _umax = u; + } + return color(u); + } +}; + +static double phi = (1 + sqrt(5)) / 2; +static double sl = sqrt(sqr(phi) + 1); +vector surfacefunction::axes[6] = { + vector( 0. , -1./sl, phi/sl ), + vector( 0. , 1./sl, phi/sl ), + vector( 1./sl, phi/sl, 0. ), + vector( -1./sl, phi/sl, 0. ), + vector( phi/sl, 0. , 1./sl ), + vector( -phi/sl, 0. , 1./sl ) +}; + +/** + * \brief Class to construct the plot + */ +class surface : public surfacefunction { + FILE *outfile; + + int _phisteps; + int _thetasteps; + double _hphi; + double _htheta; +public: + int phisteps() const { return _phisteps; } + int thetasteps() const { return _thetasteps; } + double hphi() const { return _hphi; } + double htheta() const { return _htheta; } + void phisteps(int s) { _phisteps = s; _hphi = 2 * M_PI / s; } + void thetasteps(int s) { _thetasteps = s; _htheta = M_PI / s; } + + surface(const std::string& filename, double a, double A) + : surfacefunction(a, A) { + outfile = fopen(filename.c_str(), "w"); + phisteps(400); + thetasteps(200); + } + + ~surface() { + fclose(outfile); + } + +private: + void triangle(const vector& v0, const vector& v1, const vector& v2) { + fprintf(outfile, " mesh {\n"); + vector c = (v0 + v1 + v2) * (1./3.); + vector color = farbe(c.normalize()); + vector V0 = v0 * (1 + F(v0)); + vector V1 = v1 * (1 + F(v1)); + vector V2 = v2 * (1 + F(v2)); + fprintf(outfile, "\ttriangle {\n"); + fprintf(outfile, "\t <%.6f,%.6f,%.6f>,\n", + V0[0], V0[2], V0[1]); + fprintf(outfile, "\t <%.6f,%.6f,%.6f>,\n", + V1[0], V1[2], V1[1]); + fprintf(outfile, "\t <%.6f,%.6f,%.6f>\n", + V2[0], V2[2], V2[1]); + fprintf(outfile, "\t}\n"); + fprintf(outfile, "\tpigment { color rgb<%.4f,%.4f,%.4f> }\n", + color[0], color[1], color[2]); + fprintf(outfile, "\tfinish { metallic specular 0.5 }\n"); + fprintf(outfile, " }\n"); + } + + void northcap() { + vector v0(0, 0, 1); + for (int i = 1; i <= phisteps(); i++) { + fprintf(outfile, " // northcap i = %d\n", i); + vector v1(htheta(), (i - 1) * hphi()); + vector v2(htheta(), i * hphi()); + triangle(v0, v1, v2); + } + } + + void southcap() { + vector v0(0, 0, -1); + for (int i = 1; i <= phisteps(); i++) { + fprintf(outfile, " // southcap i = %d\n", i); + vector v1(M_PI - htheta(), (i - 1) * hphi()); + vector v2(M_PI - htheta(), i * hphi()); + triangle(v0, v1, v2); + } + } + + void zone() { + for (int j = 1; j < thetasteps() - 1; j++) { + for (int i = 1; i <= phisteps(); i++) { + fprintf(outfile, " // zone j = %d, i = %d\n", + j, i); + vector v0( j * htheta(), (i-1) * hphi()); + vector v1((j+1) * htheta(), (i-1) * hphi()); + vector v2( j * htheta(), i * hphi()); + vector v3((j+1) * htheta(), i * hphi()); + triangle(v0, v1, v2); + triangle(v1, v2, v3); + } + } + } +public: + void draw() { + northcap(); + southcap(); + zone(); + } +}; + +/** + * \brief main function + */ +int main(int argc, char *argv[]) { + surface S("spherecurve.inc", 5, 10); + color::green = 1.0; + S.draw(); + std::cout << "umin: " << S.umin() << std::endl; + std::cout << "umax: " << S.umax() << std::endl; + return EXIT_SUCCESS; +} diff --git a/buch/papers/kugel/images/spherecurve.m b/buch/papers/kugel/images/spherecurve.m new file mode 100644 index 0000000..99d5c9a --- /dev/null +++ b/buch/papers/kugel/images/spherecurve.m @@ -0,0 +1,160 @@ +# +# spherecurve.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global a; +a = 5; +global A; +A = 10; + +phisteps = 400; +hphi = 2 * pi / phisteps; +thetasteps = 200; +htheta = pi / thetasteps; + +function retval = f(z) + global a; + global A; + retval = A * exp(a * (z^2 - 1)); +endfunction + +function retval = g(z) + global a; + retval = -f(z) * 2 * a * (2 * a * z^4 + (3 - 2*a) * z^2 - 1); + # 2 + # - a 2 4 2 2 a z + #(%o6) - %e (4 a z + (6 a - 4 a ) z - 2 a) %e +endfunction + +phi = (1 + sqrt(5)) / 2; + +global axes; +axes = [ + 0, 0, 1, -1, phi, -phi; + 1, -1, phi, phi, 0, 0; + phi, phi, 0, 0, 1, 1; +]; +axes = axes / (sqrt(phi^2+1)); + +function retval = kugel(theta, phi) + retval = [ + cos(phi) * sin(theta); + sin(phi) * sin(theta); + cos(theta) + ]; +endfunction + +function retval = F(v) + global axes; + s = 0; + for i = (1:6) + z = axes(:,i)' * v; + s = s + f(z); + endfor + retval = s / 6; +endfunction + +function retval = F2(theta, phi) + v = kugel(theta, phi); + retval = F(v); +endfunction + +function retval = G(v) + global axes; + s = 0; + for i = (1:6) + s = s + g(axes(:,i)' * v); + endfor + retval = s / 6; +endfunction + +function retval = G2(theta, phi) + v = kugel(theta, phi); + retval = G(v); +endfunction + +function retval = cnormalize(u) + utop = 11; + ubottom = -30; + retval = (u - ubottom) / (utop - ubottom); + if (retval > 1) + retval = 1; + endif + if (retval < 0) + retval = 0; + endif +endfunction + +global umin; +umin = 0; +global umax; +umax = 0; + +function color = farbe(v) + global umin; + global umax; + u = G(v); + if (u < umin) + umin = u; + endif + if (u > umax) + umax = u; + endif + u = cnormalize(u); + color = [ u, 0.5, 1-u ]; + color = color/max(color); +endfunction + +function dreieck(fn, v0, v1, v2) + fprintf(fn, " mesh {\n"); + c = (v0 + v1 + v2) / 3; + c = c / norm(c); + color = farbe(c); + v0 = v0 * (1 + F(v0)); + v1 = v1 * (1 + F(v1)); + v2 = v2 * (1 + F(v2)); + fprintf(fn, "\ttriangle {\n"); + fprintf(fn, "\t <%.6f,%.6f,%.6f>,\n", v0(1,1), v0(3,1), v0(2,1)); + fprintf(fn, "\t <%.6f,%.6f,%.6f>,\n", v1(1,1), v1(3,1), v1(2,1)); + fprintf(fn, "\t <%.6f,%.6f,%.6f>\n", v2(1,1), v2(3,1), v2(2,1)); + fprintf(fn, "\t}\n"); + fprintf(fn, "\tpigment { color rgb<%.4f,%.4f,%.4f> }\n", + color(1,1), color(1,2), color(1,3)); + fprintf(fn, "\tfinish { metallic specular 0.5 }\n"); + fprintf(fn, " }\n"); +endfunction + +fn = fopen("spherecurve2.inc", "w"); + + for i = (1:phisteps) + # Polkappe nord + v0 = [ 0; 0; 1 ]; + v1 = kugel(htheta, (i-1) * hphi); + v2 = kugel(htheta, i * hphi); + fprintf(fn, " // i = %d\n", i); + dreieck(fn, v0, v1, v2); + + # Polkappe sued + v0 = [ 0; 0; -1 ]; + v1 = kugel(pi-htheta, (i-1) * hphi); + v2 = kugel(pi-htheta, i * hphi); + dreieck(fn, v0, v1, v2); + endfor + + for j = (1:thetasteps-2) + for i = (1:phisteps) + v0 = kugel( j * htheta, (i-1) * hphi); + v1 = kugel((j+1) * htheta, (i-1) * hphi); + v2 = kugel( j * htheta, i * hphi); + v3 = kugel((j+1) * htheta, i * hphi); + fprintf(fn, " // i = %d, j = %d\n", i, j); + dreieck(fn, v0, v1, v2); + dreieck(fn, v1, v2, v3); + endfor + endfor + +fclose(fn); + +umin +umax diff --git a/buch/papers/kugel/images/spherecurve.maxima b/buch/papers/kugel/images/spherecurve.maxima new file mode 100644 index 0000000..1e9077c --- /dev/null +++ b/buch/papers/kugel/images/spherecurve.maxima @@ -0,0 +1,13 @@ +/* + * spherecurv.maxima + * + * (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ +f: exp(-a * sin(theta)^2); + +g: ratsimp(diff(sin(theta) * diff(f, theta), theta)/sin(theta)); +g: subst(z, cos(theta), g); +g: subst(sqrt(1-z^2), sin(theta), g); +ratsimp(g); + +f: ratsimp(subst(sqrt(1-z^2), sin(theta), f)); diff --git a/buch/papers/kugel/images/spherecurve.pov b/buch/papers/kugel/images/spherecurve.pov new file mode 100644 index 0000000..b1bf4b8 --- /dev/null +++ b/buch/papers/kugel/images/spherecurve.pov @@ -0,0 +1,73 @@ +// +// curvature.pov +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// + +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.13; + +camera { + location <10, 10, -40> + look_at <0, 0, 0> + 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 + +arrow(<-2.7,0,0>, <2.7,0,0>, 0.03, White) +arrow(<0,-2.7,0>, <0,2.7,0>, 0.03, White) +arrow(<0,0,-2.7>, <0,0,2.7>, 0.03, White) + +#include "spherecurve.inc" + diff --git a/buch/papers/nav/Makefile.inc b/buch/papers/nav/Makefile.inc index b30377e..5e86543 100644 --- a/buch/papers/nav/Makefile.inc +++ b/buch/papers/nav/Makefile.inc @@ -6,9 +6,10 @@ dependencies-nav = \ papers/nav/packages.tex \ papers/nav/main.tex \ - papers/nav/references.bib \ - papers/nav/teil0.tex \ - papers/nav/teil1.tex \ - papers/nav/teil2.tex \ - papers/nav/teil3.tex + papers/nav/einleitung.tex \ + papers/nav/flatearth.tex \ + papers/nav/nautischesdreieck.tex \ + papers/nav/sincos.tex \ + papers/nav/trigo.tex \ + papers/nav/references.bib diff --git a/buch/papers/nav/bilder/dreieck.pdf b/buch/papers/nav/bilder/dreieck.pdf Binary files differnew file mode 100644 index 0000000..9d630aa --- /dev/null +++ b/buch/papers/nav/bilder/dreieck.pdf diff --git a/buch/papers/nav/bilder/dreieck.png b/buch/papers/nav/bilder/dreieck.png Binary files differnew file mode 100644 index 0000000..2b02105 --- /dev/null +++ b/buch/papers/nav/bilder/dreieck.png diff --git a/buch/papers/nav/bilder/ephe.png b/buch/papers/nav/bilder/ephe.png Binary files differnew file mode 100644 index 0000000..3f99a36 --- /dev/null +++ b/buch/papers/nav/bilder/ephe.png diff --git a/buch/papers/nav/bilder/kugel1.png b/buch/papers/nav/bilder/kugel1.png Binary files differnew file mode 100644 index 0000000..b3188b7 --- /dev/null +++ b/buch/papers/nav/bilder/kugel1.png diff --git a/buch/papers/nav/bilder/kugel2.png b/buch/papers/nav/bilder/kugel2.png Binary files differnew file mode 100644 index 0000000..057740f --- /dev/null +++ b/buch/papers/nav/bilder/kugel2.png diff --git a/buch/papers/nav/bilder/kugel3.png b/buch/papers/nav/bilder/kugel3.png Binary files differnew file mode 100644 index 0000000..97066a2 --- /dev/null +++ b/buch/papers/nav/bilder/kugel3.png diff --git a/buch/papers/nav/bilder/projektion.png b/buch/papers/nav/bilder/projektion.png Binary files differnew file mode 100644 index 0000000..5dcc0c8 --- /dev/null +++ b/buch/papers/nav/bilder/projektion.png diff --git a/buch/papers/nav/bilder/recht.jpg b/buch/papers/nav/bilder/recht.jpg Binary files differnew file mode 100644 index 0000000..3f60370 --- /dev/null +++ b/buch/papers/nav/bilder/recht.jpg diff --git a/buch/papers/nav/bilder/sextant.jpg b/buch/papers/nav/bilder/sextant.jpg Binary files differnew file mode 100644 index 0000000..53dd784 --- /dev/null +++ b/buch/papers/nav/bilder/sextant.jpg diff --git a/buch/papers/nav/einleitung.tex b/buch/papers/nav/einleitung.tex new file mode 100644 index 0000000..aafa107 --- /dev/null +++ b/buch/papers/nav/einleitung.tex @@ -0,0 +1,9 @@ + + +\section{Einleitung} +Heutzutage ist die Navigation ein Teil des Lebens. +Man sendet dem Kollegen seinen eigenen Standort, um sich das ewige Erklären zu sparen oder gibt die Adresse des Ziels ein, damit man seinen Aufenthaltsort zum Beispiel auf einer riesigen Wiese am See findet. +Dies wird durch Technologien wie Funknavigation, welches ein auf Langzeitmessung beruhendes Hyperbelverfahren mit Langwellen ist oder die verbreitete Satellitennavigation, welche vier Satelliten für eine Messung zur Standortbestimmung nutzt. +Vor all diesen technologischen Fortschritten gab es lediglich die Astronavigation, welche heute noch auf Schiffen verwendet wird im Falle eines Stromausfalls. +Aber wie funktioniert die Navigation mit den Sternen? Welche Hilfsmittel benötigt man, welche Rolle spielt die Mathematik und weshalb kann die Erde nicht flach sein? +In diesem Kapitel werden genau diese Fragen mithilfe des nautischen Dreiecks, der sphärischen Trigonometrie und einigen Hilfsmitteln und Messgeräten beantwortet.
\ No newline at end of file diff --git a/buch/papers/nav/flatearth.tex b/buch/papers/nav/flatearth.tex new file mode 100644 index 0000000..5bfc1b7 --- /dev/null +++ b/buch/papers/nav/flatearth.tex @@ -0,0 +1,28 @@ + + +\section{Warum ist die Erde nicht flach?} + +\begin{figure} + \begin{center} + \includegraphics[width=10cm]{papers/nav/bilder/projektion.png} + \caption[Mercator Projektion]{Mercator Projektion} + \end{center} +\end{figure} + +Es gibt heutzutage viele Beweise dafür, dass die Erde eine Kugel ist. +Die Fotos von unserem Planeten oder die Berichte der Astronauten. +Aber schon vor ca. 2300 Jahren hat Aristoteles bemerkt, dass Schiffe im Horizont verschwinden und die einzige Erklärung dafür die Kugelgestalt der Erde ist. +Auch der Erdschatten bei einer Mondfinsternis ist immer rund. +Eratosthenes konnte etwa 100 Jahre später den Erdumfang berechnen. +Er beobachtete, dass die Sonne in Syene mittags im Zenit steht und gleichzeitig in Alexandria unter einem Winkel einfällt. +Mithilfe der Trigonometrie konnte er mit dem Abstand der Städte und dem Einfallswinkel den Umfang berechnen. + +Der Kartograph Gerhard Mercator projizierte die Erdkugel auf ein Papier und erstellte so eine winkeltreue Karte. +Jedoch wurden die Länder, die einen grösseren Abstand zum Äquator haben vergrössert, damit die Winkel stimmen können. +Wurde man also nun davon ausgehen, dass die Erde flach ist so würden wir nie dort ankommen wo wir es wollen. + +Dies sieht man zum Beispiel sehr gut, wenn man die Anwendung Google Earth und eine Weltkarte vergleicht. +Grönland ist auf der Weltkarte so gross wie Afrika. +In der Anwendung Google Earth jedoch ist Grönland etwa so gross wie Algerien. +Das liegt daran, das man die 3D – Weltkarte nicht einfach auslegen kann. + diff --git a/buch/papers/nav/images/Makefile b/buch/papers/nav/images/Makefile index c9dcacc..da4defa 100644 --- a/buch/papers/nav/images/Makefile +++ b/buch/papers/nav/images/Makefile @@ -50,7 +50,8 @@ DREIECKE3D = \ dreieck3d4.pdf \ dreieck3d5.pdf \ dreieck3d6.pdf \ - dreieck3d7.pdf + dreieck3d7.pdf \ + dreieck3d8.pdf dreiecke3d: $(DREIECKE3D) @@ -106,3 +107,17 @@ dreieck3d7.jpg: dreieck3d7.png dreieck3d7.pdf: dreieck3d7.tex dreieck3d7.jpg pdflatex dreieck3d7.tex +dreieck3d8.png: dreieck3d8.pov common.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 + 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 + diff --git a/buch/papers/nav/images/common.inc b/buch/papers/nav/images/common.inc index 33d9384..2c0ae6e 100644 --- a/buch/papers/nav/images/common.inc +++ b/buch/papers/nav/images/common.inc @@ -12,6 +12,7 @@ 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>); @@ -97,13 +98,13 @@ union { } #end -#macro winkel(w, p, q, staerke) +#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 { <0, 0, 0>, 1 + staerke } - cone { <0, 0, 0>, 0, 1.2 * vnormalize(w), 0.4 } + 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 } } @@ -113,37 +114,74 @@ union { 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 fine = 0.010; +#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 rgb<0.8,0.8,0.8> + color farbe } } +#end -//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/dreieck3d1.pdf b/buch/papers/nav/images/dreieck3d1.pdf Binary files differnew file mode 100644 index 0000000..015bce7 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d1.pdf diff --git a/buch/papers/nav/images/dreieck3d1.pov b/buch/papers/nav/images/dreieck3d1.pov index 8afe60e..e491075 100644 --- a/buch/papers/nav/images/dreieck3d1.pov +++ b/buch/papers/nav/images/dreieck3d1.pov @@ -12,9 +12,9 @@ union { punkt(A, fett) punkt(B, fett) punkt(C, fett) - punkt(P, fine) - seite(B, P, fine) - seite(C, P, fine) + punkt(P, fein) + seite(B, P, fein) + seite(C, P, fein) pigment { color dreieckfarbe } @@ -25,7 +25,7 @@ union { } object { - winkel(A, B, C, fine) + winkel(A, B, C, fein, gross) pigment { color rot } @@ -36,7 +36,7 @@ object { } object { - winkel(B, C, A, fine) + winkel(B, C, A, fein, gross) pigment { color gruen } @@ -47,7 +47,7 @@ object { } object { - winkel(C, A, B, fine) + winkel(C, A, B, fein, gross) pigment { color blau } diff --git a/buch/papers/nav/images/dreieck3d2.pdf b/buch/papers/nav/images/dreieck3d2.pdf Binary files differnew file mode 100644 index 0000000..6b3f09d --- /dev/null +++ b/buch/papers/nav/images/dreieck3d2.pdf diff --git a/buch/papers/nav/images/dreieck3d2.pov b/buch/papers/nav/images/dreieck3d2.pov index c23a54c..c0625ce 100644 --- a/buch/papers/nav/images/dreieck3d2.pov +++ b/buch/papers/nav/images/dreieck3d2.pov @@ -12,9 +12,9 @@ union { punkt(A, fett) punkt(B, fett) punkt(C, fett) - punkt(P, fine) - seite(B, P, fine) - seite(C, P, fine) + punkt(P, fein) + seite(B, P, fein) + seite(C, P, fein) pigment { color dreieckfarbe } diff --git a/buch/papers/nav/images/dreieck3d3.pdf b/buch/papers/nav/images/dreieck3d3.pdf Binary files differnew file mode 100644 index 0000000..7d79455 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d3.pdf diff --git a/buch/papers/nav/images/dreieck3d3.pov b/buch/papers/nav/images/dreieck3d3.pov index f2496b5..b6f64d5 100644 --- a/buch/papers/nav/images/dreieck3d3.pov +++ b/buch/papers/nav/images/dreieck3d3.pov @@ -12,9 +12,9 @@ union { punkt(A, fett) punkt(B, fett) punkt(C, fett) - punkt(P, fine) - seite(B, P, fine) - seite(C, P, fine) + punkt(P, fein) + seite(B, P, fein) + seite(C, P, fein) pigment { color dreieckfarbe } @@ -25,7 +25,7 @@ union { } object { - winkel(A, B, C, fine) + winkel(A, B, C, fein, gross) pigment { color rot } diff --git a/buch/papers/nav/images/dreieck3d4.pdf b/buch/papers/nav/images/dreieck3d4.pdf Binary files differnew file mode 100644 index 0000000..e1ea757 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d4.pdf diff --git a/buch/papers/nav/images/dreieck3d4.pov b/buch/papers/nav/images/dreieck3d4.pov index bddcf7c..b6f17e3 100644 --- a/buch/papers/nav/images/dreieck3d4.pov +++ b/buch/papers/nav/images/dreieck3d4.pov @@ -6,9 +6,9 @@ #include "common.inc" union { - seite(A, B, fine) - seite(A, C, fine) - punkt(A, fine) + seite(A, B, fein) + seite(A, C, fein) + punkt(A, fein) punkt(B, fett) punkt(C, fett) punkt(P, fett) @@ -25,7 +25,7 @@ union { } object { - winkel(B, C, P, fine) + winkel(B, C, P, fein, gross) pigment { color rgb<0.6,0.4,0.2> } diff --git a/buch/papers/nav/images/dreieck3d5.pdf b/buch/papers/nav/images/dreieck3d5.pdf Binary files differnew file mode 100644 index 0000000..0c86d36 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d5.pdf diff --git a/buch/papers/nav/images/dreieck3d5.pov b/buch/papers/nav/images/dreieck3d5.pov index 32fc9e6..188f181 100644 --- a/buch/papers/nav/images/dreieck3d5.pov +++ b/buch/papers/nav/images/dreieck3d5.pov @@ -6,9 +6,9 @@ #include "common.inc" union { - seite(A, B, fine) - seite(A, C, fine) - punkt(A, fine) + seite(A, B, fein) + seite(A, C, fein) + punkt(A, fein) punkt(B, fett) punkt(C, fett) punkt(P, fett) diff --git a/buch/papers/nav/images/dreieck3d6.pov b/buch/papers/nav/images/dreieck3d6.pov index 7611950..191a1e7 100644 --- a/buch/papers/nav/images/dreieck3d6.pov +++ b/buch/papers/nav/images/dreieck3d6.pov @@ -25,7 +25,7 @@ union { } object { - winkel(B, A, P, fine) + winkel(B, A, P, fein, gross) pigment { color rgb<0.6,0.2,0.6> } diff --git a/buch/papers/nav/images/dreieck3d7.pov b/buch/papers/nav/images/dreieck3d7.pov index fa48f5b..aae5c6c 100644 --- a/buch/papers/nav/images/dreieck3d7.pov +++ b/buch/papers/nav/images/dreieck3d7.pov @@ -10,13 +10,13 @@ union { seite(A, P, fett) seite(C, P, fett) - seite(A, B, fine) - seite(B, C, fine) - seite(B, P, fine) + seite(A, B, fein) + seite(B, C, fein) + seite(B, P, fein) punkt(A, fett) punkt(C, fett) punkt(P, fett) - punkt(B, fine) + punkt(B, fein) pigment { color dreieckfarbe } @@ -27,7 +27,7 @@ union { } object { - winkel(A, P, C, fine) + winkel(A, P, C, fein, gross) pigment { color rgb<0.4,0.4,1> } diff --git a/buch/papers/nav/images/dreieck3d8.jpg b/buch/papers/nav/images/dreieck3d8.jpg Binary files differnew file mode 100644 index 0000000..52bd25e --- /dev/null +++ b/buch/papers/nav/images/dreieck3d8.jpg diff --git a/buch/papers/nav/images/dreieck3d8.pdf b/buch/papers/nav/images/dreieck3d8.pdf Binary files differnew file mode 100644 index 0000000..9d630aa --- /dev/null +++ b/buch/papers/nav/images/dreieck3d8.pdf diff --git a/buch/papers/nav/images/dreieck3d8.pov b/buch/papers/nav/images/dreieck3d8.pov new file mode 100644 index 0000000..9e9921a --- /dev/null +++ b/buch/papers/nav/images/dreieck3d8.pov @@ -0,0 +1,96 @@ +// +// dreiecke3d8.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) + seite(A, P, fein) + seite(B, P, fett) + seite(C, P, fett) + punkt(A, fett) + punkt(B, fett) + punkt(C, fett) + punkt(P, fett) + pigment { + color dreieckfarbe + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(A, B, C, fein, klein) + pigment { + color rot + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(B, C, A, fein, klein) + pigment { + color gruen + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(C, A, B, fein, gross) + pigment { + color blau + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(A, P, C, fein/2, gross) + pigment { + color rgb<0.8,0,0.8> + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(B, P, C, fein, klein) + pigment { + color rgb<1,0.8,0> + } + finish { + specular 0.95 + metallic + } +} + +object { + winkel(B, P, A, fein/2, gross) + pigment { + color rgb<0.4,0.6,0.8> + } + finish { + specular 0.95 + metallic + } +} + +dreieck(A, B, C, White) + + diff --git a/buch/papers/nav/images/dreieck3d8.tex b/buch/papers/nav/images/dreieck3d8.tex new file mode 100644 index 0000000..c59c7b0 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d8.tex @@ -0,0 +1,57 @@ +% +% dreieck3d8.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]{dreieck3d8.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.8,0) {$l$}; + +\node at (-2.6,-2.2) {$p_b$}; +\node at (1,-2.9) {$p_c$}; + +\node at (0.7,3.3) {$\alpha$}; +\node at (0.8,2.85) {$\omega$}; +\node at (-2.6,-0.6) {$\beta$}; +\node at (2.3,-1.2) {$\gamma$}; +\node at (-2.6,-1.3) {$\beta_1$}; +\node at (-2.1,-0.8) {$\kappa$}; + +\end{tikzpicture} + +\end{document} + diff --git a/buch/papers/nav/images/dreieck3d9.pov b/buch/papers/nav/images/dreieck3d9.pov new file mode 100644 index 0000000..24d3843 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d9.pov @@ -0,0 +1,66 @@ +// +// dreiecke3d8.pov +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "common.inc" + +//union { +// seite(A, B, fein) +// seite(B, C, fein) +// seite(A, C, fein) +// seite(A, P, fein) +// seite(B, P, fett) +// seite(C, P, fett) +// punkt(A, fein) +// punkt(B, fett) +// punkt(C, fett) +// punkt(P, fett) +// pigment { +// color dreieckfarbe +// } +// finish { +// specular 0.95 +// metallic +// } +//} + +//dreieck(A, B, C, White) + +kugel(kugeltransparent) + +ebenerwinkel(O, C, P, 0.01, 1.001, rot) +ebenerwinkel(P, C, P, 0.01, 0.3, rot) +komplement(P, C, P, 0.01, 0.3, Yellow) + +ebenerwinkel(O, B, P, 0.01, 1.001, blau) +ebenerwinkel(P, B, P, 0.01, 0.3, blau) +komplement(P, B, P, 0.01, 0.3, Green) + +arrow(B, 1.5 * B, 0.015, White) +arrow(C, 1.5 * C, 0.015, White) +arrow(P, 1.5 * P, 0.015, White) + +union { + cylinder { O, P, 0.7 * fein } + + cylinder { P, P + 3 * B, 0.7 * fein } + cylinder { O, B + 3 * B, 0.7 * fein } + + cylinder { P, P + 3 * C, 0.7 * fein } + cylinder { O, C + 3 * C, 0.7 * fein } + + pigment { + color White + } +} + +#declare imagescale = 0.044; + +camera { + location <40, 20, -20> + look_at <0, 0.24, -0.20> + right x * imagescale + up y * imagescale +} + diff --git a/buch/papers/nav/main.tex b/buch/papers/nav/main.tex index e11e2c0..e16dc2a 100644 --- a/buch/papers/nav/main.tex +++ b/buch/papers/nav/main.tex @@ -3,34 +3,19 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:nav}} -\lhead{Thema} +\chapter{Sphärische Navigation\label{chapter:nav}} +\lhead{Sphärische Navigation} \begin{refsection} -\chapterauthor{Hans Muster} +\chapterauthor{Enez Erdem und Marc Kühne} -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} -\input{papers/nav/teil0.tex} -\input{papers/nav/teil1.tex} -\input{papers/nav/teil2.tex} -\input{papers/nav/teil3.tex} + +\input{papers/nav/einleitung.tex} +\input{papers/nav/flatearth.tex} +\input{papers/nav/sincos.tex} +\input{papers/nav/trigo.tex} +\input{papers/nav/nautischesdreieck.tex} + \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/nav/nautischesdreieck.tex b/buch/papers/nav/nautischesdreieck.tex new file mode 100644 index 0000000..c239d64 --- /dev/null +++ b/buch/papers/nav/nautischesdreieck.tex @@ -0,0 +1,199 @@ +\section{Das Nautische Dreieck} +\subsection{Definition des Nautischen Dreiecks} +Die Himmelskugel ist eine gedachte Kugel, welche die Erde und dessen Beobachter umgibt und als Rechenfläche für Koordinaten in der Astronomie und Geodäsie dient. +Der Zenit ist jener Punkt, der vom Erdmittelpunkt durch denn eigenen Standort an die Himmelskugel verlängert wird. +Ein Gestirn ist ein Planet oder ein Fixstern, zu welchen es diverse Jahrbücher mit allen astronomischen Eigenschaften gibt. +Der Himmelspol ist der Nordpol an die Himmelskugel projiziert. +Das nautische Dreieck definiert sich durch folgende Ecken: Zenit, Gestirn und Himmelspol. + +Ursprünglich ist das nautische Dreieck ein Hilfsmittel der sphärischen Astronomie um die momentane Position eines Fixsterns oder Planeten an der Himmelskugel zu bestimmen. + +Für die Definition gilt: +\begin{center} + \begin{tabular}{ c c c } + Winkel && Name / Beziehung \\ + \hline + $\alpha$ && Rektaszension \\ + $\delta$ && Deklination \\ + $\theta$ && Sternzeit von Greenwich\\ + $\phi$ && Geographische Breite\\ + $\tau=\theta-\alpha$ && Stundenwinkel und Längengrad des Gestirns. \\ + $a$ && Azimut\\ + $h$ && Höhe + \end{tabular} +\end{center} + +\begin{itemize} + \item Seitenlänge Zenit zu Himmelspol $= \frac{\pi}{2} - \phi $ + \item Seitenlänge Himmelspol zu Gestirn $= \frac{\pi}{2} - \delta$ + \item Seitenlänge Zenit zu Gestirn $= \frac{\pi}{2} - h$ + \item Winkel von Zenit zu Himmelsnordpol zu Gestirn$=\pi - \alpha$ + \item Winkel von Himmelsnordpol zu Zenit und Gestirn$= \tau$ +\end{itemize} + + +\subsection{Zusammenhang des nautischen Dreiecks und des Kugeldreiecks auf der Erdkugel} +\begin{figure} + \begin{center} + \includegraphics[height=5cm,width=8cm]{papers/nav/bilder/kugel3.png} + \caption[Nautisches Dreieck]{Nautisches Dreieck} + \end{center} +\end{figure} + +Wie man in der Abbildung 21.4 sieht, liegt das nautische Dreieck auf der Himmelskugel mit den Ecken Zenit, Gestirn und Himmelsnordpol. +Das selbe Dreieck kann man aber auch auf die Erdkugel projizieren. Als Bildpunkt wird in der astronomischen Navigation der Punkt bezeichnet, an dem eine gedachte Linie vom Mittelpunkt eines beobachteten Gestirns zum Mittelpunkt der Erde die Erdoberfläche schneidet. Die Projektion auf der Erdkugel hat die Ecken Nordpol, Standort und Bildpunkt. + +\section{Standortbestimmung ohne elektronische Hilfsmittel} +Um den eigenen Standort herauszufinden, wird in diesem Kapitel die Projektion des nautische Dreiecks auf die Erdkugel zur Hilfe genommen. +Mithilfe eines Sextanten, einem Jahrbuch und der sphärischen Trigonometrie kann man dann die Längen- und Breitengrade des eigenen Standortes bestimmen. +Was ein Sextant und ein Jahrbuch ist, wird im Kapitel 21.6 erklärt. +\begin{figure} + \begin{center} + \includegraphics[width=10cm]{papers/nav/bilder/dreieck.pdf} + \caption[Dreieck für die Standortbestimmung]{Dreieck für die Standortbestimmung} + \end{center} +\end{figure} + + + + +\subsection{Ecke $P$ und $A$} +Unser eigener Standort ist der gesuchte Ecke $P$ und die Ecke $A$ ist in unserem Fall der Nordpol. +Der Vorteil ander Idee des nautischen Dreiecks ist, dass eine Ecke immer der Nordpol ist. +Somit ist diese Ecke immer bekannt und nur deswegen sind die Zusammenhänge von Rektaszension, Sternzeit und Deklination so simpel. + +\subsection{Ecke $B$ und $C$ - Bildpunkt $X$ und $Y$} +Für die Standortermittlung benötigt man als weiteren Punkt ein Gestirn bzw. seinen Bildpunkt auf der Erdkugel. +Damit das trigonometrische Rechnen einfacher wird, werden hier zwei Gestirne zur Hilfe genommen. +Es gibt diverse Gestirne, die man nutzen kann wie zum Beispiel die Sonne, der Mond oder die vier Navigationsplaneten Venus, Mars, Jupiter und Saturn. + +Die Bildpunkte von den beiden Gestirnen $X$ und $Y$ bilden die beiden Ecken $B$ und $C$ im Dreieck der Abbildung 21.5. +\subsection{Ephemeriden} +Zu all diesen Gestirnen gibt es Ephemeriden, die man auch Jahrbücher nennt. +In diesen findet man Begriffe wie Rektaszension, Deklination und Sternzeit. + +\begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{papers/nav/bilder/ephe.png} + \caption[Nautical Almanac Mai 2002]{Nautical Almanac Mai 2002} + \end{center} +\end{figure} + +\subsubsection{Deklination} +Die Deklination $\delta$ beschreibt den Winkel zwischen dem Himmelsäquator und Gestirn und entspricht dem Breitengrad des Gestirns. + +\subsubsection{Rektaszension und Sternzeit} +Die Rektaszension $\alpha$ gibt an, in welchem Winkel das Gestirn zum Frühlingspunkt steht und geht vom Koordinatensystem der Himmelskugel aus. +Der Frühlungspunkt ist der Nullpunkt auf dem Himmelsäquator. +Die Tatsache, dass sich die Himmelskugel ca. vier Minuten schneller um die eigene Achse dreht als die Erdkugel, stellt hier ein kleines Problem dar. +Die Lösung ist die Sternzeit. +Mit dieser können wir die schnellere Drehung der Himmelskugel ausgleichen und können die +Am Frühlingspunkt (21. März) 12:00 Uhr ist die Sternzeit +$\theta = 0$. + +Die Sternzeit geht vom Frühlungspunkt aus, an welchem die Sonne den Himmelsäquator schneidet. +Für die Standortermittlung auf der Erdkugel ist es am einfachsten, wenn man die Sternzeit von Greenwich berechnet. +Für die Sternzeit von Greenwich $\theta $braucht man als erstes das Julianische Datum $T$ vom aktuellen Tag, welches sich leicht recherchieren lässt. +Im Anschluss berechnet man die Sternzeit von Greenwich + +\[\theta = 6^h 41^m 50^s,54841 + 8640184^s,812866 \cdot T + 0^s,093104 \cdot T^2 - 0^s,0000062 \cdot T^3.\] + +Wenn man die Sternzeit von Greenwich ausgerechnet hat, kann man den Längengrad des Gestirns $\lambda = \theta - \alpha$ mithilfe der Rektaszension und Sternzeit von Greenwich bestimmen. +Dies gilt analog auch für das zweite Gestirn. +\subsubsection{Sextant} +Ein Sextant ist ein nautisches Messinstrument, mit dem man den Winkel zwischen der Blickrichtung zu weit entfernten Objekten bestimmen kann, insbesondere den Winkelabstand zu einem Gestirn vom Horizont. Man nutze ihn vor allem für die astronomische Navigation auf See. + +\begin{figure} + \begin{center} + \includegraphics[width=10cm]{papers/nav/bilder/sextant.jpg} + \caption[Sextant]{Sextant} + \end{center} +\end{figure} + +\subsection{Bestimmung des eigenen Standortes $P$} +Nun hat man die Koordinaten der beiden Gestirne und man weiss die Koordinaten des Nordpols. +Damit wir unseren Standort bestimmen können, bilden wir zuerst das Dreieck $ABC$, dann das Dreieck $BPC$ und zum Schluss noch das Dreieck $ABP$. +Mithilfe dieser Dreiecken können wir die einfachen Sätze der sphärischen Trigonometrie anwenden und benötigen lediglich ein Ephemeride zu den Gestirnen und einen Sextant. + +\begin{figure} + \begin{center} + \includegraphics[width=8cm]{papers/nav/bilder/dreieck.pdf} + \caption[Dreieck für die Standortbestimmung]{Dreieck für die Standortbestimmung} + \end{center} +\end{figure} + + +\subsubsection{Dreieck $ABC$} + +\begin{center} + \begin{tabular}{ c c c } + Ecke && Name \\ + \hline + $A$ && Nordpol \\ + $B$ && Bildpunkt des Gestirns $X$ \\ + $C$&& Bildpunkt des Gestirns $Y$ + \end{tabular} +\end{center} + +Mit unserem erlangten Wissen können wir nun alle Seiten des Dreiecks $ABC$ berechnen. + +Die Seite vom Nordpol zum Bildpunkt $X$ sei $c$. +Dann ist $c = \frac{\pi}{2} - \delta_1$. + +Die Seite vom Nordpol zum Bildpunkt $Y$ sei $b$. +Dann ist $b = \frac{\pi}{2} - \delta_2$. + +Der Innenwinkel bei der Ecke, wo der Nordpol ist sei $\alpha$. +Dann ist $ \alpha = |\lambda_1 - \lambda_2|$. + +mit +\begin{center} + \begin{tabular}{ c c c } + Ecke && Name \\ + \hline + $\delta_1$ && Deklination vom Bildpunkt $X$ \\ + $\delta_2$ && Deklination vom Bildpunk $Y$ \\ + $\lambda_1 $&& Längengrad vom Bildpunkt $X$\\ + $\lambda_2$ && Längengrad vom Bildpunkt $Y$ + \end{tabular} +\end{center} + +Nun haben wir die beiden Seiten $c$ und $b$ und den Winkel $\alpha$, der sich zwischen diesen Seiten befindet. +Mithilfe des Seiten-Kosinussatzes +$\cos(a) = \cos(b)\cdot \cos(c) + \sin(b) \cdot \sin(c)\cdot \cos(\alpha)$ +können wir nun die dritte Seitenlänge bestimmen. +Es ist darauf zu achten, dass hier natürlich die Seitenlängen in Bogenmass sind und dementsprechend der Kosinus und Sinus verwendet wird. + +Jetzt fehlen noch die beiden anderen Innenwinkel $\beta$ und\ $\gamma$. +Diese bestimmen wir mithilfe des Sinussatzes \[\frac{\sin (a)}{\sin (\alpha)} =\frac{\sin (b)}{\sin (\beta)} = \frac{\sin (c)}{\sin (\gamma)}.\] +Hier muss man aufpassen, dass man Seite von Winkel unterscheiden kann. +Im Zähler sind die Seiten, im Nenner die Winkel. +Somit ist \[\beta =\sin^{-1} [\sin(b) \cdot \frac{\sin(\alpha)}{\sin(a)}].\] + +Schlussendlich haben wir die Seiten $a,b\ und \ c$, die Ecken A,B und C und die Winkel $\alpha$, $\beta$ und $\gamma$ bestimmt und somit das ganze Kugeldreieck $ABC$ berechnet. + +\subsubsection{Dreieck $BPC$} +Wir bilden nun ein zweites Dreieck, welches die Ecken $B$ und $C$ des ersten Dreiecks besitzt. +Die dritte Ecke ist der eigene Standort $P$. +Unser Standort definiere sich aus einer geographischen Breite $\delta$ und einer geographischen Länge $\lambda$. + +Die Seite von $P$ zu $B$ sei $pb$ und die Seite von $P$ zu $C$ sei $pc$. +Die beiden Seitenlängen kann man mit dem Sextant messen und durch eine einfache Formel bestimmen, nämlich $pb=\frac{\pi}{2} - h_{B}$ und $pc=\frac{\pi}{2} - h_{C}$ + +mit $h_B=$ Höhe von Gestirn in $B$ und $h_C=$ Höhe von Gestirn in $C$ mit Sextant gemessen. + +Zum Schluss müssen wir noch den Winkel $\beta_1$ mithilfe des Seiten-Kosinussatzes \[\cos(pb)=\cos(pc)\cdot\cos(a)+\sin(pc)\cdot\sin(a)\cdot\cos(\beta_1)\] mit den bekannten Seiten $pc$, $pb$ und $a$ bestimmen. +\subsubsection{Dreieck $ABP$} +Nun muss man eine Verbindungslinie ziehen zwischen $P$ und $A$. Die Länge $l$ dieser Linie entspricht der gesuchten geographischen Breite $\delta$. Diese lässt sich mithilfe des Dreiecks $ABP$, den bekannten Seiten $c$ und $pb$ und des Seiten-Kosinussatzes berechnen. +Für den Seiten-Kosinussatz benötigt es noch $\kappa=\beta + \beta_1$. +Somit ist \[\cos(l) = \cos(c)\cdot \cos(pb) + \sin(c) \cdot \sin(pb) \cdot \cos(\kappa)\] +und +\[ +\delta =\cos^{-1} [\cos(c) \cdot \cos(pb) + \sin(c) \cdot \sin(pb) \cdot \cos(\kappa)]. +\] + +Für die Geographische Länge $\lambda$ des eigenen Standortes muss man den Winkel $\omega$, welcher sich im Dreieck $ACP$ in der Ecke bei $A$ befindet. +Mithilfe des Sinussatzes \[\frac{\sin (a)}{\sin (\alpha)} =\frac{\sin (b)}{\sin (\beta)} = \frac{\sin (c)}{\sin (\gamma)}\] können wir das bestimmen. +Somit ist \[ \omega=\sin^{-1}[\sin(pc) \cdot \frac{\sin(\gamma)}{\sin(l)}] \]und unsere gesuchte geographische Länge schlussendlich +\[\lambda=\lambda_1 - \omega\] +wobei $\lambda_1$ die Länge des Bildpunktes $X$ von $C$ ist. diff --git a/buch/papers/nav/packages.tex b/buch/papers/nav/packages.tex index 9faa48d..5b87303 100644 --- a/buch/papers/nav/packages.tex +++ b/buch/papers/nav/packages.tex @@ -8,3 +8,4 @@ % following example %\usepackage{packagename} +\usepackage{amsmath}
\ No newline at end of file diff --git a/buch/papers/nav/sincos.tex b/buch/papers/nav/sincos.tex new file mode 100644 index 0000000..d56d482 --- /dev/null +++ b/buch/papers/nav/sincos.tex @@ -0,0 +1,21 @@ + + + +\section{Sphärische Navigation und Winkelfunktionen} +Es gibt Hinweise, dass sich schon die Babylonier und Ägypter vor 4000 Jahren sich mit Problemen der sphärischen Trigonometrie beschäftigt haben um den Lauf von Gestirnen zu berechnen. +Jedoch konnten sie dieses Problem nicht lösen. + +Die Geschichte der sphärischen Trigonometrie ist daher eng mit der Astronomie verknüpft. Ca. 350 vor Christus dachten die Griechen über Kugelgeometrie nach und sie wurde zu einer Hilfswissenschaft der Astronomen. +Zwischen 190 v. Chr. und 120 v. Chr. lebte ein griechischer Astronom names Hipparchos. +Dieser entwickelte unter anderem die Chordentafeln, welche die Chord - Funktionen, auch Chord genannt, beinhalten. +Chord ist der Vorgänger der Sinusfunktion und galt damals als wichtigste Grundlage der Trigonometrie. +In dieser Zeit wurden auch die ersten Sternenkarten angefertigt, jedoch kannte man damals die Sinusfunktion noch nicht. + +Aus Indien stammten die ersten Ansätze zu den Kosinussätzen. +Aufbauend auf den indischen und griechischen Forschungen entwickeln die Araber um das 9. Jahrhundert den Sinussatz. +Doch ein paar weitere Jahrhunderte vergingen bis zu diesem Thema wieder verstärkt Forschung betrieben wurde, da im 15. Jahrhundert grosse Entdeckungsreisen, hauptsächlich per Schiff, erfolgten und die Orientierung mit Sternen vermehrt an Wichtigkeit gewann. +Man nutzte für die Kartographie nun die Kugelgeometrie, um die Genauigkeit zu erhöhen. +Der Sinussatz, die Tangensfunktion und der neu entwickelte Seitenkosinussatz wurden in dieser Zeit bereits verwendet und im darauffolgenden Jahrhundert folgte der Winkelkosinussatz. + +Durch weitere mathematische Entwicklungen wie den Logarithmus wurden im Laufe des nächsten Jahrhunderts viele neue Methoden und kartographische Anwendungen der Kugelgeometrie entdeckt. +Im 19. und 20. Jahrhundert wurden weitere nicht-euklidische Geometrien entwickelt und die sphärische Trigonometrie fand auch ihre Anwendung in der Relativitätstheorie.
\ No newline at end of file diff --git a/buch/papers/nav/teil0.tex b/buch/papers/nav/teil0.tex deleted file mode 100644 index f3323a9..0000000 --- a/buch/papers/nav/teil0.tex +++ /dev/null @@ -1,22 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 0\label{nav:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{nav:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - diff --git a/buch/papers/nav/teil1.tex b/buch/papers/nav/teil1.tex deleted file mode 100644 index 996202f..0000000 --- a/buch/papers/nav/teil1.tex +++ /dev/null @@ -1,55 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 1 -\label{nav:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{nav:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{nav:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{nav:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{nav:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. - - diff --git a/buch/papers/nav/teil2.tex b/buch/papers/nav/teil2.tex deleted file mode 100644 index 5a52e03..0000000 --- a/buch/papers/nav/teil2.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil2.tex -- Beispiel-File für teil2 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 2 -\label{nav:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{nav:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - diff --git a/buch/papers/nav/teil3.tex b/buch/papers/nav/teil3.tex deleted file mode 100644 index 2b5d2d5..0000000 --- a/buch/papers/nav/teil3.tex +++ /dev/null @@ -1,40 +0,0 @@ -% -% teil3.tex -- Beispiel-File für Teil 3 -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{Teil 3 -\label{nav:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{nav:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. - - diff --git a/buch/papers/nav/trigo.tex b/buch/papers/nav/trigo.tex new file mode 100644 index 0000000..ce367f6 --- /dev/null +++ b/buch/papers/nav/trigo.tex @@ -0,0 +1,108 @@ + +\section{Sphärische Trigonometrie} +In der sphärischen Trigonometrie gibt es eine Symetrie zwischen Seiten und Winkel, also zu jedem Satz über Seiten und Winkel gibt es einen entsprechenden Satz, mit dem man Winkel durch Seiten und Seiten durch Winkel ersetzt hat. +Dabei gibt es folgenden Zusammenhang zwischen der ebenen- und sphärischen Trigonometrie: + +\subsection{Das Kugeldreieck} +Damit man die Definition des Kugeldreiecks versteht, müssen wir zuerst Begriffe wie "Grosskreisebene" und "Grosskreisbögen" verstehen. +Ein Grosskreis ist ein größtmöglicher Kreis auf einer Kugeloberfläche. +Sein Mittelpunkt fällt immer mit dem Mittelpunkt der Kugel zusammen und ein Schnitt auf dem Großkreis teilt die Kugel in jedem Fall in zwei gleich grosse Hälften. +Da es unendlich viele Möglichkeiten gibt, eine Kugel so zu zerschneiden, dass die Schnittebene den Kugelmittelpunkt trifft, gibt es auch unendlich viele Grosskreise. +Grosskreisbögen sind die Verbindungslinien zwischen zwei Punkten auf der Kugel, welche auch "Seiten" eines Kugeldreiecks gennant werden. + +Werden drei voneinander verschiedene Punkte, die sich nicht auf derselben Grosskreisebene befinden, mit Grosskreisbögen verbunden, so entsteht ein Kugeldreieck $ABC$. +Für ein Kugeldreieck gilt, dass die Summe der drei Seiten kleiner als $2\pi$ aber grösser als 0 ist. +$A$, $B$ und $C$ sind die Ecken des Dreiecks und dessen Seiten sind die Grosskreisbögen zwischen den Eckpunkten (siehe Abbildung 21.2). + +Da die Länge der Grosskreisbögen wegen der Abhängigkeit vom Kugelradius ungeeignet ist, wird die Grösse einer Seite mit dem zugehörigen Mittelpunktwinkel des Grosskreisbogens angegeben. +Laut dieser Definition ist die Seite $c$ der Winkel $AMB$, wobei der Punkt $M$ die Erdmitte ist. + +Man kann bei Kugeldreiecken nicht so einfach unterscheiden, was Innen oder Aussen ist. +Wenn man drei Eckpunkte miteinander verbindet, ergeben sich immer 16 Kugeldreiecke. +Jenes Kugeldreieck mit den Seitenlängen $a, b, c < \pi$ und den Winkeln $\alpha, \beta, \gamma < \pi$ nennt man Eulersches Dreieck. + +Es gibt einen Zusammenhang zwischen der ebenen- und sphärischen Trigonometrie, wobei folgend $a$ eine Seite beschreibt: +\begin{center} + \begin{tabular}{ccc} + Eben & $\leftrightarrow$ & sphärisch \\ + \hline + $a$ & $\leftrightarrow$ & $\sin \ a$ \\ + + $a^2$ & $\leftrightarrow$ & $-\cos \ a$ \\ + \end{tabular} +\end{center} + +\begin{figure} + \begin{center} + \includegraphics[width=6cm]{papers/nav/bilder/kugel1.png} + \caption[Das Kugeldreieck]{Das Kugeldreieck} + \end{center} + +\end{figure} + +\subsection{Rechtwinkliges Dreieck und rechtseitiges Dreieck} +Wie auch im ebenen Dreieck gibt es beim Kugeldreieck auch ein rechtwinkliges Kugeldreieck, bei dem ein Winkel $\frac{\pi}{2}$ ist. +Ein Rechtseitiges Dreieck gibt es jedoch nur beim Kugeldreieck, weil dort eine Seitenlänge $\frac{\pi}{2}$ lang sein muss. +\begin{figure} + + \begin{center} + \includegraphics[width=10cm]{papers/nav/bilder/recht.jpg} + \caption[Rechtseitiges Kugeldreieck]{Rechtseitiges Kugeldreieck} + \end{center} +\end{figure} + +\subsection{Winkelsumme} +\begin{figure} + + \begin{center} + \includegraphics[width=8cm]{papers/nav/bilder/kugel2.png} + \caption[Winkelangabe im Kugeldreieck]{Winkelangabe im Kugeldreieck} + \end{center} +\end{figure} + + +Die Winkel eines Kugeldreiecks sind die, welche die Halbtangenten in den Eckpunkten einschliessen. +Für die Summe der Innenwinkel gilt +\begin{align} + \alpha+\beta+\gamma &= \frac{F}{r^2} + \pi \ \text{und} \ \alpha+\beta+\gamma > \pi, \nonumber +\end{align} +wobei F der Flächeninhalt des Kugeldreiecks ist. +\subsubsection{Sphärischer Exzess} +Der sphärische Exzess +\begin{align} + \epsilon = \alpha+\beta+\gamma - \pi \nonumber +\end{align} +beschreibt die Abweichung der Innenwinkelsumme von $\pi$ und ist proportional zum Flächeninhalt des Kugeldreiecks. + +\subsubsection{Flächeninnhalt} +Mithilfe des Radius $r$ und dem sphärischen Exzess $\epsilon$ gilt für den Flächeninhalt +\[ F=\frac{\pi \cdot r^2}{\frac{\pi}{2}} \cdot \epsilon\]. +\subsection{Sphärischer Sinussatz} +In jedem Dreieck ist das Verhältnis des Sinus einer Seite zum Sinus des Gegenwinkels konstant. +Das bedeutet, dass + +\begin{align} + \frac{\sin (a)}{\sin (\alpha)} =\frac{\sin (b)}{\sin (\beta)} = \frac{\sin (c)}{\sin (\gamma)} \nonumber +\end{align} +auch beim Kugeldreieck gilt. + +\subsection{Sphärische Kosinussätze} +Auch in der sphärischen Trigonometrie gibt es den Seitenkosinussatz +\begin{align} + \cos \ a = \cos b \cdot \cos c + \sin b \cdot \sin c \cdot \cos \alpha \nonumber +\end{align} %Seitenkosinussatz +und den Winkelkosinussatz + +\begin{align} + \cos \gamma = -\cos \alpha \cdot \cos \beta + \sin \alpha \cdot \sin \beta \cdot \cos c. \nonumber +\end{align} + +\subsection{Sphärischer Satz des Pythagoras für das rechtwinklige Kugeldreieck} +Es gibt in der sphärischen Trigonometrie eigentlich garkeinen "Satz des Pythagoras", wie man ihn aus der zweidimensionalen Geometrie kennt. +In der sphärischen Trigonometrie gibt es aber auch einen Satz, der alle drei Seiten eines rechtwinkligen Kugeldreiecks, nicht aber für das rechtseitige Kugeldreieck, in eine Beziehung bringt. +Es gilt nämlich: +\begin{align} + \cos c = \cos a \cdot \cos b \ \text{wenn} \nonumber & + \alpha = \frac{\pi}{2} \nonumber +\end{align} +
\ No newline at end of file |