From 265b976d0d6bfa665ba5e1be3755ba932f42b97e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 3 Jan 2022 16:06:51 +0100 Subject: Abbildung kegelschnitte --- buch/chapters/030-geometrie/images/Makefile | 29 +- buch/chapters/030-geometrie/images/hyperbel.pdf | Bin 0 -> 26762 bytes buch/chapters/030-geometrie/images/hyperbel.tex | 89 ++++ .../030-geometrie/images/kegelschnitte.jpg | Bin 0 -> 158373 bytes .../030-geometrie/images/kegelschnitte.pdf | Bin 0 -> 179256 bytes .../030-geometrie/images/kegelschnitte.pov | 492 +++++++++++++++++++++ .../030-geometrie/images/kegelschnitte.tex | 115 +++++ buch/chapters/030-geometrie/images/zylinder.jpg | Bin 0 -> 147616 bytes buch/chapters/030-geometrie/images/zylinder.pdf | Bin 165606 -> 165606 bytes buch/chapters/030-geometrie/images/zylinder.pov | 183 ++++++++ buch/chapters/030-geometrie/laenge.tex | 217 ++++++++- buch/chapters/050-differential/bessel.tex | 2 +- 12 files changed, 1113 insertions(+), 14 deletions(-) create mode 100644 buch/chapters/030-geometrie/images/hyperbel.pdf create mode 100644 buch/chapters/030-geometrie/images/hyperbel.tex create mode 100644 buch/chapters/030-geometrie/images/kegelschnitte.jpg create mode 100644 buch/chapters/030-geometrie/images/kegelschnitte.pdf create mode 100644 buch/chapters/030-geometrie/images/kegelschnitte.pov create mode 100644 buch/chapters/030-geometrie/images/kegelschnitte.tex create mode 100644 buch/chapters/030-geometrie/images/zylinder.jpg create mode 100644 buch/chapters/030-geometrie/images/zylinder.pov (limited to 'buch') diff --git a/buch/chapters/030-geometrie/images/Makefile b/buch/chapters/030-geometrie/images/Makefile index a18208d..457a0a1 100644 --- a/buch/chapters/030-geometrie/images/Makefile +++ b/buch/chapters/030-geometrie/images/Makefile @@ -4,24 +4,30 @@ # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: hyperbelflaeche.pdf \ - polargleichung.pdf \ +all: \ deftrig.pdf \ einheitskreis.pdf \ + hyperbelflaeche.pdf \ + hyperbel.pdf \ + kegelschnitte.pdf \ + polargleichung.pdf \ zylinder.pdf -hyperbelflaeche.pdf: hyperbelflaeche.tex - pdflatex hyperbelflaeche.tex - -polargleichung.pdf: polargleichung.tex - pdflatex polargleichung.tex - deftrig.pdf: deftrig.tex pdflatex deftrig.tex einheitskreis.pdf: einheitskreis.tex pdflatex einheitskreis.tex +hyperbelflaeche.pdf: hyperbelflaeche.tex + pdflatex hyperbelflaeche.tex + +hyperbel.pdf: hyperbel.tex + pdflatex hyperbel.tex + +polargleichung.pdf: polargleichung.tex + pdflatex polargleichung.tex + zylinder.png: zylinder.pov povray +A0.1 +W1920 +H1080 -Ozylinder.png zylinder.pov zylinder.jpg: zylinder.png Makefile @@ -30,3 +36,10 @@ zylinder.jpg: zylinder.png Makefile zylinder.pdf: zylinder.tex zylinder.jpg pdflatex zylinder.tex +kegelschnitte.pdf: kegelschnitte.tex kegelschnitte.jpg + pdflatex kegelschnitte.tex +kegelschnitte.png: kegelschnitte.pov + povray +A0.1 +W1920 +H1080 -Okegelschnitte.png kegelschnitte.pov +kegelschnitte.jpg: kegelschnitte.png Makefile + convert -extract 1520x1080+200+0 kegelschnitte.png \ + -density 300 -units PixelsPerInch kegelschnitte.jpg diff --git a/buch/chapters/030-geometrie/images/hyperbel.pdf b/buch/chapters/030-geometrie/images/hyperbel.pdf new file mode 100644 index 0000000..0d4b3a3 Binary files /dev/null and b/buch/chapters/030-geometrie/images/hyperbel.pdf differ diff --git a/buch/chapters/030-geometrie/images/hyperbel.tex b/buch/chapters/030-geometrie/images/hyperbel.tex new file mode 100644 index 0000000..adee7da --- /dev/null +++ b/buch/chapters/030-geometrie/images/hyperbel.tex @@ -0,0 +1,89 @@ +% +% hyperbel.tex -- Hyperbel-Definition +% +% (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} +\pgfmathparse{14/18.8} +\xdef\skala{\pgfmathresult} +\def\hyperbel#1#2#3{ +\begin{scope} + \clip (-9,-7) rectangle (9,7); + \draw[color=#3,line width=1.4pt] plot[domain=-2:2,samples=100] + ({#1*cosh(\x)},{#2*sinh(\x)}); + \draw[color=#3,line width=1.4pt] plot[domain=-2:2,samples=100] + ({-#1*cosh(\x)},{#2*sinh(\x)}); +\end{scope} +} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\punkt#1#2#3{ ({#1*cosh(#3)},{#2*sinh(#3)}) } +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\e{5} + +\coordinate (F1) at (\e,0); +\coordinate (F2) at (-\e,0); + +\draw[->] (-9.1,0) -- (9.4,0) coordinate[label={$x$}]; +\draw[->] (0,-7.1) -- (0,7.3) coordinate[label={right:$y$}]; + + +\begin{scope} +\clip (-9,-7) rectangle (9,7); + +\draw[color=gray] (-12,-9) -- (12,9); +\draw[color=gray] (-12,9) -- (12,-9); +\end{scope} + +\foreach \a in {0.5,1,...,4.5}{ + \pgfmathparse{sqrt(\e*\e-\a*\a)} + \xdef\b{\pgfmathresult} + \hyperbel{\a}{\b}{red!20} +} + +\def\a{4} +\def\b{3} +\def\t{1.2} +%\coordinate (P) at \punkt{\a}{\b}{\t}; +\coordinate (P) at ({1.8107*\a},{1.5095*\b}); + +\draw[color=gray] (\e,0) arc (0:atan(\b/\a):\e); + +\draw[color=darkgreen,line width=1.4pt] (F1) -- (P) -- (F2); + +\draw[color=blue,line width=1.4pt] (0,0) -- (\a,0) -- (\a,\b); +\node[color=blue] at ({0.5*\a},0) [above] {$a$}; +\node[color=blue] at (\a,{0.5*\b}) [left] {$b$}; + +\fill[color=blue] (F1) circle[radius=0.10]; +\fill[color=blue] (F2) circle[radius=0.10]; + +\hyperbel{\a}{\b}{red} + +\node at (F1) [above left] {$F_1$}; +\node at (F2) [above left] {$F_2$}; + +\node[color=blue] at (F1) [below] {$e$}; +\node[color=blue] at (F2) [below] {$-e$}; + +\fill[color=darkgreen] (P) circle[radius=0.1]; +\node[color=darkgreen] at (P) [below right] {$P$}; + +\fill[color=red] (\a,0) circle[radius=0.1]; +\node[color=red] at (\a,0) [below left] {$A_+$}; +\fill[color=red] (-\a,0) circle[radius=0.1]; +\node[color=red] at (-\a,0) [below right] {$A_-$}; + +\node[color=darkgreen] at ($0.5*(F2)+0.5*(P)$) [above left] {$\overline{F_2P}$}; +\node[color=darkgreen] at ($0.5*(F1)+0.5*(P)$) [right] {$\overline{F_1P}$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/030-geometrie/images/kegelschnitte.jpg b/buch/chapters/030-geometrie/images/kegelschnitte.jpg new file mode 100644 index 0000000..5d0b329 Binary files /dev/null and b/buch/chapters/030-geometrie/images/kegelschnitte.jpg differ diff --git a/buch/chapters/030-geometrie/images/kegelschnitte.pdf b/buch/chapters/030-geometrie/images/kegelschnitte.pdf new file mode 100644 index 0000000..aa697f4 Binary files /dev/null and b/buch/chapters/030-geometrie/images/kegelschnitte.pdf differ diff --git a/buch/chapters/030-geometrie/images/kegelschnitte.pov b/buch/chapters/030-geometrie/images/kegelschnitte.pov new file mode 100644 index 0000000..60e6964 --- /dev/null +++ b/buch/chapters/030-geometrie/images/kegelschnitte.pov @@ -0,0 +1,492 @@ +// +// kegelschnitte.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.090; +#declare r = 0.03; +#declare R = 1.3 * r; + +camera { + location <-33, 20, 50> + look_at <0, -1.30, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <10, 5, 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 to with thickness with +// color +// +#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(<-5,0,0>, <5,0,0>, r, White) +//arrow(<0,-2,0>, <0,2,0>, r, White) +//arrow(<0,0,-2>, <0,0,2>, r, White) + +#declare kegelfarbe = rgb<0.2,0.6,0.6>; +#declare kegelfarbetransparent = rgbt<0.6,0.6,0.6,0.7>; +#declare fokusfarbe = rgb<1,0.2,0.2>; +#declare scheitelfarbe = rgb<0.0,0.6,0.0>; +#declare kurvenfarbe = rgb<0.4,0.8,0>; +#declare leitfarbe = rgb<0.8,0.2,0.8>; +#declare ebenenfarbe = rgbt<0.6,0.4,0.2,0.0>; + +#declare kegelhoehe = 3; +#declare kegelradius = 1.4; + +#macro kegel(X) +union { + cone { , 0, , kegelradius } + cone { , 0, , kegelradius } +} +#end + +#macro ebene(X, normale, abstand, anteil) +difference { + intersection { + box { + , + //, + + } + plane { normale, abstand + 0.001 } + plane { -normale, -abstand + 0.001 } + } + kegel(X) + no_shadow + pigment { + color ebenenfarbe + } + finish { + specular 0.5 + metallic + } +} +#end + +#declare nparabel = vnormalize(<0, kegelradius, kegelhoehe>); +#declare nparabel2 = vnormalize(<0, kegelradius, -kegelhoehe>); +#declare nellipse = vnormalize(<0, kegelradius + 2, kegelhoehe>); +#declare nellipse2 = vnormalize(<0, kegelradius + 2, -kegelhoehe>); +#declare nhyperbel = vnormalize(<0, kegelradius - 1, kegelhoehe>); + +#declare offsetparabel = -0.6; +#declare offsetellipse = -1.1; +#declare offsethyperbel = 0.4; + +// +// Hyperbel +// +ebene(3, nhyperbel, offsethyperbel, 0.0) +intersection { + plane { nhyperbel, offsethyperbel } + kegel(3) + pigment { + color kegelfarbe + } + finish { + specular 0.95 + metallic + } +} + +intersection { + plane { -nhyperbel, -offsethyperbel-0.001 } + kegel(3) + no_shadow + pigment { + color kegelfarbetransparent + } + finish { + specular 0.5 + metallic + } +} + + +#declare e3 = <0, 1, 0>; +#declare tunten = -offsethyperbel / vdot(nparabel-nhyperbel, e3); +#declare toben = offsethyperbel / vdot(nparabel+nhyperbel, e3); +#declare winkel = acos(vdot(nparabel, nhyperbel)); + +#declare Cunten = e3 * tunten + <3,0,0>; +#declare Coben = e3 * toben + <3,0,0>; + +#declare runten = -(vdot(Cunten, nhyperbel) - offsethyperbel); +#declare Funten = Cunten + runten * nhyperbel; +#declare Punten = Cunten + runten * nparabel; +#declare Sunten = Cunten + runten * vnormalize(nparabel+nhyperbel) / cos(winkel/2); + +#declare roben = -(vdot(Coben, nhyperbel) - offsethyperbel); +#declare Foben = Coben + roben * nhyperbel; +#declare Poben = Coben - roben * nparabel2; +#declare Soben = Coben + roben * vnormalize(-nparabel2+nhyperbel) / cos(winkel/2); + +#declare Origin = (Soben + Sunten) / 2; +#declare xaxis = vnormalize(Sunten - Origin); +#declare yaxis = <1,0,0>; + +#declare a = vlength(Sunten - Soben) / 2; +#declare e = vlength(Foben - Funten) / 2; +#declare b = sqrt(e*e - a*a); + +#macro hyperbel(s) + Origin + (a * cosh(s) * xaxis + b * sinh(s) * yaxis) +#end + +#macro hyperbelneg(s) + Origin + (-a * cosh(s) * xaxis + b * sinh(s) * yaxis) +#end + +#declare rkurve = 0.6 * r; + +// Hyperbel +union { + #declare N = 100; + #declare smin = -1.72; + #declare smax = -smin; + #declare sstep = (smax - smin) / N; + #declare s = smin; + #while (s < smax - sstep/2) + cylinder { hyperbel(s), hyperbel(s+sstep), rkurve } + cylinder { hyperbelneg(s), hyperbelneg(s+sstep), rkurve } + sphere { hyperbel(s), rkurve } + sphere { hyperbelneg(s), rkurve } + #declare s = s + sstep; + #end + sphere { hyperbel(s), rkurve } + sphere { hyperbelneg(s), rkurve } + pigment { + color kurvenfarbe + } + finish { + specular 0.9 + metallic + } +} + +// Brennpunkte +union { + sphere { Funten, r } + sphere { Foben, r } + pigment { + color fokusfarbe + } + finish { + specular 0.9 + metallic + } +} + +// Scheitelpunkte +union { + sphere { Sunten, r } + sphere { Soben, r } + pigment { + color scheitelfarbe + } + finish { + specular 0.9 + metallic + } +} + +#declare swert = -1.3; +union { + sphere { hyperbel(swert), r } + cylinder { Funten, hyperbel(swert), rkurve } + cylinder { Foben, hyperbel(swert), rkurve } + pigment { + color Yellow + } + finish { + specular 0.9 + metallic + } +} +// +// Parabeln +// +intersection { + plane { nparabel, offsetparabel } + kegel(0) + pigment { + color kegelfarbe + } + finish { + specular 0.95 + metallic + } +} + +intersection { + plane { -nparabel, -offsetparabel+0.001 } + kegel(0) + //no_shadow + pigment { + color kegelfarbetransparent + } + finish { + specular 0.5 + metallic + } +} + +ebene(0, nparabel, offsetparabel, 0.5) + +#declare tcenter = 0.5 * offsetparabel / vdot(nparabel, e3); +#declare C = tcenter * e3; +#declare F = C + 0.5 * offsetparabel * nparabel; +#declare S = <0, tcenter, tcenter * (kegelradius/kegelhoehe) >; +#declare xaxis = vnormalize(F - S); +#declare p = 4 * vlength(S - F); + +#declare L = S + (S-F); + +#macro parabel(Y) + (S + Y * yaxis + Y * (Y/p) * xaxis) +#end +#macro leitgerade(Y) + L + Y * yaxis +#end + +// +// Parabel +// +union { + #declare ymin = -1.19; + #declare ymax = -ymin; + #declare ystep = (ymax - ymin) / N; + #declare Y = ymin; + #while (Y < ymax - ystep/2) + sphere { parabel(Y), rkurve } + cylinder { parabel(Y), parabel(Y+ystep), rkurve } + #declare Y = Y + ystep; + #end + sphere { parabel(Y), rkurve } + pigment { + color kurvenfarbe + } + finish { + specular 0.9 + metallic + } +} + +union { + cylinder { leitgerade(ymin), leitgerade(ymax), rkurve } + sphere { leitgerade(ymin), rkurve} + sphere { leitgerade(ymax), rkurve} + pigment { + color leitfarbe + } + finish { + specular 0.9 + metallic + } +} + +union { + sphere { F, r } + pigment { + color fokusfarbe + } + finish { + specular 0.9 + metallic + } +} + +union { + sphere { S, r } + pigment { + color scheitelfarbe + } + finish { + specular 0.9 + metallic + } +} + +#declare ywert = -0.7; +union { + sphere { parabel(ywert), r } + cylinder { F, parabel(ywert), rkurve } + cylinder { parabel(ywert), leitgerade(ywert), rkurve } + sphere { leitgerade(ywert), r } + pigment { + color Yellow + } + finish { + specular 0.9 + metallic + } +} + +// +// Dandelin Kugeln für die Ellipse +// + +ebene(-3, nellipse, offsetellipse, 1) +intersection { + plane { nellipse, offsetellipse } + kegel(-3) + pigment { + color kegelfarbe + } + finish { + specular 0.95 + metallic + } +} + +intersection { + plane { -nellipse, -offsetellipse+0.001 } + kegel(-3) + //no_shadow + pigment { + color kegelfarbetransparent + } + finish { + specular 0.5 + metallic + } +} + +#declare tunten = -offsetellipse / vdot(nparabel-nellipse, e3); +#declare toben = offsetellipse / vdot(nparabel+nellipse, e3); +#declare winkel = acos(vdot(nparabel, nellipse)); +#declare winkel2 = acos(-vdot(nparabel2, nellipse)); + +#declare Cunten = e3 * tunten + <-3,0,0>; +#declare Coben = e3 * toben + <-3,0,0>; + +#declare runten = -(vdot(Cunten, nellipse) - offsetellipse); +#declare Funten = Cunten + runten * nellipse; +#declare Punten = Cunten + runten * nparabel; +#declare Sunten = Cunten + runten * vnormalize(nparabel+nellipse) / cos(winkel/2); + +#declare roben = (vdot(Coben, nellipse) - offsetellipse); +#declare Foben = Coben - roben * nellipse; +#declare Poben = Coben + roben * nparabel2; +#declare Soben = Coben - roben * vnormalize(-nparabel2+nellipse) / cos(winkel2/2); + +#declare Origin = (Soben + Sunten) / 2; +#declare xaxis = vnormalize(Sunten - Origin); +#declare yaxis = <1,0,0>; + +#declare a = vlength(Sunten - Soben) / 2; +#declare e = vlength(Foben - Funten) / 2; +#declare b = sqrt(a*a-e*e); + +#macro ellipse(s) + Origin + (a * cos(s) * xaxis + b * sin(s) * yaxis) +#end + +union { + #declare N = 100; + #declare smin = -pi; + #declare smax = -smin; + #declare sstep = (smax - smin) / N; + #declare s = smin; + #while (s < smax - sstep/2) + cylinder { ellipse(s), ellipse(s+sstep), rkurve } + sphere { ellipse(s), rkurve } + #declare s = s + sstep; + #end + sphere { ellipse(s), rkurve } + pigment { + color kurvenfarbe + } + finish { + specular 0.9 + metallic + } +} + +union { + //sphere { Cunten, runten + 0.001 } + //sphere { Coben, roben + 0.001 } + sphere { Funten, r } + sphere { Foben, r } + pigment { + color fokusfarbe + } + finish { + specular 0.9 + metallic + } +} + +union { + sphere { Sunten, r } + sphere { Soben, r } + pigment { + color scheitelfarbe + } + finish { + specular 0.9 + metallic + } +} + +#declare swert = -1.2; +union { + sphere { ellipse(swert), r } + cylinder { Funten, ellipse(swert), rkurve } + cylinder { Foben, ellipse(swert), rkurve } + pigment { + color Yellow + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/030-geometrie/images/kegelschnitte.tex b/buch/chapters/030-geometrie/images/kegelschnitte.tex new file mode 100644 index 0000000..b8067ad --- /dev/null +++ b/buch/chapters/030-geometrie/images/kegelschnitte.tex @@ -0,0 +1,115 @@ +% +% kegelschnitt.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} + +\definecolor{kegelfarbe}{rgb}{0.2,0.6,0.6} +\definecolor{ebenenfarbe}{rgb}{0.6,0.4,0.2} +\definecolor{fokusfarbe}{rgb}{0.8,0.0,0.0} +\definecolor{scheitelfarbe}{rgb}{0,0.6,0} +\definecolor{leitfarbe}{rgb}{0.8,0.2,0.8} + +\newboolean{showgrid} +\setboolean{showgrid}{false} +\def\breite{7} +\def\hoehe{5} + +\begin{tikzpicture}[>=latex,thick] + +% Povray Bild +\node at (0,0) {\includegraphics[width=14cm]{kegelschnitte.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]; +}{} + +\begin{scope}[yshift=-7.5cm] + +\begin{scope} +\clip (-2,-2.5) rectangle (2,1.5); +\fill[color=kegelfarbe!40] + (-1.4,-3) -- (1.4,-3) -- (-1.4,3) -- (1.4,3) -- cycle; +\begin{scope}[xshift=0.5cm] +\draw[color=ebenenfarbe,line width=1.4pt] + (-1.4,-3) -- (1.4,3); +\end{scope} +\end{scope} + +\begin{scope}[xshift=-4.5cm] +\clip (-2,-2.5) rectangle (2,1.5); +\fill[color=kegelfarbe!40] + (-1.4,-3) -- (1.4,-3) -- (-1.4,3) -- (1.4,3) -- cycle; +\begin{scope}[xshift=-0.3cm] +\draw[color=ebenenfarbe,line width=1.4pt] (-0.4,-3) -- (0.4,3); +\end{scope} +\end{scope} + +\begin{scope}[xshift=4.5cm] +\clip (-2,-2.5) rectangle (2,1.5); +\fill[color=kegelfarbe!40] + (-1.4,-3) -- (1.4,-3) -- (-1.4,3) -- (1.4,3) -- cycle; +\begin{scope}[xshift=0.9cm] +\draw[color=ebenenfarbe,line width=1.4pt] (-3.4,-3) -- (3.4,3); +\end{scope} +\end{scope} + +\end{scope} + +\def\marke#1#2#3#4{ + \fill[color=white,opacity=0.5] + ({#1-0.25},{#2-0.2}) rectangle ({#1+0.20},{#2+0.2}); + \node[color=#3] at ({#1},{#2}) {#4}; +} + +\node[color=fokusfarbe] at (-5,0.5) {$F_1$}; +\node[color=fokusfarbe] at (-4.5,4.4) {$F_2$}; +%\node[color=scheitelfarbe] at (-4.5,4.1) [below left] {$S_2$}; +%\node[color=scheitelfarbe] at (-4.7,0.8) [above left] {$S_1$}; +\marke{-4.9}{3.7}{scheitelfarbe}{$S_2$} +\marke{-5.1}{1.1}{scheitelfarbe}{$S_1$} +\node[color=yellow] at (-3.9,-0.9) [right] {$P$}; + +\node[color=fokusfarbe] at (0.05,0.75) {$F$}; +%\node[color=scheitelfarbe] at (0.4,1.0) [above left] {$S$}; +\marke{0.35}{1.4}{scheitelfarbe}{$S$}; +\node[color=yellow] at (0.95,-0.6) [right] {$P$}; +\node[color=leitfarbe] at (2.2,1.2) {$l$}; + +\node[color=fokusfarbe] at (3.5,-2.9) {$F_1$}; +\node[color=fokusfarbe] at (4.4,-0.8) {$F_2$}; +%\node[color=scheitelfarbe] at (3.6,-3.5) [below left] {$S_1$}; +%\node[color=scheitelfarbe] at (4.8,-0.4) [above right] {$S_2$}; +\marke{3.05}{-3.85}{scheitelfarbe}{$S_1$} +\marke{5.3}{-0.0}{scheitelfarbe}{$S_2$} +\node[color=yellow] at (4.8,-2.7) [below right] {$P$}; + +\begin{scope}[yshift=-5.5cm] +\node at (-4.5,0) + {Hyperbel: $\overline{F_1P}-\overline{F_2P}=\text{const}$\strut}; + +\fill[color=white,opacity=0.7] (-1.3,-0.25) rectangle (1.3,0.25); +\node at (0,0) {Parabel: $\overline{FP}=\overline{lP}$\strut}; + +\fill[color=white,opacity=0.7] (2.4,-0.25) rectangle (6.6,0.25); +\node at (4.5,0) + {Ellipse: $\overline{F_1P}+\overline{F_2P}=\text{const}$\strut}; +\end{scope} + +\end{tikzpicture} + +\end{document} + diff --git a/buch/chapters/030-geometrie/images/zylinder.jpg b/buch/chapters/030-geometrie/images/zylinder.jpg new file mode 100644 index 0000000..56962e4 Binary files /dev/null and b/buch/chapters/030-geometrie/images/zylinder.jpg differ diff --git a/buch/chapters/030-geometrie/images/zylinder.pdf b/buch/chapters/030-geometrie/images/zylinder.pdf index 423e217..2e73d80 100644 Binary files a/buch/chapters/030-geometrie/images/zylinder.pdf and b/buch/chapters/030-geometrie/images/zylinder.pdf differ diff --git a/buch/chapters/030-geometrie/images/zylinder.pov b/buch/chapters/030-geometrie/images/zylinder.pov new file mode 100644 index 0000000..c593379 --- /dev/null +++ b/buch/chapters/030-geometrie/images/zylinder.pov @@ -0,0 +1,183 @@ +// +// zylinder.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.064; +#declare r = 0.025; +#declare R = 1.3 * r; + +camera { + location <-43, 20, 40> + look_at <1, 0.65, 2.1> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <-40, 20, 10> 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 to with thickness with +// color +// +#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(<-1.5,0,0>, <1.5,0,0>, r, White) +arrow(<0,-1,0>, <0,2.5,0>, r, White) +arrow(<0,0,-1.5>, <0,0,2*pi+0.5>, r, White) + +#declare cylindercolor = rgb<0.6,0.8,1.0>; +#declare transparentcylinder = rgbf<0.6,0.8,1.0,0.7>; +#declare planecolor = rgb<0.2,0.8,0.4>; +#declare transparentplane = rgbf<0.2,0.8,0.4,0.7>; + +difference { + cylinder { <0,0,0>, <0,2,0>, 1 } + cylinder { <0,-1,0>, <0,3,0>, 0.99 } + pigment { + color transparentcylinder + } + finish { + specular 0.9 + metallic + } +} + + +box { + <1,0,0>, <0.99,2,2*pi> + pigment { + color transparentplane + } + finish { + specular 0.9 + metallic + } +} + +#macro punkt(phi) + +#end +#macro geschwindigkeit(phi) + <-sin(phi), 1/pi, cos(phi)> +#end + +union { + #declare N = 100; + #declare phistep = 2*pi/N; + #declare phi = 0; + #declare maxphi = 2*pi; + #while (phi < maxphi - phistep/2) + sphere { punkt(phi), r} + cylinder { punkt(phi), punkt(phi+phistep), r } + #declare phi = phi + phistep; + #end + sphere { punkt(phi), r} + pigment { + color Red + } + finish { + specular 0.95 + metallic + } +} + +union { + sphere { <1,0,0>, r } + sphere { <1,2,2*pi>, r } + cylinder { <1,0,0>, <1,2,2*pi>, r } + pigment { + color Orange + } + finish { + specular 0.95 + metallic + } +} + +#declare winkel = (130/180) * pi; + +#declare rr = 0.5 * r; + +union { + sphere { <0,winkel/pi,0>, rr } + sphere { punkt(winkel), rr } + cylinder { <0,winkel/pi,0>, punkt(winkel), rr } + sphere { , rr } + sphere { , rr } + cylinder { , <0, 2, 0>, rr } + sphere { <0,2,0>, rr } + sphere { , rr } + cylinder { , <0, 0, 0>, rr } + sphere { <0,0,0>, rr } + cylinder { + + + rr + } + pigment { + color White + } + finish { + specular 0.95 + metallic + } +} + +#declare geschwindigkeitsfarbe = rgb<1,0.6,1>; + +arrow(punkt(winkel), punkt(winkel) + geschwindigkeit(winkel), r, geschwindigkeitsfarbe) + +sphere { punkt(winkel), 1.3 * r + pigment { + color geschwindigkeitsfarbe + } + finish { + specular 0.95 + metallic + } +} diff --git a/buch/chapters/030-geometrie/laenge.tex b/buch/chapters/030-geometrie/laenge.tex index 0561eca..e82577f 100644 --- a/buch/chapters/030-geometrie/laenge.tex +++ b/buch/chapters/030-geometrie/laenge.tex @@ -280,10 +280,149 @@ Tatsächlich ist die Ableitung davon was mit der Integralformel~\ref{buch:geometrie:eqn:kreislaenge} übereinstimmt. -\subsection{Hyperbeln und Ellipsen -\label{buch:geometrie:subsection:hyperbeln-und-ellipsen}} +\subsection{Hyperbeln +\label{buch:geometrie:subsection:hyperbeln}} +\begin{figure} +\centering +\includegraphics{chapters/030-geometrie/images/kegelschnitte.pdf} +\caption{Hyperbeln, Parabeln und Ellipsen sind die Schnittkurven einer +Ebene mit einem Kegel +\label{buch:geometrie:laenge:fig:kegelschnitte}} +\end{figure} +Eine Hyperbel entsteht durch Schneiden eines geraden Kreiskegels mit +einer Ebene wie in Abbildung~\ref{buch:geometrie:laenge:fig:kegelschnitte}. +Es lässt sich ableiten, dass die Punkte der Hyperbel die Eigenschaft +haben, dass die Differenzt der Entfernung von zwei festen Punkte, +den sogenannten Brennpunkten, konstant ist. +Dies ist die Definition, von der wir in diesem Abschnitt ausgehen +wollen. + +\subsubsection{Geometrie einer Hyperbel} +\begin{figure} +\centering +\includegraphics{chapters/030-geometrie/images/hyperbel.pdf} +\caption{Geometrie einer Hyperbel in der Ebene. +Die Hyperbel besteht aus den Punkten $P$ der Ebene, deren Entfernungsdifferenz +$\overline{F_1P}-\overline{F_2P}$ +von zwei vorgegebenen Punkten $F_1$ und $F_2$ konstant ist. +Die Differenz $\pm 2a$ führt auf die Hyperbeln mit Halbachsen +$a$ und $b$. +\label{buch:geometrie:hyperbel:fig:2d}} +\end{figure} +Die Brennpunkte der Hyperbel sollen $F_1=(e,0)$ und $F_2=(-e,0)$ sein. +Die Grösse $e$ heisst auch die {\em lineare Exzentrizität} der Hyperbel. +Die beiden Äste der Hyperbel schneiden die $x$-Achse in den Punkten +$A_\pm=(\pm a,0)$. +In Abbildung~\ref{buch:geometrie:hyperbel:fig:2d} ist diese Situation +dargestellt. + +Die Differenz der Entfernungen von $A_+$ zu den beiden Brennpunkten ist +\[ +\overline{A_+F_2} +- +\overline{A_+F_1} += +(e+a)-(e-a) = 2a +\] +Für einen beliebigen Punkt $P=(x,y)$ in der Ebene wird die Bedingung +an die Abstände zu +\[ +\overline{PF_2} +- +\overline{PF_1} += +\sqrt{(x+e)^2+y^2} +- +\sqrt{(x-e)^2+y^2} += +2a. +\] +Quadrieren ergibt +\begin{align*} +4a^2 +&= +(x+e)^2+y^2 ++ +2\sqrt{ +((x+e)^2+y^2) +((x-e)^2+y^2) +} ++ +(x-e)^2+y^2 +\\ +2a^2-x^2-e^2-y^2 +&= +\sqrt{ +y^4 + y^2((x+e)^2 + (x-e)^2) +(x^2-e^2)^2 +} +\\ +&= +\sqrt{y^4 + 2y^2 ( x^2+e^2) +x^4 - 2x^2e^2 + e^4}. +\end{align*} +Erneutes Quadrieren bringt auch die Wurzel auf der rechten Seiten +zum Verschwinden: +\begin{align} +4a^4 + x^4 + e^4 + y^4 +-4a^2(x^2+y^2+e^2) ++2y^2(x^2+e^2)+2x^2e^2 +&= +y^4+2y^2(x^2 +e^2) + x^4 -2x^2e^2+e^4 +\notag +\\ +4a^4 +-4a^2(x^2+y^2+e^2) ++2x^2e^2 +&= +-2x^2e^2 +\notag +\\ +a^4+x^2e^2&=a^2(x^2+y^2+e^2) +\notag +\\ +x^2(e^2-a^2)&=a^2(e^2-a^2) + a^2y^2. +\notag +\end{align} +Schreiben wir $b^2=e^2-a^2$ und stellen die Gleichung etwas um, +ergibt sich +\begin{equation} +b^2x^2 - a^2y^2 = a^2b^2 +\qquad\Rightarrow\qquad +\frac{x^2}{a^2} - \frac{y^2}{b^2} = 1. +\label{buch:geometrie:hyperbel:gleichung} +\end{equation} +Die Zahlen $a$ und $b$ heissen die {\em grosse} bzw.~{\em kleine Halbachse} +der Hyperbel. + +Die Hyperbeln können auch als Graphen einer Funktion von $x$ gefunden werden. +Dazu wird die Gleichung~\eqref{buch:geometrie:hyperbel:gleichung} +nach $y$ aufgelöst: +\[ +\frac{y^2}{b^2} = \frac{x^2}{a^2} - 1 +\qquad\Rightarrow\qquad +y += +\pm +b\sqrt{\frac{x^2}{a^2}-1}. +\] +Die rechte Seite hat für $|x|