aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/110-elliptisch
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@othello.ch>2022-06-15 20:27:07 +0200
committerAndreas Müller <andreas.mueller@othello.ch>2022-06-15 20:27:07 +0200
commitd3156feab3dabfa65782f8b3e63d5d0331eaa715 (patch)
treebf43dfb50e5874e6b0bd083d71c77171517554a6 /buch/chapters/110-elliptisch
parentMerge branch 'master' of github.com:AndreasFMueller/SeminarSpezielleFunktionen (diff)
parentfix some minor issues (diff)
downloadSeminarSpezielleFunktionen-d3156feab3dabfa65782f8b3e63d5d0331eaa715.tar.gz
SeminarSpezielleFunktionen-d3156feab3dabfa65782f8b3e63d5d0331eaa715.zip
Merge branch 'master' of github.com:AndreasFMueller/SeminarSpezielleFunktionen
Diffstat (limited to '')
-rw-r--r--buch/chapters/110-elliptisch/images/Makefile26
-rw-r--r--buch/chapters/110-elliptisch/images/jacobiplots.pdfbin56975 -> 56975 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/kegelpara.pdfbin0 -> 202828 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/kegelpara.pov329
-rw-r--r--buch/chapters/110-elliptisch/images/kegelpara.tex41
-rw-r--r--buch/chapters/110-elliptisch/images/torusschnitt.pdfbin0 -> 301677 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/torusschnitt.pov265
-rw-r--r--buch/chapters/110-elliptisch/images/torusschnitt.tex41
-rw-r--r--buch/chapters/110-elliptisch/lemniskate.tex162
9 files changed, 863 insertions, 1 deletions
diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile
index a7c9e74..c8f98cb 100644
--- a/buch/chapters/110-elliptisch/images/Makefile
+++ b/buch/chapters/110-elliptisch/images/Makefile
@@ -5,7 +5,7 @@
#
all: lemniskate.pdf ellipsenumfang.pdf unvollstaendig.pdf rechteck.pdf \
ellipse.pdf pendel.pdf jacobiplots.pdf jacobidef.pdf jacobi12.pdf \
- sncnlimit.pdf slcl.pdf
+ sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf
lemniskate.pdf: lemniskate.tex
pdflatex lemniskate.tex
@@ -78,3 +78,27 @@ slcldata.tex: slcl
./slcl --outfile=slcldata.tex --a=0 --b=13.4 --steps=200
slcl.pdf: slcl.tex slcldata.tex
pdflatex slcl.tex
+
+KEGELSIZE = -W256 -H256
+KEGELSIZE = -W128 -H128
+KEGELSIZE = -W1080 -H1080
+kegelpara.png: kegelpara.pov
+ povray +A0.1 $(KEGELSIZE) -Okegelpara.png kegelpara.pov
+
+kegelpara.jpg: kegelpara.png Makefile
+ convert -extract 1080x1040+0+0 kegelpara.png \
+ -density 300 -units PixelsPerInch kegelpara.jpg
+
+kegelpara.pdf: kegelpara.tex kegelpara.jpg
+ pdflatex kegelpara.tex
+
+torusschnitt.png: torusschnitt.pov
+ povray +A0.1 -W1920 -H1080 -Otorusschnitt.png torusschnitt.pov
+
+torusschnitt.jpg: torusschnitt.png Makefile
+ convert -extract 1560x1080+180+0 torusschnitt.png \
+ -density 300 -units PixelsPerInch torusschnitt.jpg
+
+torusschnitt.pdf: torusschnitt.tex torusschnitt.jpg
+ pdflatex torusschnitt.tex
+
diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf
index f0e6e78..c11affc 100644
--- a/buch/chapters/110-elliptisch/images/jacobiplots.pdf
+++ b/buch/chapters/110-elliptisch/images/jacobiplots.pdf
Binary files differ
diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf
new file mode 100644
index 0000000..2f76593
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/kegelpara.pdf
Binary files differ
diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pov b/buch/chapters/110-elliptisch/images/kegelpara.pov
new file mode 100644
index 0000000..13b66cc
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/kegelpara.pov
@@ -0,0 +1,329 @@
+//
+// kegelpara.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.08;
+
+camera {
+ location <28, 20, -40>
+ look_at <0, 0.1, 0>
+ right x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <30, 10, -40> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+
+//
+// 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.6,0,0>,<2.5,0,0>,0.02,White)
+arrow(<0,-2,0>,<0,2.3,0>,0.02,White)
+arrow(<0,0,-3.2>,<0,0,3.7>,0.02,White)
+
+#declare epsilon = 0.0001;
+#declare l = 1.5;
+
+#macro Kegel(farbe)
+union {
+ difference {
+ cone { O, 0, <l, 0, 0>, l }
+ cone { O + <epsilon, 0,0>, 0, <l+epsilon, 0, 0>, l }
+ }
+ difference {
+ cone { O, 0, <-l, 0, 0>, l }
+ cone { O + <-epsilon, 0, 0>, 0, <-l-epsilon, 0, 0>, l }
+ }
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Kegelpunkt(xx, phi)
+ < xx, xx * sin(phi), xx * cos(phi) >
+#end
+
+#macro Kegelgitter(farbe, r)
+union {
+ #declare s = 0;
+ #declare smax = 2 * pi;
+ #declare sstep = pi / 6;
+ #while (s < smax - sstep/2)
+ cylinder { Kegelpunkt(l, s), Kegelpunkt(-l, s), r }
+ #declare s = s + sstep;
+ #end
+ #declare phimax = 2 * pi;
+ #declare phisteps = 100;
+ #declare phistep = phimax / phisteps;
+ #declare xxstep = 0.5;
+ #declare xxmax = 2;
+ #declare xx = xxstep;
+ #while (xx < xxmax - xxstep/2)
+ #declare phi = 0;
+ #while (phi < phimax - phistep/2)
+ cylinder {
+ Kegelpunkt(xx, phi),
+ Kegelpunkt(xx, phi + phistep),
+ r
+ }
+ sphere { Kegelpunkt(xx, phi), r }
+ cylinder {
+ Kegelpunkt(-xx, phi),
+ Kegelpunkt(-xx, phi + phistep),
+ r
+ }
+ sphere { Kegelpunkt(-xx, phi), r }
+ #declare phi = phi + phistep;
+ #end
+ #declare xx = xx + xxstep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro F(w, r)
+ <r * cos(w), r * r/sqrt(2), r * sin(w) >
+#end
+
+#macro Paraboloid(farbe)
+mesh {
+ #declare phi = 0;
+ #declare phimax = 2 * pi;
+ #declare phisteps = 100;
+ #declare phistep = pi / phisteps;
+ #declare rsteps = 100;
+ #declare rmax = 1.5;
+ #declare rstep = rmax / rsteps;
+ #while (phi < phimax - phistep/2)
+ #declare r = rstep;
+ #declare h = r * r / sqrt(2);
+ triangle {
+ O, F(phi, r), F(phi + phistep, r)
+ }
+ #while (r < rmax - rstep/2)
+ // ring
+ triangle {
+ F(phi, r),
+ F(phi + phistep, r),
+ F(phi + phistep, r + rstep)
+ }
+ triangle {
+ F(phi, r),
+ F(phi + phistep, r + rstep),
+ F(phi, r + rstep)
+ }
+ #declare r = r + rstep;
+ #end
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Paraboloidgitter(farbe, gr)
+union {
+ #declare phi = 0;
+ #declare phimax = 2 * pi;
+ #declare phistep = pi / 6;
+
+ #declare rmax = 1.5;
+ #declare rsteps = 100;
+ #declare rstep = rmax / rsteps;
+
+ #while (phi < phimax - phistep/2)
+ #declare r = rstep;
+ #while (r < rmax - rstep/2)
+ cylinder { F(phi, r), F(phi, r + rstep), gr }
+ sphere { F(phi, r), gr }
+ #declare r = r + rstep;
+ #end
+ #declare phi = phi + phistep;
+ #end
+
+ #declare rstep = 0.2;
+ #declare r = rstep;
+
+ #declare phisteps = 100;
+ #declare phistep = phimax / phisteps;
+ #while (r < rmax)
+ #declare phi = 0;
+ #while (phi < phimax - phistep/2)
+ cylinder { F(phi, r), F(phi + phistep, r), gr }
+ sphere { F(phi, r), gr }
+ #declare phi = phi + phistep;
+ #end
+ #declare r = r + rstep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare a = sqrt(2);
+#macro G(phi,sg)
+ < a*sg*sqrt(cos(2*phi))*cos(phi), a*cos(2*phi), a*sqrt(cos(2*phi))*sin(phi)>
+#end
+
+#macro Lemniskate3D(s, farbe)
+union {
+ #declare phi = -pi / 4;
+ #declare phimax = pi / 4;
+ #declare phisteps = 100;
+ #declare phistep = phimax / phisteps;
+ #while (phi < phimax - phistep/2)
+ sphere { G(phi,1), s }
+ cylinder { G(phi,1), G(phi+phistep,1), s }
+ sphere { G(phi,-1), s }
+ cylinder { G(phi,-1), G(phi+phistep,-1), s }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare a = sqrt(2);
+#macro G2(phi,sg)
+ a * sqrt(cos(2*phi)) * < sg * cos(phi), 0, sin(phi)>
+#end
+
+#macro Lemniskate(s, farbe)
+union {
+ #declare phi = -pi / 4;
+ #declare phimax = pi / 4;
+ #declare phisteps = 100;
+ #declare phistep = phimax / phisteps;
+ #while (phi < phimax - phistep/2)
+ sphere { G2(phi,1), s }
+ cylinder { G2(phi,1), G2(phi+phistep,1), s }
+ sphere { G2(phi,-1), s }
+ cylinder { G2(phi,-1), G2(phi+phistep,-1), s }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Projektion(s, farbe)
+union {
+ #declare phistep = pi / 16;
+ #declare phi = -pi / 4 + phistep;
+ #declare phimax = pi / 4;
+ #while (phi < phimax - phistep/2)
+ cylinder { G(phi, 1), G2(phi, 1), s }
+ cylinder { G(phi, -1), G2(phi, -1), s }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare kegelfarbe = rgbf<0.2,0.6,0.2,0.2>;
+#declare kegelgitterfarbe = rgb<0.2,0.8,0.2>;
+#declare paraboloidfarbe = rgbf<0.2,0.6,1.0,0.2>;
+#declare paraboloidgitterfarbe = rgb<0.4,1,1>;
+
+//intersection {
+// union {
+ Paraboloid(paraboloidfarbe)
+ Paraboloidgitter(paraboloidgitterfarbe, 0.004)
+
+ Kegel(kegelfarbe)
+ Kegelgitter(kegelgitterfarbe, 0.004)
+// }
+// plane { <0, 0, -1>, 0.6 }
+//}
+
+
+Lemniskate3D(0.02, rgb<0.8,0.0,0.8>)
+Lemniskate(0.02, Red)
+Projektion(0.01, Yellow)
diff --git a/buch/chapters/110-elliptisch/images/kegelpara.tex b/buch/chapters/110-elliptisch/images/kegelpara.tex
new file mode 100644
index 0000000..8fcefbf
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/kegelpara.tex
@@ -0,0 +1,41 @@
+%
+% kegelpara.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]{kegelpara.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 (4.1,-1.4) {$X$};
+\node at (0.2,3.8) {$Z$};
+\node at (4.0,1.8) {$Y$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf
new file mode 100644
index 0000000..11bd353
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/torusschnitt.pdf
Binary files differ
diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pov b/buch/chapters/110-elliptisch/images/torusschnitt.pov
new file mode 100644
index 0000000..43d50c6
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/torusschnitt.pov
@@ -0,0 +1,265 @@
+//
+// kegelpara.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.060;
+
+camera {
+ location <28, 20, -40>
+ look_at <0, 0.55, 0>
+ right (16/9) * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <30, 10, -40> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+
+//
+// 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,0,0>,<2,0,0>,0.02,White)
+arrow(<0,-1.1,0>,<0,2.2,0>,0.02,White)
+arrow(<0,0,-1.6>,<0,0,2.4>,0.02,White)
+
+#declare epsilon = 0.001;
+#declare l = 1.5;
+
+
+#declare a = sqrt(2);
+#macro G2(phi,sg)
+ a * sqrt(cos(2*phi)) * < sg * cos(phi), 0, sin(phi)>
+#end
+
+#macro Lemniskate(s, farbe)
+union {
+ #declare phi = -pi / 4;
+ #declare phimax = pi / 4;
+ #declare phisteps = 100;
+ #declare phistep = phimax / phisteps;
+ #while (phi < phimax - phistep/2)
+ sphere { G2(phi,1), s }
+ cylinder { G2(phi,1), G2(phi+phistep,1), s }
+ sphere { G2(phi,-1), s }
+ cylinder { G2(phi,-1), G2(phi+phistep,-1), s }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Projektion(s, farbe)
+union {
+ #declare phistep = pi / 16;
+ #declare phi = -pi / 4 + phistep;
+ #declare phimax = pi / 4;
+ #while (phi < phimax - phistep/2)
+ cylinder { G(phi, 1), G2(phi, 1), s }
+ cylinder { G(phi, -1), G2(phi, -1), s }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Ebene(l, b, farbe)
+mesh {
+ triangle { <-l, 0, -b>, < l, 0, -b>, < l, 0, b> }
+ triangle { <-l, 0, -b>, < l, 0, b>, <-l, 0, b> }
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Ebenengitter(l, b, s, r, farbe)
+union {
+ #declare lmax = floor(l / s);
+ #declare ll = -lmax;
+ #while (ll <= lmax)
+ cylinder { <ll * s, 0, -b>, <ll * s, 0, b>, r }
+ #declare ll = ll + 1;
+ #end
+ #declare bmax = floor(b / s);
+ #declare bb = -bmax;
+ #while (bb <= bmax)
+ cylinder { <-l, 0, bb * s>, <l, 0, bb * s>, r }
+ #declare bb = bb + 1;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare b = 0.5;
+#macro T(phi, theta)
+ b * < (2 + cos(theta)) * cos(phi), (2 + cos(theta)) * sin(phi) + 1, sin(theta) >
+#end
+
+#macro breitenkreis(theta, r)
+ #declare phi = 0;
+ #declare phimax = 2 * pi;
+ #declare phisteps = 200;
+ #declare phistep = phimax / phisteps;
+ #while (phi < phimax - phistep/2)
+ cylinder { T(phi, theta), T(phi + phistep, theta), r }
+ sphere { T(phi, theta), r }
+ #declare phi = phi + phistep;
+ #end
+#end
+
+#macro laengenkreis(phi, r)
+ #declare theta = 0;
+ #declare thetamax = 2 * pi;
+ #declare thetasteps = 200;
+ #declare thetastep = thetamax / thetasteps;
+ #while (theta < thetamax - thetastep/2)
+ cylinder { T(phi, theta), T(phi, theta + thetastep), r }
+ sphere { T(phi, theta), r }
+ #declare theta = theta + thetastep;
+ #end
+#end
+
+#macro Torusgitter(farbe, r)
+union {
+ #declare phi = 0;
+ #declare phimax = 2 * pi;
+ #declare phistep = pi / 6;
+ #while (phi < phimax - phistep/2)
+ laengenkreis(phi, r)
+ #declare phi = phi + phistep;
+ #end
+ #declare thetamax = pi;
+ #declare thetastep = pi / 6;
+ #declare theta = thetastep;
+ #while (theta < thetamax - thetastep/2)
+ breitenkreis(theta, r)
+ breitenkreis(thetamax + theta, r)
+ #declare theta = theta + thetastep;
+ #end
+ breitenkreis(0, 1.5 * r)
+ breitenkreis(pi, 1.5 * r)
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Torus(farbe)
+mesh {
+ #declare phi = 0;
+ #declare phimax = 2 * pi;
+ #declare phisteps = 200;
+ #declare phistep = phimax/phisteps;
+ #while (phi < phimax - phistep/2)
+ #declare theta = 0;
+ #declare thetamax = 2 * pi;
+ #declare thetasteps = 200;
+ #declare thetastep = thetamax / thetasteps;
+ #while (theta < thetamax - thetastep/2)
+ triangle {
+ T(phi, theta),
+ T(phi + phistep, theta),
+ T(phi + phistep, theta + thetastep)
+ }
+ triangle {
+ T(phi, theta),
+ T(phi + phistep, theta + thetastep),
+ T(phi, theta + thetastep)
+ }
+ #declare theta = theta + thetastep;
+ #end
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#declare torusfarbe = rgbt<0.2,0.6,0.2,0.2>;
+#declare ebenenfarbe = rgbt<0.2,0.6,1.0,0.2>;
+
+Lemniskate(0.02, Red)
+Ebene(1.8, 1.4, ebenenfarbe)
+Ebenengitter(1.8, 1.4, 0.5, 0.005, rgb<0.4,1,1>)
+Torus(torusfarbe)
+Torusgitter(Yellow, 0.005)
diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.tex b/buch/chapters/110-elliptisch/images/torusschnitt.tex
new file mode 100644
index 0000000..3053ac5
--- /dev/null
+++ b/buch/chapters/110-elliptisch/images/torusschnitt.tex
@@ -0,0 +1,41 @@
+%
+% torusschnitt.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{6}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=11.4cm]{torusschnitt.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 (4.4,-2.4) {$X$};
+\node at (3.5,0.6) {$Y$};
+\node at (0.3,3.8) {$Z$};
+
+\end{tikzpicture}
+
+\end{document}
+
diff --git a/buch/chapters/110-elliptisch/lemniskate.tex b/buch/chapters/110-elliptisch/lemniskate.tex
index f750a82..fceaadf 100644
--- a/buch/chapters/110-elliptisch/lemniskate.tex
+++ b/buch/chapters/110-elliptisch/lemniskate.tex
@@ -12,6 +12,9 @@ veröffentlich hat.
In diesem Abschnitt soll die Verbindung zu den Jacobischen
elliptischen Funktionen hergestellt werden.
+%
+% Lemniskate
+%
\subsection{Lemniskate
\label{buch:gemotrie:subsection:lemniskate}}
\begin{figure}
@@ -71,6 +74,165 @@ Sie gilt für Winkel $\varphi\in[-\frac{\pi}4,\frac{\pi}4]$ für das
rechte Blatt und $\varphi\in[\frac{3\pi}4,\frac{5\pi}4]$ für das linke
Blatt der Lemniskate.
+%
+% Schnitt eines Kegels mit einem Paraboloid
+%
+\subsubsection{Schnitt eines Kegels mit einem Paraboloid}
+\begin{figure}
+\center
+\includegraphics{chapters/110-elliptisch/images/kegelpara.pdf}
+\caption{Leminiskate (rot) als Projektion (gelb) der Schnittkurve (pink)
+eines geraden
+Kreiskegels (grün) mit einem Rotationsparaboloid (hellblau).
+\label{buch:elliptisch:lemniskate:kegelpara}}
+\end{figure}%
+Schreibt man in der Gleichung~\eqref{buch:elliptisch:eqn:lemniskate}
+für die Klammer auf der rechten Seite $Z^2 = X^2 - Y^2$, dann wird die
+Lemniskate die Projektion in die $X$-$Y$-Ebene der Schnittmenge der Flächen,
+die durch die Gleichungen
+\begin{equation}
+X^2-Y^2 = Z^2
+\qquad\text{und}\qquad
+(X^2+Y^2) = R^2 = \sqrt{2}aZ
+\label{buch:elliptisch:eqn:kegelparabolschnitt}
+\end{equation}
+beschrieben wird.
+Die linke Gleichung in
+\eqref{buch:elliptisch:eqn:kegelparabolschnitt}
+beschreibt einen geraden Kreiskegel, die rechte ist ein Rotationsparaboloid.
+Die Schnittkurve ist in Abbildung~\ref{buch:elliptisch:lemniskate:kegelpara}
+dargestellt.
+
+\subsubsection{Schnitt eines Torus mit einer Ebene}
+\begin{figure}
+\centering
+\includegraphics{chapters/110-elliptisch/images/torusschnitt.pdf}
+\caption{Die Schnittkurve (rot) eines Torus (grün)
+mit einer zur Torusachse parallelen Ebene (blau),
+die den inneren Äquator des Torus berührt, ist eine Lemniskate.
+\label{buch:elliptisch:lemniskate:torusschnitt}}
+\end{figure}
+Schneidet man einen Torus mit einer Ebene, die zur Achse des Torus
+parallel ist und den inneren Äquator des Torus berührt, entsteht
+ebenfalls eine Lemniskate.
+Die Situation ist in Abbildung~\ref{buch:elliptisch:lemniskate:torusschnitt}
+dargestellt.
+
+Der Torus kann mit den Radien $2$ und $1$ mit der $y$-Achse als Torusachse
+kann mit der Parametrisierung
+\[
+(s,t)
+\mapsto
+\begin{pmatrix}
+(2+\cos s) \cos t \\
+\sin s \\
+(2+\cos s) \sin t + 1
+\end{pmatrix}
+\]
+beschrieben werden.
+Die Gleichung $z=1$ beschreibt eine
+achsparallele Ebene, die den inneren Äquator berührt.
+Die Schnittkurve erfüllt daher
+\[
+(2+\cos s)\sin t + 1 = 0,
+\]
+was wir auch als $2 +\cos s = -1/\sin t$ schreiben können.
+Wir müssen nachprüfen dass die Koordinaten
+$X=(2+\cos s)\cos t$ und $Y=\sin s$ die Gleichung einer Lemniskate
+erfüllen.
+
+Zunächst können wir in der $X$-Koordinate den Klammerausdruck durch
+\begin{equation}
+X
+=
+(2+\cos s) \cos t
+=
+-\frac{1}{\sin t}\cos t
+=
+-\frac{\cos t}{\sin t}
+\qquad\Rightarrow\qquad
+X^2
+=
+\frac{\cos^2t}{\sin^2 t}
+=
+\frac{1-\sin^2t}{\sin^2 t}
+\label{buch:elliptisch:lemniskate:Xsin}
+\end{equation}
+ersetzen.
+Auch die $Y$-Koordinaten können wir durch $t$ ausdrücken,
+nämlich
+\begin{equation}
+Y^2=\sin^2 s = 1-\cos^2 s
+=
+1-
+\biggl(
+\frac{1}{\sin t}
+-2
+\biggr)^2
+=
+\frac{-3\sin^2 t+4\sin t-1}{\sin^2 t}.
+\label{buch:elliptisch:lemniskate:Ysin}
+\end{equation}
+Die Gleichungen
+\eqref{buch:elliptisch:lemniskate:Xsin}
+und
+\eqref{buch:elliptisch:lemniskate:Ysin}
+zeigen, dass man $X^2$ und $Y^2$ sogar einzig durch $\sin t$
+parametrisieren kann.
+Um die Ausdrücke etwas zu vereinfachen, schreiben wir $S=\sin t$
+und erhalten zusammenfassend
+\begin{equation}
+\begin{aligned}
+X^2
+&=
+\frac{1-S^2}{S^2}
+\\
+Y^2
+&=
+\frac{-3S^2+4S-1}{S^2}.
+\end{aligned}
+\end{equation}
+Daraus kann man jetzt die Summen und Differenzen der Quadrate
+berechnen, sie sind
+\begin{equation}
+\begin{aligned}
+X^2+Y^2
+&=
+\frac{-4S^2+4S}{S^2}
+=
+\frac{4S(1-S)}{S^2}
+=
+\frac{4(1-S)}{S}
+=
+4\frac{1-S}{S}
+\\
+X^2-Y^2
+&=
+\frac{2-4S+2S^2}{S^2}
+=
+\frac{2(1-S)^2}{S^2}
+=
+2\biggl(\frac{1-S}{S}\biggr)^2.
+\end{aligned}
+\end{equation}
+Die Berechnung des Quadrates von $X^2+Y^2$ ergibt
+die Gleichung
+\[
+(X^2+Y^2)
+=
+16
+\biggl(\frac{1-S}{S}\biggr)^2
+=
+8 \cdot 2
+\biggl(\frac{1-S}{S}\biggr)^2
+=
+2\cdot 2^2\cdot (X-Y)^2.
+\]
+Sie ist eine Lemniskaten-Gleichung für $a=2$.
+
+%
+% Bogenlänge der Lemniskate
+%
\subsection{Bogenlänge}
Die Funktionen
\begin{equation}