From 9b8e3f91862b5acd367cf7bbf9d52cb17563390d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 26 Mar 2022 22:08:42 +0100 Subject: add new lecture notes --- buch/chapters/110-elliptisch/images/jacobiplots.pdf | Bin 57192 -> 56975 bytes buch/chapters/110-elliptisch/images/jacobiplots.tex | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index d11bde8..88cf119 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.tex b/buch/chapters/110-elliptisch/images/jacobiplots.tex index 4fc572e..fec04fc 100644 --- a/buch/chapters/110-elliptisch/images/jacobiplots.tex +++ b/buch/chapters/110-elliptisch/images/jacobiplots.tex @@ -31,7 +31,7 @@ \fill[color=gray!50] (-0.2,1.65) rectangle (7.0,2.3); \draw[line width=0.5pt] (-0.2,-6) rectangle (7.0,2.3); \begin{scope}[scale=0.5] -\node at (6.5,{\dy+2}) {$m = #1$}; +\node at (6.5,{\dy+2}) {$k^2 = #1$}; \end{scope} } \def\jacobiplot#1#2#3#4{ -- cgit v1.2.1 From 0344a846c083c11e9ed93ddc5898dd55c6dd1022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 20 Apr 2022 10:30:56 +0200 Subject: lemniscate sine stuff --- buch/chapters/110-elliptisch/images/Makefile | 9 +- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/lemniskate.pdf | Bin 9914 -> 14339 bytes buch/chapters/110-elliptisch/images/lemniskate.tex | 15 ++- buch/chapters/110-elliptisch/images/slcl.cpp | 128 +++++++++++++++++++++ buch/chapters/110-elliptisch/images/slcl.pdf | Bin 0 -> 28269 bytes buch/chapters/110-elliptisch/images/slcl.tex | 88 ++++++++++++++ 7 files changed, 237 insertions(+), 3 deletions(-) create mode 100644 buch/chapters/110-elliptisch/images/slcl.cpp create mode 100644 buch/chapters/110-elliptisch/images/slcl.pdf create mode 100644 buch/chapters/110-elliptisch/images/slcl.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 68322b6..a7c9e74 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 + sncnlimit.pdf slcl.pdf lemniskate.pdf: lemniskate.tex pdflatex lemniskate.tex @@ -71,3 +71,10 @@ jacobi12.pdf: jacobi12.tex sncnlimit.pdf: sncnlimit.tex pdflatex sncnlimit.tex +slcl: slcl.cpp + g++ -O -Wall -std=c++11 slcl.cpp -o slcl `pkg-config --cflags gsl` `pkg-config --libs gsl` + +slcldata.tex: slcl + ./slcl --outfile=slcldata.tex --a=0 --b=13.4 --steps=200 +slcl.pdf: slcl.tex slcldata.tex + pdflatex slcl.tex diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 88cf119..f0e6e78 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemniskate.pdf b/buch/chapters/110-elliptisch/images/lemniskate.pdf index 063a3e1..9e02c3c 100644 Binary files a/buch/chapters/110-elliptisch/images/lemniskate.pdf and b/buch/chapters/110-elliptisch/images/lemniskate.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemniskate.tex b/buch/chapters/110-elliptisch/images/lemniskate.tex index f74a81f..fe90631 100644 --- a/buch/chapters/110-elliptisch/images/lemniskate.tex +++ b/buch/chapters/110-elliptisch/images/lemniskate.tex @@ -27,13 +27,16 @@ \draw[color=red,line width=2.0pt] plot[domain=45:\a,samples=100] ({\x}:{sqrt(2*cos(2*\x))}); -\draw[->] (-1.5,0) -- (1.5,0) coordinate[label={$x$}]; -\draw[->] (0,-0.7) -- (0,0.7) coordinate[label={right:$y$}]; +\draw[->] (-1.5,0) -- (1.7,0) coordinate[label={$X$}]; +\draw[->] (0,-0.7) -- (0,0.7) coordinate[label={right:$Y$}]; \fill[color=white] (1,0) circle[radius=0.02]; \draw (1,0) circle[radius=0.02]; +\node at ({1},0) [below] {$\displaystyle a\mathstrut$}; + \fill[color=white] (-1,0) circle[radius=0.02]; \draw (-1,0) circle[radius=0.02]; +\node at ({-1},0) [below] {$\displaystyle\llap{$-$}a\mathstrut$}; \node[color=blue] at (\a:{0.6*sqrt(2*cos(2*\a))}) [below] {$r$}; \node[color=red] at ({\b}:{sqrt(2*cos(2*\b))}) [above] {$s$}; @@ -41,6 +44,14 @@ \fill[color=white] (\a:{sqrt(2*cos(2*\a))}) circle[radius=0.02]; \draw[color=red] (\a:{sqrt(2*cos(2*\a))}) circle[radius=0.02]; +\draw ({sqrt(2)},{-0.1/\skala}) -- ({sqrt(2)},{0.1/\skala}); +\node at ({sqrt(2)},0) [below right] + {$\displaystyle a\mathstrut\sqrt{2}$}; +\draw ({-sqrt(2)},{-0.1/\skala}) -- ({-sqrt(2)},{0.1/\skala}); +\node at ({-sqrt(2)},0) [below left] + {$\displaystyle -a\mathstrut\sqrt{2}$}; + + \end{tikzpicture} \end{document} diff --git a/buch/chapters/110-elliptisch/images/slcl.cpp b/buch/chapters/110-elliptisch/images/slcl.cpp new file mode 100644 index 0000000..8584e94 --- /dev/null +++ b/buch/chapters/110-elliptisch/images/slcl.cpp @@ -0,0 +1,128 @@ +/* + * slcl.cpp + * + * (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace slcl { + +static struct option longopts[] { +{ "outfile", required_argument, NULL, 'o' }, +{ "a", required_argument, NULL, 'a' }, +{ "b", required_argument, NULL, 'b' }, +{ "steps", required_argument, NULL, 'n' }, +{ NULL, 0, NULL, 0 } +}; + +class plot { + typedef std::pair point_t; + typedef std::vector curve_t; + curve_t _sl; + curve_t _cl; + double _a; + double _b; + int _steps; +public: + double a() const { return _a; } + double b() const { return _b; } + int steps() const { return _steps; } +public: + plot(double a, double b, int steps) : _a(a), _b(b), _steps(steps) { + double l = sqrt(2); + double k = 1 / l; + double m = k * k; + double h = (b - a) / steps; + for (int i = 0; i <= steps; i++) { + double x = a + h * i; + double sn, cn, dn; + gsl_sf_elljac_e(x, m, &sn, &cn, &dn); + _sl.push_back(std::make_pair(l * x, k * sn / dn)); + _cl.push_back(std::make_pair(l * x, cn)); + } + } +private: + std::string point(const point_t p) const { + char buffer[128]; + snprintf(buffer, sizeof(buffer), "({%.4f*\\dx},{%.4f*\\dy})", + p.first, p.second); + return std::string(buffer); + } + std::string path(const curve_t& curve) const { + std::ostringstream out; + auto i = curve.begin(); + out << point(*(i++)); + do { + out << std::endl << " -- " << point(*(i++)); + } while (i != curve.end()); + out.flush(); + return out.str(); + } +public: + std::string slpath() const { + return path(_sl); + } + std::string clpath() const { + return path(_cl); + } +}; + +/** + * \brief Main function for the slcl program + */ +int main(int argc, char *argv[]) { + int longindex; + int c; + double a = 0; + double b = 10; + int steps = 100; + std::ostream *out = &std::cout; + while (EOF != (c = getopt_long(argc, argv, "a:b:o:n:", + longopts, &longindex))) + switch (c) { + case 'a': + a = std::stod(optarg); + break; + case 'b': + b = std::stod(optarg) / sqrt(2); + break; + case 'n': + steps = std::stol(optarg); + break; + case 'o': + out = new std::ofstream(optarg); + break; + } + + plot p(a, b, steps); + (*out) << "\\def\\slpath{ " << p.slpath(); + (*out) << std::endl << " }" << std::endl; + (*out) << "\\def\\clpath{ " << p.clpath(); + (*out) << std::endl << " }" << std::endl; + + out->flush(); + //out->close(); + return EXIT_SUCCESS; +} + +} // namespace slcl + +int main(int argc, char *argv[]) { + try { + return slcl::main(argc, argv); + } catch (const std::exception& e) { + std::cerr << "terminated by exception: " << e.what(); + std::cerr << std::endl; + } catch (...) { + std::cerr << "terminated by unknown exception" << std::endl; + } + return EXIT_FAILURE; +} diff --git a/buch/chapters/110-elliptisch/images/slcl.pdf b/buch/chapters/110-elliptisch/images/slcl.pdf new file mode 100644 index 0000000..493b5fa Binary files /dev/null and b/buch/chapters/110-elliptisch/images/slcl.pdf differ diff --git a/buch/chapters/110-elliptisch/images/slcl.tex b/buch/chapters/110-elliptisch/images/slcl.tex new file mode 100644 index 0000000..08241ac --- /dev/null +++ b/buch/chapters/110-elliptisch/images/slcl.tex @@ -0,0 +1,88 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (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} +\begin{document} +\input{slcldata.tex} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +% add image content here +\def\lemniscateconstant{2.6220575542} +\pgfmathparse{(3.1415926535/2)/\lemniscateconstant} +\xdef\scalechange{\pgfmathresult} + +\pgfmathparse{\scalechange*(180/3.1415926535)} +\xdef\ts{\pgfmathresult} + +\def\dx{1} +\def\dy{3} + +\draw[line width=0.3pt] + ({\lemniscateconstant*\dx},0) + -- + ({\lemniscateconstant*\dx},{1*\dy}); +\draw[line width=0.3pt] + ({2*\lemniscateconstant*\dx},0) + -- + ({2*\lemniscateconstant*\dx},{-1*\dy}); +\draw[line width=0.3pt] + ({3*\lemniscateconstant*\dx},0) + -- + ({3*\lemniscateconstant*\dx},{-1*\dy}); +\draw[line width=0.3pt] + ({4*\lemniscateconstant*\dx},0) + -- + ({4*\lemniscateconstant*\dx},{1*\dy}); +\draw[line width=0.3pt] + ({5*\lemniscateconstant*\dx},0) + -- + ({5*\lemniscateconstant*\dx},{1*\dy}); + +\draw[color=red!20,line width=1.4pt] + plot[domain=0:13,samples=200] ({\x},{\dy*sin(\ts*\x)}); +\draw[color=blue!20,line width=1.4pt] + plot[domain=0:13,samples=200] ({\x},{\dy*cos(\ts*\x)}); + +\draw[color=red,line width=1.4pt] \slpath; +\draw[color=blue,line width=1.4pt] \clpath; + +\draw[->] (0,{-1*\dy-0.1}) -- (0,{1*\dy+0.4}) coordinate[label={right:$r$}]; +\draw[->] (-0.1,0) -- (13.7,0) coordinate[label={$s$}]; + +\foreach \i in {1,2,3,4,5}{ + \draw ({\lemniscateconstant*\i},-0.1) -- ({\lemniscateconstant*\i},0.1); +} +\node at ({\lemniscateconstant*\dx},0) [below left] {$ \varpi\mathstrut$}; +\node at ({2*\lemniscateconstant*\dx},0) [below left] {$2\varpi\mathstrut$}; +\node at ({3*\lemniscateconstant*\dx},0) [below right] {$3\varpi\mathstrut$}; +\node at ({4*\lemniscateconstant*\dx},0) [below right] {$4\varpi\mathstrut$}; +\node at ({5*\lemniscateconstant*\dx},0) [below left] {$5\varpi\mathstrut$}; + +\node[color=red] at ({1.6*\lemniscateconstant*\dx},{0.6*\dy}) + [below left] {$\operatorname{sl}(s)$}; +\node[color=red!50] at ({1.5*\lemniscateconstant*\dx},{sin(1.5*90)*\dy*0.90}) + [above right] {$\sin \bigl(\frac{\pi}{2\varpi}s\bigr)$}; + +\node[color=blue] at ({1.4*\lemniscateconstant*\dx},{-0.6*\dy}) + [above right] {$\operatorname{cl}(s)$}; +\node[color=blue!50] at ({1.5*\lemniscateconstant*\dx},{cos(1.5*90)*\dy*0.90}) + [below left] {$\cos\bigl(\frac{\pi}{2\varpi}s\bigr)$}; + +\draw (-0.1,{1*\dy}) -- (0.1,{1*\dy}); +\draw (-0.1,{-1*\dy}) -- (0.1,{-1*\dy}); +\node at (0,{1*\dy}) [left] {$1\mathstrut$}; +\node at (0,0) [left] {$0\mathstrut$}; +\node at (0,{-1*\dy}) [left] {$-1\mathstrut$}; + +\end{tikzpicture} +\end{document} + -- cgit v1.2.1 From e1b65ea3e46bf60fec0d6503b701a84f68138a24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 21 Apr 2022 22:36:54 +0200 Subject: add lecture notes for session 5 --- buch/chapters/110-elliptisch/images/slcl.pdf | Bin 28269 -> 28233 bytes buch/chapters/110-elliptisch/images/slcl.tex | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/slcl.pdf b/buch/chapters/110-elliptisch/images/slcl.pdf index 493b5fa..c15051b 100644 Binary files a/buch/chapters/110-elliptisch/images/slcl.pdf and b/buch/chapters/110-elliptisch/images/slcl.pdf differ diff --git a/buch/chapters/110-elliptisch/images/slcl.tex b/buch/chapters/110-elliptisch/images/slcl.tex index 08241ac..0af1027 100644 --- a/buch/chapters/110-elliptisch/images/slcl.tex +++ b/buch/chapters/110-elliptisch/images/slcl.tex @@ -47,35 +47,35 @@ -- ({5*\lemniscateconstant*\dx},{1*\dy}); -\draw[color=red!20,line width=1.4pt] +\draw[color=red!40,line width=1.4pt] plot[domain=0:13,samples=200] ({\x},{\dy*sin(\ts*\x)}); -\draw[color=blue!20,line width=1.4pt] +\draw[color=blue!40,line width=1.4pt] plot[domain=0:13,samples=200] ({\x},{\dy*cos(\ts*\x)}); \draw[color=red,line width=1.4pt] \slpath; \draw[color=blue,line width=1.4pt] \clpath; \draw[->] (0,{-1*\dy-0.1}) -- (0,{1*\dy+0.4}) coordinate[label={right:$r$}]; -\draw[->] (-0.1,0) -- (13.7,0) coordinate[label={$s$}]; +\draw[->] (-0.1,0) -- (13.6,0) coordinate[label={$s$}]; \foreach \i in {1,2,3,4,5}{ \draw ({\lemniscateconstant*\i},-0.1) -- ({\lemniscateconstant*\i},0.1); } -\node at ({\lemniscateconstant*\dx},0) [below left] {$ \varpi\mathstrut$}; -\node at ({2*\lemniscateconstant*\dx},0) [below left] {$2\varpi\mathstrut$}; -\node at ({3*\lemniscateconstant*\dx},0) [below right] {$3\varpi\mathstrut$}; -\node at ({4*\lemniscateconstant*\dx},0) [below right] {$4\varpi\mathstrut$}; -\node at ({5*\lemniscateconstant*\dx},0) [below left] {$5\varpi\mathstrut$}; +\node at ({\lemniscateconstant*\dx},0) [below left] {$\frac{\varpi}2\mathstrut$}; +\node at ({2*\lemniscateconstant*\dx},0) [below left] {$\varpi\mathstrut$}; +\node at ({3*\lemniscateconstant*\dx},0) [below right] {$\frac{3\varpi}2\mathstrut$}; +\node at ({4*\lemniscateconstant*\dx},0) [below right] {$2\varpi\mathstrut$}; +\node at ({5*\lemniscateconstant*\dx},0) [below left] {$\frac{5\varpi}2\mathstrut$}; \node[color=red] at ({1.6*\lemniscateconstant*\dx},{0.6*\dy}) [below left] {$\operatorname{sl}(s)$}; \node[color=red!50] at ({1.5*\lemniscateconstant*\dx},{sin(1.5*90)*\dy*0.90}) - [above right] {$\sin \bigl(\frac{\pi}{2\varpi}s\bigr)$}; + [above right] {$\sin \bigl(\frac{\pi}{\varpi}s\bigr)$}; \node[color=blue] at ({1.4*\lemniscateconstant*\dx},{-0.6*\dy}) [above right] {$\operatorname{cl}(s)$}; \node[color=blue!50] at ({1.5*\lemniscateconstant*\dx},{cos(1.5*90)*\dy*0.90}) - [below left] {$\cos\bigl(\frac{\pi}{2\varpi}s\bigr)$}; + [below left] {$\cos\bigl(\frac{\pi}{\varpi}s\bigr)$}; \draw (-0.1,{1*\dy}) -- (0.1,{1*\dy}); \draw (-0.1,{-1*\dy}) -- (0.1,{-1*\dy}); -- cgit v1.2.1 From 9fb1f740b7d00b350a008e957d28ecf7daf53797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 14 Jun 2022 16:24:13 +0200 Subject: new image --- buch/chapters/110-elliptisch/images/Makefile | 11 ++ buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 0 -> 139626 bytes buch/chapters/110-elliptisch/images/kegelpara.pov | 225 ++++++++++++++++++++++ buch/chapters/110-elliptisch/images/kegelpara.tex | 41 ++++ 4 files changed, 277 insertions(+) create mode 100644 buch/chapters/110-elliptisch/images/kegelpara.pdf create mode 100644 buch/chapters/110-elliptisch/images/kegelpara.pov create mode 100644 buch/chapters/110-elliptisch/images/kegelpara.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index a7c9e74..7e4fa0c 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -78,3 +78,14 @@ slcldata.tex: slcl ./slcl --outfile=slcldata.tex --a=0 --b=13.4 --steps=200 slcl.pdf: slcl.tex slcldata.tex pdflatex slcl.tex + +POVRAYOPTIONS = -W1920 -H1080 +kegelpara.png: kegelpara.pov + povray +A0.1 -W1080 -H1080 -Okegelpara.png kegelpara.pov + +kegelpara.jpg: kegelpara.png Makefile + convert -extract 1080x1000+0+40 kegelpara.png \ + -density 300 -units PixelsPerInch kegelpara.jpg + +kegelpara.pdf: kegelpara.tex kegelpara.jpg + pdflatex kegelpara.tex diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf new file mode 100644 index 0000000..4b03119 Binary files /dev/null and b/buch/chapters/110-elliptisch/images/kegelpara.pdf 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..5d85eed --- /dev/null +++ b/buch/chapters/110-elliptisch/images/kegelpara.pov @@ -0,0 +1,225 @@ +// +// 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 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(<-2,0,0>,<2,0,0>,0.02,White) +arrow(<0,-2,0>,<0,2,0>,0.02,White) +arrow(<0,0,-2>,<0,0,2>,0.02,White) + +#declare epsilon = 0.001; +#declare l = 1.5; + +#macro Kegel(farbe) +union { + difference { + cone { O, 0, , l } + cone { O + , 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 F(w, r) + +#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 + +#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 = rgbt<0.2,0.6,0.2,0.2>; +#declare paraboloidfarbe = rgbt<0.2,0.6,1.0,0.2>; + +Paraboloid(paraboloidfarbe) +Kegel(kegelfarbe) +Lemniskate3D(0.02, Blue) +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..5a724ee --- /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 (3.3,-1.0) {$X$}; +\node at (0.2,3.4) {$Z$}; +\node at (-2.5,-1.4) {$-Y$}; + +\end{tikzpicture} + +\end{document} + -- cgit v1.2.1 From fbcf8833aef79694e448010520f2253e93f2cd4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 14 Jun 2022 16:59:48 +0200 Subject: more info about the lemniskate --- buch/chapters/110-elliptisch/images/Makefile | 12 +- .../110-elliptisch/images/torusschnitt.pdf | Bin 0 -> 137159 bytes .../110-elliptisch/images/torusschnitt.pov | 185 +++++++++++++++++++++ .../110-elliptisch/images/torusschnitt.tex | 41 +++++ 4 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/110-elliptisch/images/torusschnitt.pdf create mode 100644 buch/chapters/110-elliptisch/images/torusschnitt.pov create mode 100644 buch/chapters/110-elliptisch/images/torusschnitt.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 7e4fa0c..2a23d88 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -79,7 +79,6 @@ slcldata.tex: slcl slcl.pdf: slcl.tex slcldata.tex pdflatex slcl.tex -POVRAYOPTIONS = -W1920 -H1080 kegelpara.png: kegelpara.pov povray +A0.1 -W1080 -H1080 -Okegelpara.png kegelpara.pov @@ -89,3 +88,14 @@ kegelpara.jpg: kegelpara.png Makefile 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/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf new file mode 100644 index 0000000..430447c Binary files /dev/null and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf 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..94190be --- /dev/null +++ b/buch/chapters/110-elliptisch/images/torusschnitt.pov @@ -0,0 +1,185 @@ +// +// 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 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(<-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(farbe) +box { + <-1.8, 0, -1.4>, <1.8, 0.001, 1.4> + 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 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(ebenenfarbe) +Torus(torusfarbe) 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} + -- cgit v1.2.1 From f62b44e41eb5d9afe46e56c335b96cb48ae3a492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 14 Jun 2022 17:02:23 +0200 Subject: finalize lemniscate as sections --- buch/chapters/110-elliptisch/images/Makefile | 2 +- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 139626 -> 139626 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 137159 -> 137159 bytes 4 files changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 2a23d88..30642fe 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 diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index f0e6e78..4c74a5c 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 4b03119..6683709 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 430447c..2f8c204 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From 864b17ee949de5c14ebc3bbf50a90178b4b804f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 15 Jun 2022 20:25:27 +0200 Subject: fix some minor issues --- buch/chapters/110-elliptisch/images/Makefile | 7 +- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 139626 -> 202828 bytes buch/chapters/110-elliptisch/images/kegelpara.pov | 122 +++++++++++++++++++-- buch/chapters/110-elliptisch/images/kegelpara.tex | 6 +- .../110-elliptisch/images/torusschnitt.pdf | Bin 137159 -> 301677 bytes .../110-elliptisch/images/torusschnitt.pov | 88 ++++++++++++++- 7 files changed, 205 insertions(+), 18 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 30642fe..c8f98cb 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -79,11 +79,14 @@ slcldata.tex: slcl 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 -W1080 -H1080 -Okegelpara.png kegelpara.pov + povray +A0.1 $(KEGELSIZE) -Okegelpara.png kegelpara.pov kegelpara.jpg: kegelpara.png Makefile - convert -extract 1080x1000+0+40 kegelpara.png \ + convert -extract 1080x1040+0+0 kegelpara.png \ -density 300 -units PixelsPerInch kegelpara.jpg kegelpara.pdf: kegelpara.tex kegelpara.jpg diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 4c74a5c..c11affc 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 6683709..2f76593 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pov b/buch/chapters/110-elliptisch/images/kegelpara.pov index 5d85eed..13b66cc 100644 --- a/buch/chapters/110-elliptisch/images/kegelpara.pov +++ b/buch/chapters/110-elliptisch/images/kegelpara.pov @@ -67,11 +67,11 @@ union { } #end -arrow(<-2,0,0>,<2,0,0>,0.02,White) -arrow(<0,-2,0>,<0,2,0>,0.02,White) -arrow(<0,0,-2>,<0,0,2>,0.02,White) +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.001; +#declare epsilon = 0.0001; #declare l = 1.5; #macro Kegel(farbe) @@ -94,6 +94,54 @@ union { } #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) #end @@ -139,6 +187,50 @@ mesh { } #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)> @@ -215,11 +307,23 @@ union { } #end -#declare kegelfarbe = rgbt<0.2,0.6,0.2,0.2>; -#declare paraboloidfarbe = rgbt<0.2,0.6,1.0,0.2>; +#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 } +//} + -Paraboloid(paraboloidfarbe) -Kegel(kegelfarbe) -Lemniskate3D(0.02, Blue) +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 index 5a724ee..8fcefbf 100644 --- a/buch/chapters/110-elliptisch/images/kegelpara.tex +++ b/buch/chapters/110-elliptisch/images/kegelpara.tex @@ -31,9 +31,9 @@ \fill (0,0) circle[radius=0.05]; }{} -\node at (3.3,-1.0) {$X$}; -\node at (0.2,3.4) {$Z$}; -\node at (-2.5,-1.4) {$-Y$}; +\node at (4.1,-1.4) {$X$}; +\node at (0.2,3.8) {$Z$}; +\node at (4.0,1.8) {$Y$}; \end{tikzpicture} diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 2f8c204..11bd353 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pov b/buch/chapters/110-elliptisch/images/torusschnitt.pov index 94190be..43d50c6 100644 --- a/buch/chapters/110-elliptisch/images/torusschnitt.pov +++ b/buch/chapters/110-elliptisch/images/torusschnitt.pov @@ -123,9 +123,34 @@ union { } #end -#macro Ebene(farbe) -box { - <-1.8, 0, -1.4>, <1.8, 0.001, 1.4> +#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 { , , r } + #declare ll = ll + 1; + #end + #declare bmax = floor(b / s); + #declare bb = -bmax; + #while (bb <= bmax) + cylinder { <-l, 0, bb * s>, , r } + #declare bb = bb + 1; + #end pigment { color farbe } @@ -141,6 +166,59 @@ box { 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; @@ -181,5 +259,7 @@ mesh { #declare ebenenfarbe = rgbt<0.2,0.6,1.0,0.2>; Lemniskate(0.02, Red) -Ebene(ebenenfarbe) +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) -- cgit v1.2.1 From b9af31ecb07acd4d34a13aa99d6170c9ca96af87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 16 Jun 2022 17:00:34 +0200 Subject: some improvements --- buch/chapters/110-elliptisch/images/Makefile | 2 +- .../110-elliptisch/images/torusschnitt.pdf | Bin 301677 -> 312677 bytes .../110-elliptisch/images/torusschnitt.pov | 55 ++++++++++++++++++--- .../110-elliptisch/images/torusschnitt.tex | 2 +- 4 files changed, 51 insertions(+), 8 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index c8f98cb..7bbc8af 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -96,7 +96,7 @@ 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 \ + convert -extract 1640x1080+140+0 torusschnitt.png \ -density 300 -units PixelsPerInch torusschnitt.jpg torusschnitt.pdf: torusschnitt.tex torusschnitt.jpg diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 11bd353..f5de617 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pov b/buch/chapters/110-elliptisch/images/torusschnitt.pov index 43d50c6..e5602df 100644 --- a/buch/chapters/110-elliptisch/images/torusschnitt.pov +++ b/buch/chapters/110-elliptisch/images/torusschnitt.pov @@ -67,14 +67,51 @@ union { } #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) + +#macro Ticks(tl, tr) +union { + #declare s = 1; + #while (s <= 3.1) + cylinder { <-0.5*s-tl, 0, 0>, <-0.5*s+tl, 0, 0>, tr } + cylinder { < 0.5*s-tl, 0, 0>, < 0.5*s+tl, 0, 0>, tr } + #declare s = s + 1; + #end + + #declare s = 1; + #while (s <= 4.1) + cylinder { <0, 0.5*s-tl, 0>, <0, 0.5*s+tl, 0>, tr } + #declare s = s + 1; + #end + #declare s = 1; + #while (s <= 2.1) + cylinder { <0,-0.5*s-tl, 0>, <0,-0.5*s+tl, 0>, tr } + #declare s = s + 1; + #end + + #declare s = 1; + #while (s <= 4) + cylinder { <0, 0, 0.5*s-tl>, <0, 0, 0.5*s+tl>, tr } + #declare s = s + 1; + #end + #declare s = 1; + #while (s <= 3) + cylinder { <0, 0, -0.5*s-tl>, <0, 0, -0.5*s+tl>, tr } + #declare s = s + 1; + #end + + pigment { + color White + } + finish { + specular 0.9 + metallic + } +} +#end #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)> @@ -258,8 +295,14 @@ mesh { #declare torusfarbe = rgbt<0.2,0.6,0.2,0.2>; #declare ebenenfarbe = rgbt<0.2,0.6,1.0,0.2>; +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.7>,<0,0,2.4>,0.02,White) +Ticks(0.007,0.036) + Lemniskate(0.02, Red) -Ebene(1.8, 1.4, ebenenfarbe) -Ebenengitter(1.8, 1.4, 0.5, 0.005, rgb<0.4,1,1>) +Ebene(1.8, 1.6, ebenenfarbe) +Ebenengitter(1.8, 1.6, 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 index 3053ac5..63351ad 100644 --- a/buch/chapters/110-elliptisch/images/torusschnitt.tex +++ b/buch/chapters/110-elliptisch/images/torusschnitt.tex @@ -21,7 +21,7 @@ \begin{tikzpicture}[>=latex,thick] % Povray Bild -\node at (0,0) {\includegraphics[width=11.4cm]{torusschnitt.jpg}}; +\node at (0,0) {\includegraphics[width=11.98cm]{torusschnitt.jpg}}; % Gitter \ifthenelse{\boolean{showgrid}}{ -- cgit v1.2.1 From 88031a6a5bad428cb3bf03dea6f0f95d79484723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 16 Jun 2022 17:02:24 +0200 Subject: new plots --- buch/chapters/110-elliptisch/images/Makefile | 13 ++- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 59737 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 203620 bytes buch/chapters/110-elliptisch/images/lemnispara.cpp | 126 +++++++++++++++++++++ buch/chapters/110-elliptisch/images/lemnispara.pdf | Bin 0 -> 28447 bytes buch/chapters/110-elliptisch/images/lemnispara.tex | 90 +++++++++++++++ buch/chapters/110-elliptisch/images/slcl.pdf | Bin 28233 -> 31823 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 301677 -> 302496 bytes 8 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/110-elliptisch/images/lemnispara.cpp create mode 100644 buch/chapters/110-elliptisch/images/lemnispara.pdf create mode 100644 buch/chapters/110-elliptisch/images/lemnispara.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index c8f98cb..3094877 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 torusschnitt.pdf kegelpara.pdf + sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf lemnispara.pdf lemniskate.pdf: lemniskate.tex pdflatex lemniskate.tex @@ -102,3 +102,14 @@ torusschnitt.jpg: torusschnitt.png Makefile torusschnitt.pdf: torusschnitt.tex torusschnitt.jpg pdflatex torusschnitt.tex +lemnispara: lemnispara.cpp + g++ -O2 -Wall -g -o lemnispara `pkg-config --cflags gsl` \ + lemnispara.cpp `pkg-config --libs gsl` + +lemnisparadata.tex: lemnispara + ./lemnispara + +lemnispara.pdf: lemnispara.tex lemnisparadata.tex + pdflatex lemnispara.tex + +ltest: lemnispara.pdf diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index c11affc..fdd3d1f 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 2f76593..2dbe39d 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemnispara.cpp b/buch/chapters/110-elliptisch/images/lemnispara.cpp new file mode 100644 index 0000000..6f4d55d --- /dev/null +++ b/buch/chapters/110-elliptisch/images/lemnispara.cpp @@ -0,0 +1,126 @@ +/* + * lemnispara.cpp -- Display parametrisation of the lemniskate + * + * (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +const static double s = sqrt(2); +const static double k = 1 / s; +const static double m = k * k; + +typedef std::pair point_t; + +point_t operator*(const point_t& p, double s) { + return point_t(s * p.first, s * p.second); +} + +static double norm(const point_t& p) { + return hypot(p.first, p.second); +} + +static point_t normalize(const point_t& p) { + return p * (1/norm(p)); +} + +static point_t normal(const point_t& p) { + return std::make_pair(p.second, -p.first); +} + +class lemniscate : public point_t { + double sn, cn, dn; +public: + lemniscate(double t) { + gsl_sf_elljac_e(t, m, &sn, &cn, &dn); + first = s * cn * dn; + second = cn * sn; + } + point_t tangent() const { + return std::make_pair(-s * sn * (1.5 - sn * sn), + dn * (1 - 2 * sn * sn)); + } + point_t unittangent() const { + return normalize(tangent()); + } + point_t normal() const { + return ::normal(tangent()); + } + point_t unitnormal() const { + return ::normal(unittangent()); + } +}; + +std::ostream& operator<<(std::ostream& out, const point_t& p) { + char b[1024]; + snprintf(b, sizeof(b), "({%.4f*\\dx},{%.4f*\\dy})", p.first, p.second); + out << b; + return out; +} + +int main(int argc, char *argv[]) { + std::ofstream out("lemnisparadata.tex"); + + // the curve + double tstep = 0.01; + double tmax = 4.05; + out << "\\def\\lemnispath{ "; + out << lemniscate(0); + for (double t = tstep; t < tmax; t += tstep) { + out << std::endl << "\t" << "-- " << lemniscate(t); + } + out << std::endl; + out << "}" << std::endl; + + out << "\\def\\lemnispathmore{ "; + out << lemniscate(tmax); + double tmax2 = 7.5; + for (double t = tmax + tstep; t < tmax2; t += tstep) { + out << std::endl << "\t" << "-- " << lemniscate(t); + } + out << std::endl; + out << "}" << std::endl; + + // individual points + tstep = 0.2; + int i = 0; + char name[3]; + strcpy(name, "L0"); + for (double t = 0; t <= tmax; t += tstep) { + char c = 'A' + i++; + char buffer[128]; + lemniscate l(t); + name[0] = 'L'; + name[1] = c; + out << "\\coordinate (" << name << ") at "; + out << l << ";" << std::endl; + name[0] = 'T'; + out << "\\coordinate (" << name << ") at "; + out << l.unittangent() << ";" << std::endl; + name[0] = 'N'; + out << "\\coordinate (" << name << ") at "; + out << l.unitnormal() << ";" << std::endl; + name[0] = 'C'; + out << "\\def\\" << name << "{ "; + out << "\\node[color=red] at ($(L" << c << ")+0.06*(N" << c << ")$) "; + out << "[rotate={"; + double w = 180 * atan2(l.unitnormal().second, + l.unitnormal().first) / M_PI; + snprintf(buffer, sizeof(buffer), "%.1f", w); + out << buffer; + out << "-90}]"; + snprintf(buffer, sizeof(buffer), "%.1f", t); + out << " {$\\scriptstyle " << buffer << "$};" << std::endl; + out << "}" << std::endl; + } + + out.close(); + return EXIT_SUCCESS; +} diff --git a/buch/chapters/110-elliptisch/images/lemnispara.pdf b/buch/chapters/110-elliptisch/images/lemnispara.pdf new file mode 100644 index 0000000..b03997e Binary files /dev/null and b/buch/chapters/110-elliptisch/images/lemnispara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemnispara.tex b/buch/chapters/110-elliptisch/images/lemnispara.tex new file mode 100644 index 0000000..48557cf --- /dev/null +++ b/buch/chapters/110-elliptisch/images/lemnispara.tex @@ -0,0 +1,90 @@ +% +% lemnispara.tex -- parametrization of the lemniscate +% +% (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] +\def\dx{4} +\def\dy{4} +\input{lemnisparadata.tex} + +% add image content here +\draw[color=red!20,line width=1.4pt] \lemnispathmore; +\draw[color=red,line width=1.4pt] \lemnispath; + +\draw[->] ({-1.6*\dx},0) -- ({1.6*\dx},0) coordinate[label={$X$}]; +\draw[->] (0,{-0.7*\dy}) -- (0,{0.7*\dy}) coordinate[label={right:$Y$}]; +\draw ({1.5*\dx},-0.05) -- ({1.5*\dx},0.05); +\draw ({\dx},-0.05) -- ({\dx},0.05); +\draw ({0.5*\dx},-0.05) -- ({0.5*\dx},0.05); +\draw ({-0.5*\dx},-0.05) -- ({-0.5*\dx},0.05); +\draw ({-\dx},-0.05) -- ({-\dx},0.05); +\draw ({-1.5*\dx},-0.05) -- ({-1.5*\dx},0.05); +\draw (-0.05,{0.5*\dy}) -- (0.05,{0.5*\dy}); +\draw (-0.05,{-0.5*\dy}) -- (0.05,{-0.5*\dy}); + +\node at ({\dx},0) [above] {$1$}; +\node at ({-\dx},0) [above] {$-1$}; +\node at ({-0.5*\dx},0) [above] {$-\frac12$}; +\node at ({0.5*\dx},0) [above] {$\frac12$}; +\node at (0,{0.5*\dy}) [left] {$\frac12$}; +\node at (0,{-0.5*\dy}) [left] {$-\frac12$}; + +\def\s{0.02} + +\draw[color=red] ($(LA)-\s*(NA)$) -- ($(LA)+\s*(NA)$); +\draw[color=red] ($(LB)-\s*(NB)$) -- ($(LB)+\s*(NB)$); +\draw[color=red] ($(LC)-\s*(NC)$) -- ($(LC)+\s*(NC)$); +\draw[color=red] ($(LD)-\s*(ND)$) -- ($(LD)+\s*(ND)$); +\draw[color=red] ($(LE)-\s*(NE)$) -- ($(LE)+\s*(NE)$); +\draw[color=red] ($(LF)-\s*(NF)$) -- ($(LF)+\s*(NF)$); +\draw[color=red] ($(LG)-\s*(NG)$) -- ($(LG)+\s*(NG)$); +\draw[color=red] ($(LH)-\s*(NH)$) -- ($(LH)+\s*(NH)$); +\draw[color=red] ($(LI)-\s*(NI)$) -- ($(LI)+\s*(NI)$); +\draw[color=red] ($(LJ)-\s*(NJ)$) -- ($(LJ)+\s*(NJ)$); +\draw[color=red] ($(LK)-\s*(NK)$) -- ($(LK)+\s*(NK)$); +\draw[color=red] ($(LL)-\s*(NL)$) -- ($(LL)+\s*(NL)$); +\draw[color=red] ($(LM)-\s*(NM)$) -- ($(LM)+\s*(NM)$); +\draw[color=red] ($(LN)-\s*(NN)$) -- ($(LN)+\s*(NN)$); +\draw[color=red] ($(LO)-\s*(NO)$) -- ($(LO)+\s*(NO)$); +\draw[color=red] ($(LP)-\s*(NP)$) -- ($(LP)+\s*(NP)$); +\draw[color=red] ($(LQ)-\s*(NQ)$) -- ($(LQ)+\s*(NQ)$); +\draw[color=red] ($(LR)-\s*(NR)$) -- ($(LR)+\s*(NR)$); +\draw[color=red] ($(LS)-\s*(NS)$) -- ($(LS)+\s*(NS)$); +\draw[color=red] ($(LT)-\s*(NT)$) -- ($(LT)+\s*(NT)$); +\draw[color=red] ($(LU)-\s*(NU)$) -- ($(LU)+\s*(NU)$); + +\CB +\CC +\CD +\CE +\CF +\CG +\CH +\CI +\CJ +\CK +\CL +\CM +\CN +\CO +\CP +\CQ +\CR +\CS +\CT +\CU + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/110-elliptisch/images/slcl.pdf b/buch/chapters/110-elliptisch/images/slcl.pdf index c15051b..71645e3 100644 Binary files a/buch/chapters/110-elliptisch/images/slcl.pdf and b/buch/chapters/110-elliptisch/images/slcl.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 11bd353..fde5268 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From abb439719da913ee1bf14ee088748662fef3cd76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 16 Jun 2022 19:27:16 +0200 Subject: new stuff --- buch/chapters/110-elliptisch/images/lemnispara.pdf | Bin 28447 -> 28820 bytes buch/chapters/110-elliptisch/images/lemnispara.tex | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/lemnispara.pdf b/buch/chapters/110-elliptisch/images/lemnispara.pdf index b03997e..633df34 100644 Binary files a/buch/chapters/110-elliptisch/images/lemnispara.pdf and b/buch/chapters/110-elliptisch/images/lemnispara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemnispara.tex b/buch/chapters/110-elliptisch/images/lemnispara.tex index 48557cf..c6e32d7 100644 --- a/buch/chapters/110-elliptisch/images/lemnispara.tex +++ b/buch/chapters/110-elliptisch/images/lemnispara.tex @@ -22,8 +22,9 @@ \draw[color=red!20,line width=1.4pt] \lemnispathmore; \draw[color=red,line width=1.4pt] \lemnispath; -\draw[->] ({-1.6*\dx},0) -- ({1.6*\dx},0) coordinate[label={$X$}]; +\draw[->] ({-1.6*\dx},0) -- ({1.8*\dx},0) coordinate[label={$X$}]; \draw[->] (0,{-0.7*\dy}) -- (0,{0.7*\dy}) coordinate[label={right:$Y$}]; + \draw ({1.5*\dx},-0.05) -- ({1.5*\dx},0.05); \draw ({\dx},-0.05) -- ({\dx},0.05); \draw ({0.5*\dx},-0.05) -- ({0.5*\dx},0.05); @@ -85,6 +86,9 @@ \CT \CU +\fill[color=blue] (LA) circle[radius=0.07]; +\node[color=blue] at (LA) [above right] {$S$}; + \end{tikzpicture} \end{document} -- cgit v1.2.1 From ddf0b2a3125ce9c161c327cd61b22aba339a7c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 16 Jun 2022 20:13:21 +0200 Subject: add missing file --- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 59737 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 203620 -> 202828 bytes buch/chapters/110-elliptisch/images/lemnispara.pdf | Bin 28820 -> 25749 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 0 -> 312677 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 buch/chapters/110-elliptisch/images/torusschnitt.pdf (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index fdd3d1f..c51e916 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 2dbe39d..c6456ce 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/lemnispara.pdf b/buch/chapters/110-elliptisch/images/lemnispara.pdf index 633df34..16731d3 100644 Binary files a/buch/chapters/110-elliptisch/images/lemnispara.pdf and b/buch/chapters/110-elliptisch/images/lemnispara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf new file mode 100644 index 0000000..b94286a Binary files /dev/null and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From 45e236bc519b62e8afc1aea7d2e625df4c145348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 22 Jun 2022 11:49:27 +0200 Subject: add ell stuff --- buch/chapters/110-elliptisch/images/Makefile | 6 ++- buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 0 -> 19288 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 57 +++++++++++++++++++++ .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 202828 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 312677 -> 312677 bytes 6 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/110-elliptisch/images/ellpolnul.pdf create mode 100644 buch/chapters/110-elliptisch/images/ellpolnul.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index e6e5b09..3074994 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -5,7 +5,8 @@ # all: lemniskate.pdf ellipsenumfang.pdf unvollstaendig.pdf rechteck.pdf \ ellipse.pdf pendel.pdf jacobiplots.pdf jacobidef.pdf jacobi12.pdf \ - sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf lemnispara.pdf + sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf lemnispara.pdf \ + ellpolnul.pdf lemniskate.pdf: lemniskate.tex pdflatex lemniskate.tex @@ -113,3 +114,6 @@ lemnispara.pdf: lemnispara.tex lemnisparadata.tex pdflatex lemnispara.tex ltest: lemnispara.pdf + +ellpolnul.pdf: ellpolnul.tex + pdflatex ellpolnul.tex diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf new file mode 100644 index 0000000..ca52cdf Binary files /dev/null and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex new file mode 100644 index 0000000..831b477 --- /dev/null +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -0,0 +1,57 @@ +% +% tikztemplate.tex -- template for standalon tikz images +% +% (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} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{rot}{rgb}{0.8,0,0} +\definecolor{blau}{rgb}{0,0,1} +\definecolor{gruen}{rgb}{0,0.6,0} + +\draw (-1,-1) rectangle (1,1); +\node at (-1,-1) [below left] {$0$}; +\node at (1,-1) [below right] {$K$}; +\node at (1,1) [above right] {$K+iK'$}; +\node at (-1,1) [above left] {$iK'$}; +\node at (0,0) {$u$}; + +\begin{scope}[xshift=4cm] +\fill[color=rot!20] (-1,-1) rectangle (1,1); +\node at (-1,-1) {$0$}; +\node at (1,-1) {$1$}; +\node at (1,1) {$\frac1k$}; +\node at (-1,1) {$\infty$}; +\node[color=rot] at (0,0) {$\operatorname{sn}(u,k)$}; +\end{scope} + +\begin{scope}[xshift=7cm] +\fill[color=blau!20] (-1,-1) rectangle (1,1); +\node at (-1,-1) {$1$}; +\node at (1,-1) {$0$}; +\node at (1,1) {$\frac{ik'}k$}; +\node at (-1,1) {$\infty$}; +\node[color=blau] at (0,0) {$\operatorname{cn}(u,k)$}; +\end{scope} + +\begin{scope}[xshift=10cm] +\fill[color=gruen!20] (-1,-1) rectangle (1,1); +\node at (-1,-1) {$1$}; +\node at (1,-1) {$k'$}; +\node at (1,1) {$0$}; +\node at (-1,1) {$\infty$}; +\node[color=gruen] at (0,0) {$\operatorname{dn}(u,k)$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index c51e916..d30f670 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index c6456ce..65b097f 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index b94286a..2eba07e 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From 17f90bd131bdf24110d8933fd804413d53e17bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 22 Jun 2022 13:07:36 +0200 Subject: add graph for all functions --- buch/chapters/110-elliptisch/images/Makefile | 6 +- buch/chapters/110-elliptisch/images/ellall.pdf | Bin 0 -> 22616 bytes buch/chapters/110-elliptisch/images/ellall.tex | 148 +++++++++++++++++++++ buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 19288 -> 23281 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 24 ++-- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 59737 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 203620 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 312677 -> 313517 bytes 8 files changed, 164 insertions(+), 14 deletions(-) create mode 100644 buch/chapters/110-elliptisch/images/ellall.pdf create mode 100644 buch/chapters/110-elliptisch/images/ellall.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 3074994..cd8e905 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -6,7 +6,7 @@ all: lemniskate.pdf ellipsenumfang.pdf unvollstaendig.pdf rechteck.pdf \ ellipse.pdf pendel.pdf jacobiplots.pdf jacobidef.pdf jacobi12.pdf \ sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf lemnispara.pdf \ - ellpolnul.pdf + ellpolnul.pdf ellall.pdf lemniskate.pdf: lemniskate.tex pdflatex lemniskate.tex @@ -115,5 +115,7 @@ lemnispara.pdf: lemnispara.tex lemnisparadata.tex ltest: lemnispara.pdf -ellpolnul.pdf: ellpolnul.tex +ellpolnul.pdf: ellpolnul.tex ellcommon.tex pdflatex ellpolnul.tex +ellall.pdf: ellall.tex ellcommon.tex + pdflatex ellall.tex diff --git a/buch/chapters/110-elliptisch/images/ellall.pdf b/buch/chapters/110-elliptisch/images/ellall.pdf new file mode 100644 index 0000000..0047a52 Binary files /dev/null and b/buch/chapters/110-elliptisch/images/ellall.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellall.tex b/buch/chapters/110-elliptisch/images/ellall.tex new file mode 100644 index 0000000..5d63322 --- /dev/null +++ b/buch/chapters/110-elliptisch/images/ellall.tex @@ -0,0 +1,148 @@ +% +% ellpolnul.tex -- template for standalon tikz images +% +% (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} +\input{ellcommon.tex} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +%\draw (-1,-1) rectangle (1,1); +%\node at (-1,-1) [below left] {$0$}; +%\node at (1,-1) [below right] {$K$}; +%\node at (1,1) [above right] {$K+iK'$}; +%\node at (-1,1) [above left] {$iK'$}; +%\node at (0,0) {$u$}; + +\begin{scope}[xshift=-3cm,yshift=0cm] +\rechteck{gray}{1} +\end{scope} + +\definecolor{sccolor}{rgb}{0.8,0.2,0.8} +\definecolor{sdcolor}{rgb}{0.8,0.8,0.2} +\definecolor{cdcolor}{rgb}{0.2,0.8,0.8} + +\begin{scope}[xshift=0cm] +\rechteck{rot}{\operatorname{sn}(u,k)} +\nullstelle{(-1,-1)}{rot} +\pol{(-1,1)}{rot} +\node at (-1,-1) {$0$}; +\node at (1,-1) {$1$}; +\node at (1,1) {$\frac1k$}; +\node at (-1,1) {$\infty$}; +\end{scope} + +\begin{scope}[xshift=3cm] +\rechteck{blau}{\operatorname{cn}(u,k)} +\nullstelle{(1,-1)}{blau} +\pol{(-1,1)}{blau} +\node at (-1,-1) {$1$}; +\node at (1,-1) {$0$}; +\node at (1,1) {$\frac{ik'}k$}; +\node at (-1,1) {$\infty$}; +\end{scope} + +\begin{scope}[xshift=6cm] +\rechteck{gruen}{\operatorname{dn}(u,k)} +\nullstelle{(1,1)}{gruen} +\pol{(-1,1)}{gruen} +\node at (-1,-1) {$1$}; +\node at (1,-1) {$k'$}; +\node at (1,1) {$0$}; +\node at (-1,1) {$\infty$}; +\end{scope} + +% +% start row with denominator sn(u,k) +% + +\begin{scope}[xshift=-3cm,yshift=-3cm] +\rechteck{rot}{\operatorname{ns}(u,k)} +\pol{(-1,-1)}{rot} +\nullstelle{(-1,1)}{rot} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-3cm] +\rechteck{gray}{1} +\end{scope} + +\begin{scope}[xshift=3cm,yshift=-3cm] +\rechteck{sccolor}{\operatorname{cs}(u,k)} +\pol{(1,-1)}{sccolor} +\nullstelle{(-1,-1)}{sccolor} +\end{scope} + +\begin{scope}[xshift=6cm,yshift=-3cm] +\rechteck{sdcolor}{\operatorname{ds}(u,k)} +\pol{(-1,1)}{sdcolor} +\nullstelle{(-1,-1)}{sdcolor} +\nullstelle{(1,1)}{sdcolor} +\end{scope} + +% +% start row with denominator cn(u,k) +% + +\begin{scope}[xshift=-3cm,yshift=-6cm] +\rechteck{blau}{\operatorname{nc}(u,k)} +\pol{(1,-1)}{blau} +\nullstelle{(-1,1)}{blau} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-6cm] +\rechteck{sccolor}{\operatorname{sc}(u,k)} +\nullstelle{(1,-1)}{sccolor} +\pol{(-1,-1)}{sccolor} +\end{scope} + +\begin{scope}[xshift=3cm,yshift=-6cm] +\rechteck{gray}{1} +\end{scope} + +\begin{scope}[xshift=6cm,yshift=-6cm] +\rechteck{cdcolor}{\operatorname{dc}(u,k)} +\nullstelle{(1,1)}{cdcolor} +\nullstelle{(1,-1)}{cdcolor} +\pol{(-1,1)}{cdcolor} +\end{scope} + +% +% start row with denominator dn(u,k) +% + +\begin{scope}[xshift=-3cm,yshift=-9cm] +\rechteck{gruen}{\operatorname{nd}(u,k)} +\pol{(1,1)}{gruen} +\nullstelle{(-1,1)}{gruen} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-9cm] +\rechteck{sdcolor}{\operatorname{sd}(u,k)} +\nullstelle{(-1,1)}{sdcolor} +\pol{(-1,-1)}{sdcolor} +\pol{(1,1)}{sdcolor} +\end{scope} + +\begin{scope}[xshift=3cm,yshift=-9cm] +\rechteck{cdcolor}{\operatorname{cd}(u,k)} +\pol{(1,1)}{cdcolor} +\pol{(1,-1)}{cdcolor} +\nullstelle{(-1,1)}{cdcolor} +\end{scope} + +\begin{scope}[xshift=6cm,yshift=-9cm] +\rechteck{gray}{1} +\end{scope} + + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf index ca52cdf..d6549c4 100644 Binary files a/buch/chapters/110-elliptisch/images/ellpolnul.pdf and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex index 831b477..1ed6b22 100644 --- a/buch/chapters/110-elliptisch/images/ellpolnul.tex +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -1,5 +1,5 @@ % -% tikztemplate.tex -- template for standalon tikz images +% ellpolnul.tex -- template for standalon tikz images % % (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule % @@ -9,15 +9,12 @@ \usepackage{txfonts} \usepackage{pgfplots} \usepackage{csvsimple} -\usetikzlibrary{arrows,intersections,math} +\usetikzlibrary{arrows,intersections,math,calc} \begin{document} +\input{ellcommon.tex} \def\skala{1} \begin{tikzpicture}[>=latex,thick,scale=\skala] -\definecolor{rot}{rgb}{0.8,0,0} -\definecolor{blau}{rgb}{0,0,1} -\definecolor{gruen}{rgb}{0,0.6,0} - \draw (-1,-1) rectangle (1,1); \node at (-1,-1) [below left] {$0$}; \node at (1,-1) [below right] {$K$}; @@ -26,30 +23,33 @@ \node at (0,0) {$u$}; \begin{scope}[xshift=4cm] -\fill[color=rot!20] (-1,-1) rectangle (1,1); +\rechteck{rot}{\operatorname{sn}(u,k)} +\nullstelle{(-1,-1)}{rot} +\pol{(-1,1)}{rot} \node at (-1,-1) {$0$}; \node at (1,-1) {$1$}; \node at (1,1) {$\frac1k$}; \node at (-1,1) {$\infty$}; -\node[color=rot] at (0,0) {$\operatorname{sn}(u,k)$}; \end{scope} \begin{scope}[xshift=7cm] -\fill[color=blau!20] (-1,-1) rectangle (1,1); +\rechteck{blau}{\operatorname{cn}(u,k)} +\nullstelle{(1,-1)}{blau} +\pol{(-1,1)}{blau} \node at (-1,-1) {$1$}; \node at (1,-1) {$0$}; \node at (1,1) {$\frac{ik'}k$}; \node at (-1,1) {$\infty$}; -\node[color=blau] at (0,0) {$\operatorname{cn}(u,k)$}; \end{scope} \begin{scope}[xshift=10cm] -\fill[color=gruen!20] (-1,-1) rectangle (1,1); +\rechteck{gruen}{\operatorname{dn}(u,k)} +\nullstelle{(1,1)}{gruen} +\pol{(-1,1)}{gruen} \node at (-1,-1) {$1$}; \node at (1,-1) {$k'$}; \node at (1,1) {$0$}; \node at (-1,1) {$\infty$}; -\node[color=gruen] at (0,0) {$\operatorname{dn}(u,k)$}; \end{scope} \end{tikzpicture} diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index d30f670..49bfeb2 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 65b097f..65a5b45 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 2eba07e..519a5a3 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From 43a21e525fe5f9f2e81113ed84742c42178c7114 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 22 Jun 2022 16:02:19 +0200 Subject: new images --- buch/chapters/110-elliptisch/images/ellall.pdf | Bin 22616 -> 24694 bytes buch/chapters/110-elliptisch/images/ellall.tex | 28 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/ellall.pdf b/buch/chapters/110-elliptisch/images/ellall.pdf index 0047a52..a57be97 100644 Binary files a/buch/chapters/110-elliptisch/images/ellall.pdf and b/buch/chapters/110-elliptisch/images/ellall.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellall.tex b/buch/chapters/110-elliptisch/images/ellall.tex index 5d63322..b694441 100644 --- a/buch/chapters/110-elliptisch/images/ellall.tex +++ b/buch/chapters/110-elliptisch/images/ellall.tex @@ -22,6 +22,34 @@ %\node at (-1,1) [above left] {$iK'$}; %\node at (0,0) {$u$}; +\fill[color=rot!10,opacity=0.5] (-5.5,-4.3) rectangle (7.3,-1.7); +\fill[color=blau!10,opacity=0.5] (-5.5,-7.3) rectangle (7.3,-4.7); +\fill[color=gruen!10,opacity=0.5] (-5.5,-10.3) rectangle (7.3,-7.7); + +\fill[color=rot!10,opacity=0.5] (-1.3,-10.5) rectangle (1.3,2.5); +\fill[color=blau!10,opacity=0.5] (1.7,-10.5) rectangle (4.3,2.5); +\fill[color=gruen!10,opacity=0.5] (4.7,-10.5) rectangle (7.3,2.5); + +\begin{scope}[xshift=1.5cm,yshift=2cm] +\node at (0,0) {Zähler}; +\draw[<-] (-4.5,0) -- (-1,0); +\draw[->] (1,0) -- (4.5,0); +\node[color=black] at (-4.5,-0.4) {\Large n}; +\node[color=rot] at (-1.5,-0.4) {\Large s}; +\node[color=blau] at (1.5,-0.4) {\Large c}; +\node[color=gruen] at (4.5,-0.4) {\Large d}; +\end{scope} + +\begin{scope}[xshift=-5.1cm,yshift=-4.5cm] +\node at (0,0) [rotate=90] {Nenner}; +\draw[<-] (0,-4.5) -- (0,-1); +\draw[->] (0,1) -- (0,4.5); +\node[color=gruen] at (0.4,-4.5) [rotate=90] {\Large d}; +\node[color=blau] at (0.4,-1.5) [rotate=90] {\Large c}; +\node[color=rot] at (0.4,1.5) [rotate=90] {\Large s}; +\node[color=black] at (0.4,4.5) [rotate=90] {\Large n}; +\end{scope} + \begin{scope}[xshift=-3cm,yshift=0cm] \rechteck{gray}{1} \end{scope} -- cgit v1.2.1 From 67a73f883b582591f1bd94c68e07868ae2e4440d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 22 Jun 2022 19:27:02 +0200 Subject: add missing file --- buch/chapters/110-elliptisch/images/ellcommon.tex | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 buch/chapters/110-elliptisch/images/ellcommon.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/ellcommon.tex b/buch/chapters/110-elliptisch/images/ellcommon.tex new file mode 100644 index 0000000..90bc486 --- /dev/null +++ b/buch/chapters/110-elliptisch/images/ellcommon.tex @@ -0,0 +1,24 @@ +% +% ellcommon.tex -- common macros/definitions for elliptic function +% values display +% +% (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\definecolor{rot}{rgb}{0.8,0,0} +\definecolor{blau}{rgb}{0,0,1} +\definecolor{gruen}{rgb}{0,0.6,0} +\def\l{0.2} + +\def\pol#1#2{ + \draw[color=#2!40,line width=2.4pt] + ($#1+(-\l,-\l)$) -- ($#1+(\l,\l)$); + \draw[color=#2!40,line width=2.4pt] + ($#1+(-\l,\l)$) -- ($#1+(\l,-\l)$); +} +\def\nullstelle#1#2{ + \draw[color=#2!40,line width=2.4pt] #1 circle[radius=\l]; +} +\def\rechteck#1#2{ + \fill[color=#1!20] (-1,-1) rectangle (1,1); + \node[color=#1] at (0,0) {$#2$}; +} -- cgit v1.2.1 From 0a0f36f71e9dff9b9c87a66a669e0d2f388d21c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 23 Jun 2022 19:23:58 +0200 Subject: poles and zeros --- buch/chapters/110-elliptisch/images/ellall.pdf | Bin 24694 -> 22593 bytes buch/chapters/110-elliptisch/images/ellall.tex | 79 +++++++++++++++------ buch/chapters/110-elliptisch/images/ellcommon.tex | 8 +-- buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 23281 -> 19647 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 2 +- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 59737 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 203620 -> 202828 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 313517 -> 312677 bytes 8 files changed, 64 insertions(+), 25 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/ellall.pdf b/buch/chapters/110-elliptisch/images/ellall.pdf index a57be97..fd0a5dd 100644 Binary files a/buch/chapters/110-elliptisch/images/ellall.pdf and b/buch/chapters/110-elliptisch/images/ellall.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellall.tex b/buch/chapters/110-elliptisch/images/ellall.tex index b694441..b37fe12 100644 --- a/buch/chapters/110-elliptisch/images/ellall.tex +++ b/buch/chapters/110-elliptisch/images/ellall.tex @@ -51,12 +51,13 @@ \end{scope} \begin{scope}[xshift=-3cm,yshift=0cm] -\rechteck{gray}{1} +\node at (0,0) {$1$}; +\draw[color=gray!20] (-1,-1) rectangle (1,1); \end{scope} -\definecolor{sccolor}{rgb}{0.8,0.2,0.8} -\definecolor{sdcolor}{rgb}{0.8,0.8,0.2} -\definecolor{cdcolor}{rgb}{0.2,0.8,0.8} +\definecolor{sccolor}{rgb}{0.8,0.0,1.0} +\definecolor{sdcolor}{rgb}{0.6,0.6,0.0} +\definecolor{cdcolor}{rgb}{0.0,0.6,1.0} \begin{scope}[xshift=0cm] \rechteck{rot}{\operatorname{sn}(u,k)} @@ -74,7 +75,7 @@ \pol{(-1,1)}{blau} \node at (-1,-1) {$1$}; \node at (1,-1) {$0$}; -\node at (1,1) {$\frac{ik'}k$}; +\node at (1,1) {$\frac{k'}{ik}$}; \node at (-1,1) {$\infty$}; \end{scope} @@ -96,23 +97,36 @@ \rechteck{rot}{\operatorname{ns}(u,k)} \pol{(-1,-1)}{rot} \nullstelle{(-1,1)}{rot} +\node at (-1,-1) {$\infty$}; +\node at (1,-1) {$1$}; +\node at (1,1) {$k$}; +\node at (-1,1) {$0$}; \end{scope} \begin{scope}[xshift=0cm,yshift=-3cm] -\rechteck{gray}{1} +%\rechteck{gray}{1} +\fill[color=white] (-1,-1) rectangle (1,1); +\node[color=gray] at (0,0) {$1$}; \end{scope} \begin{scope}[xshift=3cm,yshift=-3cm] \rechteck{sccolor}{\operatorname{cs}(u,k)} -\pol{(1,-1)}{sccolor} -\nullstelle{(-1,-1)}{sccolor} +\pol{(-1,-1)}{sccolor} +\nullstelle{(1,-1)}{sccolor} +\node at (-1,-1) {$\infty$}; +\node at (1,-1) {$0$}; +\node at (1,1) {$\frac{k'}{i}$}; +\node at (-1,1) {$ $}; \end{scope} \begin{scope}[xshift=6cm,yshift=-3cm] \rechteck{sdcolor}{\operatorname{ds}(u,k)} -\pol{(-1,1)}{sdcolor} -\nullstelle{(-1,-1)}{sdcolor} +\pol{(-1,-1)}{sdcolor} \nullstelle{(1,1)}{sdcolor} +\node at (-1,-1) {$\infty$}; +\node at (1,-1) {$k'$}; +\node at (1,1) {$0$}; +\node at (-1,1) {$ $}; \end{scope} % @@ -123,23 +137,36 @@ \rechteck{blau}{\operatorname{nc}(u,k)} \pol{(1,-1)}{blau} \nullstelle{(-1,1)}{blau} +\node at (-1,-1) {$1$}; +\node at (-1,1) {$0$}; +\node at (1,-1) {$\infty$}; +\node at (1,1) {$\frac{ik}{k'}$}; \end{scope} \begin{scope}[xshift=0cm,yshift=-6cm] \rechteck{sccolor}{\operatorname{sc}(u,k)} -\nullstelle{(1,-1)}{sccolor} -\pol{(-1,-1)}{sccolor} +\nullstelle{(-1,-1)}{sccolor} +\pol{(1,-1)}{sccolor} +\node at (-1,-1) {$0$}; +\node at (1,-1) {$\infty$}; +\node at (-1,1) {$ $}; +\node at (1,1) {$\frac{i}{k'}$}; \end{scope} \begin{scope}[xshift=3cm,yshift=-6cm] -\rechteck{gray}{1} +%\rechteck{gray}{1} +\fill[color=white] (-1,-1) rectangle (1,1); +\node[color=gray] at (0,0) {$1$}; \end{scope} \begin{scope}[xshift=6cm,yshift=-6cm] \rechteck{cdcolor}{\operatorname{dc}(u,k)} \nullstelle{(1,1)}{cdcolor} -\nullstelle{(1,-1)}{cdcolor} -\pol{(-1,1)}{cdcolor} +\pol{(1,-1)}{cdcolor} +\node at (-1,-1) {$1$}; +\node at (1,-1) {$\infty$}; +\node at (-1,1) {$k$}; +\node at (1,1) {$0$}; \end{scope} % @@ -150,24 +177,36 @@ \rechteck{gruen}{\operatorname{nd}(u,k)} \pol{(1,1)}{gruen} \nullstelle{(-1,1)}{gruen} +\node at (-1,-1) {$1$}; +\node at (-1,1) {$0$}; +\node at (1,-1) {$\frac{1}{k'}$}; +\node at (1,1) {$\infty$}; \end{scope} \begin{scope}[xshift=0cm,yshift=-9cm] \rechteck{sdcolor}{\operatorname{sd}(u,k)} -\nullstelle{(-1,1)}{sdcolor} -\pol{(-1,-1)}{sdcolor} +\nullstelle{(-1,-1)}{sdcolor} \pol{(1,1)}{sdcolor} +\node at (-1,-1) {$0$}; +\node at (1,-1) {$\frac{1}{k'}$}; +\node at (-1,1) {$ $}; +\node at (1,1) {$\infty$}; \end{scope} \begin{scope}[xshift=3cm,yshift=-9cm] \rechteck{cdcolor}{\operatorname{cd}(u,k)} \pol{(1,1)}{cdcolor} -\pol{(1,-1)}{cdcolor} -\nullstelle{(-1,1)}{cdcolor} +\nullstelle{(1,-1)}{cdcolor} +\node at (-1,-1) {$1$}; +\node at (-1,1) {$\frac1k $}; +\node at (1,-1) {$0$}; +\node at (1,1) {$\infty$}; \end{scope} \begin{scope}[xshift=6cm,yshift=-9cm] -\rechteck{gray}{1} +%\rechteck{gray}{1} +\fill[color=white] (-1,-1) rectangle (1,1); +\node[color=gray] at (0,0) {$1$}; \end{scope} diff --git a/buch/chapters/110-elliptisch/images/ellcommon.tex b/buch/chapters/110-elliptisch/images/ellcommon.tex index 90bc486..cd3245d 100644 --- a/buch/chapters/110-elliptisch/images/ellcommon.tex +++ b/buch/chapters/110-elliptisch/images/ellcommon.tex @@ -10,15 +10,15 @@ \def\l{0.2} \def\pol#1#2{ - \draw[color=#2!40,line width=2.4pt] + \draw[color=#2!50,line width=3.0pt] ($#1+(-\l,-\l)$) -- ($#1+(\l,\l)$); - \draw[color=#2!40,line width=2.4pt] + \draw[color=#2!50,line width=3.0pt] ($#1+(-\l,\l)$) -- ($#1+(\l,-\l)$); } \def\nullstelle#1#2{ - \draw[color=#2!40,line width=2.4pt] #1 circle[radius=\l]; + \draw[color=#2!50,line width=3.0pt] #1 circle[radius=\l]; } \def\rechteck#1#2{ \fill[color=#1!20] (-1,-1) rectangle (1,1); - \node[color=#1] at (0,0) {$#2$}; + \node[color=#1] at (0,0) {$#2\mathstrut$}; } diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf index d6549c4..9143d2d 100644 Binary files a/buch/chapters/110-elliptisch/images/ellpolnul.pdf and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex index 1ed6b22..16730f9 100644 --- a/buch/chapters/110-elliptisch/images/ellpolnul.tex +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -38,7 +38,7 @@ \pol{(-1,1)}{blau} \node at (-1,-1) {$1$}; \node at (1,-1) {$0$}; -\node at (1,1) {$\frac{ik'}k$}; +\node at (1,1) {$\frac{k'}{ik}$}; \node at (-1,1) {$\infty$}; \end{scope} diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 49bfeb2..331270e 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 65a5b45..b23654c 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 519a5a3..f70f362 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From a14385eccb4fa12d22c88f2955b39bee7ee482c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jun 2022 12:51:42 +0200 Subject: Funktionsauswahl --- buch/chapters/110-elliptisch/images/Makefile | 6 +- .../110-elliptisch/images/ellselection.pdf | Bin 0 -> 20323 bytes .../110-elliptisch/images/ellselection.tex | 122 +++++++++++++++++++++ .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 202828 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 312677 -> 312677 bytes 6 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/110-elliptisch/images/ellselection.pdf create mode 100644 buch/chapters/110-elliptisch/images/ellselection.tex (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index cd8e905..43ca35e 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -6,7 +6,7 @@ all: lemniskate.pdf ellipsenumfang.pdf unvollstaendig.pdf rechteck.pdf \ ellipse.pdf pendel.pdf jacobiplots.pdf jacobidef.pdf jacobi12.pdf \ sncnlimit.pdf slcl.pdf torusschnitt.pdf kegelpara.pdf lemnispara.pdf \ - ellpolnul.pdf ellall.pdf + ellpolnul.pdf ellall.pdf ellselection.pdf lemniskate.pdf: lemniskate.tex pdflatex lemniskate.tex @@ -119,3 +119,7 @@ ellpolnul.pdf: ellpolnul.tex ellcommon.tex pdflatex ellpolnul.tex ellall.pdf: ellall.tex ellcommon.tex pdflatex ellall.tex + +ellselection.pdf: ellselection.tex + pdflatex ellselection.tex + diff --git a/buch/chapters/110-elliptisch/images/ellselection.pdf b/buch/chapters/110-elliptisch/images/ellselection.pdf new file mode 100644 index 0000000..bc9af35 Binary files /dev/null and b/buch/chapters/110-elliptisch/images/ellselection.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellselection.tex b/buch/chapters/110-elliptisch/images/ellselection.tex new file mode 100644 index 0000000..9e822ec --- /dev/null +++ b/buch/chapters/110-elliptisch/images/ellselection.tex @@ -0,0 +1,122 @@ +% +% ellselection.tex -- Wahl einer elliptischen Funktion +% +% (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} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\l{0.45} +\pgfmathparse{\l*72/2.54} +\xdef\L{\pgfmathresult} + +\def\sx{4.1} +\pgfmathparse{\sx*72/2.54} +\xdef\Sx{\pgfmathresult} + +\def\sy{3.2} +\pgfmathparse{\sy*72/2.54} +\xdef\Sy{\pgfmathresult} + +\pgfmathparse{\sx/2-\l} +\xdef\linksx{\pgfmathresult} +\pgfmathparse{\sy/2-\l} +\xdef\linksy{\pgfmathresult} + +\pgfmathparse{\sx/2+2*\l} +\xdef\rechtsx{\pgfmathresult} +\pgfmathparse{\sy/2} +\xdef\rechtsy{\pgfmathresult} + +\fill[color=red!20] ({-\sx},0) rectangle (\sx,\sy); +\fill[color=blue!20] ({-\sx},{-\sy}) rectangle (\sx,0); +\fill[color=yellow!40,opacity=0.5] (0,0) rectangle (\sx,\sy); + +\draw (-\sx,-\sy) rectangle (\sx,\sy); + +\draw[->] ({-1.4*\sx},0) -- ({1.4*\sx},0) coordinate[label={$\Re u$}]; +\draw[->] (0,{-\sy-1}) -- (0,{\sy+1}) coordinate[label={right:$\Im u$}]; + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\draw[->,line width=1.9pt,color=darkgreen] + (\sx,0) to[out=180,in=-79] (\linksx,\linksy); +\draw[->,line width=1.9pt,color=darkgreen] + (\sx,{\sy-\l}) to[out=-90,in=0] (\rechtsx,\rechtsy); + +\def\rect#1#2{ + \fill[color=white] (-\l,-\l) rectangle (\l,\l); + #2 + \draw (-\l,-\l) rectangle (\l,\l); + \node at (0,0) {\Huge #1\strut}; +} + +\def\kreuz{ + \begin{scope} + \clip ({-\l},{-\l}) rectangle ({\l},{\l}); + \fill[color=white] ({-2*\l},{-2*\l}) rectangle ({2*\l},{2*\l}); + \draw[color=darkgreen!30,line width=3pt] (-\l,-\l) -- (\l,\l); + \draw[color=darkgreen!30,line width=3pt] (-\l,\l) -- (\l,-\l); + \end{scope} +} + +\def\kreis{ + \begin{scope} + \clip ({-\l},{-\l}) rectangle ({\l},{\l}); + \fill[color=white] ({-2*\l},{-2*\l}) rectangle ({2*\l},{2*\l}); + \draw[color=darkgreen!30,line width=3pt] + (0,0) circle[radius={\l*(\L-1.5)/\L}]; + \end{scope} +} + +\begin{scope}[xshift={0},yshift={0}] + \rect{s}{} +\end{scope} + +\begin{scope}[xshift={\Sx},yshift={0}] + \rect{c}{\kreis} +\end{scope} + +\begin{scope}[xshift={\Sx},yshift={\Sy}] + \rect{d}{\kreuz} +\end{scope} + +\begin{scope}[xshift={0},yshift={\Sy}] + \rect{n}{} +\end{scope} + +\node at ({-\l+0.1},{\sy+\l-0.1}) [above left] {$iK'\mathstrut$}; +\node at ({-\l+0.1},{-\l+0.1}) [below left] {$0\mathstrut$}; +\node at ({\sx+\l-0.1},{-\l+0.1}) [below right] {$K\mathstrut$}; +\node at ({\sx+\l-0.1},{\sy+\l-0.1}) [above right] {$K+iK'\mathstrut$}; +\node at ({-\sx},0) [below left] {$-K\mathstrut$}; +\node at (0,{-\sy+0.05}) [below left] {$-iK'\mathstrut$}; +\node at ({\sx-0.1},{-\sy+0.1}) [below right] {$K-iK'\mathstrut$}; +\node at ({-\sx+0.1},{-\sy+0.1}) [below left] {$-K-iK'\mathstrut$}; +\node at ({-\sx+0.1},{\sy-0.1}) [above left] {$-K+iK'\mathstrut$}; + +\begin{scope}[xshift={-\L+0.5*\Sx},yshift={0.5*\Sy}] + \node at ({-\l},{\l-0.1}) [above] {Nullstelle\strut}; + \kreis + \node[color=darkgreen] at (0,0) {\Huge c\strut}; + \draw[line width=0.2pt] (-\l,-\l) rectangle (\l,\l); +\end{scope} + +\begin{scope}[xshift={\L+0.5*\Sx},yshift={0.5*\Sy}] + \node at ({\l},{\l-0.1}) [above] {Pol\strut}; + \kreuz + \node[color=darkgreen] at (0,0) {\Huge d\strut}; + \draw[line width=0.2pt] (-\l,-\l) rectangle (\l,\l); +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 331270e..59aea81 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index b23654c..59f9f50 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index f70f362..61293f3 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From 3a7e2cef27bd78a96b20751db2a53f7291fcd2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jun 2022 20:18:48 +0200 Subject: add grid to images --- buch/chapters/110-elliptisch/images/Makefile | 7 ++++- buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 19647 -> 86072 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 9 ++++++ .../110-elliptisch/images/ellselection.pdf | Bin 20323 -> 76094 bytes .../110-elliptisch/images/ellselection.tex | 15 ++++++++-- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 202828 bytes buch/chapters/110-elliptisch/images/rechteck.cpp | 31 +++++++++++++++------ buch/chapters/110-elliptisch/images/rechteck.pdf | Bin 91639 -> 94300 bytes buch/chapters/110-elliptisch/images/rechteck.tex | 2 ++ .../110-elliptisch/images/torusschnitt.pdf | Bin 312677 -> 312677 bytes 11 files changed, 52 insertions(+), 12 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/Makefile b/buch/chapters/110-elliptisch/images/Makefile index 43ca35e..7636e65 100644 --- a/buch/chapters/110-elliptisch/images/Makefile +++ b/buch/chapters/110-elliptisch/images/Makefile @@ -120,6 +120,11 @@ ellpolnul.pdf: ellpolnul.tex ellcommon.tex ellall.pdf: ellall.tex ellcommon.tex pdflatex ellall.tex -ellselection.pdf: ellselection.tex +rechteckpfade2.tex: rechteck Makefile + ./rechteck --outfile rechteckpfade2.tex --k 0.87 --vsteps=1 +ellselection.pdf: ellselection.tex rechteckpfade2.tex pdflatex ellselection.tex +rechteckpfade3.tex: rechteck + ./rechteck --outfile rechteckpfade3.tex --k 0.70710678118654752440 \ + --vsteps=4 diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf index 9143d2d..a60a51b 100644 Binary files a/buch/chapters/110-elliptisch/images/ellpolnul.pdf and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex index 16730f9..fe1d235 100644 --- a/buch/chapters/110-elliptisch/images/ellpolnul.tex +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -15,6 +15,15 @@ \def\skala{1} \begin{tikzpicture}[>=latex,thick,scale=\skala] +\input rechteckpfade3.tex + +\pgfmathparse{1/\xmax} +\xdef\dx{\pgfmathresult} +\xdef\dy{\dx} + +\netz{0.1pt} +\draw[line width=0.1pt] (-1,0) -- (1,0); +\fill[color=white,opacity=0.5] (-1,-1) rectangle (1,1); \draw (-1,-1) rectangle (1,1); \node at (-1,-1) [below left] {$0$}; \node at (1,-1) [below right] {$K$}; diff --git a/buch/chapters/110-elliptisch/images/ellselection.pdf b/buch/chapters/110-elliptisch/images/ellselection.pdf index bc9af35..bad342c 100644 Binary files a/buch/chapters/110-elliptisch/images/ellselection.pdf and b/buch/chapters/110-elliptisch/images/ellselection.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellselection.tex b/buch/chapters/110-elliptisch/images/ellselection.tex index 9e822ec..0dd1e04 100644 --- a/buch/chapters/110-elliptisch/images/ellselection.tex +++ b/buch/chapters/110-elliptisch/images/ellselection.tex @@ -14,15 +14,22 @@ \def\skala{1} \begin{tikzpicture}[>=latex,thick,scale=\skala] +\input{rechteckpfade2.tex} + \def\l{0.45} \pgfmathparse{\l*72/2.54} \xdef\L{\pgfmathresult} +\pgfmathparse{4.1/\xmax} +\xdef\dx{\pgfmathresult} +\xdef\dy{\dx} + \def\sx{4.1} \pgfmathparse{\sx*72/2.54} \xdef\Sx{\pgfmathresult} -\def\sy{3.2} +\pgfmathparse{\dx*\ymax} +\xdef\sy{\pgfmathresult} \pgfmathparse{\sy*72/2.54} \xdef\Sy{\pgfmathresult} @@ -36,8 +43,10 @@ \pgfmathparse{\sy/2} \xdef\rechtsy{\pgfmathresult} -\fill[color=red!20] ({-\sx},0) rectangle (\sx,\sy); -\fill[color=blue!20] ({-\sx},{-\sy}) rectangle (\sx,0); +\hintergrund +\netz{0.7pt} +\fill[color=red!14,opacity=0.7] ({-\sx},0) rectangle (\sx,\sy); +\fill[color=blue!14,opacity=0.7] ({-\sx},{-\sy}) rectangle (\sx,0); \fill[color=yellow!40,opacity=0.5] (0,0) rectangle (\sx,\sy); \draw (-\sx,-\sy) rectangle (\sx,\sy); diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 59aea81..3ac9fe5 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 59f9f50..0d6f63d 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/rechteck.cpp b/buch/chapters/110-elliptisch/images/rechteck.cpp index c65ae0f..b5ad0ec 100644 --- a/buch/chapters/110-elliptisch/images/rechteck.cpp +++ b/buch/chapters/110-elliptisch/images/rechteck.cpp @@ -163,7 +163,7 @@ curvetracer::curve_t curvetracer::trace(const std::complex& startz, } catch (const toomanyiterations& x) { std::cerr << "iterations exceeded after "; std::cerr << result.size(); - std::cerr << " points"; + std::cerr << " points" << std::endl; maxsteps = 0; } } @@ -230,7 +230,7 @@ void curvedrawer::operator()(const curvetracer::curve_t& curve) { double first = true; for (auto z : curve) { if (first) { - *_out << "\\draw[color=" << _color << "] "; + *_out << "\\draw[color=" << _color << ",line width=#1] "; first = false; } else { *_out << std::endl << " -- "; @@ -244,6 +244,7 @@ static struct option longopts[] = { { "outfile", required_argument, NULL, 'o' }, { "k", required_argument, NULL, 'k' }, { "deltax", required_argument, NULL, 'd' }, +{ "vsteps", required_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; @@ -252,7 +253,8 @@ static struct option longopts[] = { */ int main(int argc, char *argv[]) { double k = 0.625; - double deltax = 0.2; + double Deltax = 0.2; + int vsteps = 4; int c; int longindex; @@ -261,7 +263,7 @@ int main(int argc, char *argv[]) { &longindex))) switch (c) { case 'd': - deltax = std::stod(optarg); + Deltax = std::stod(optarg); break; case 'o': outfilename = std::string(optarg); @@ -269,6 +271,9 @@ int main(int argc, char *argv[]) { case 'k': k = std::stod(optarg); break; + case 'v': + vsteps = std::stoi(optarg); + break; } double kprime = integrand::kprime(k); @@ -293,15 +298,21 @@ int main(int argc, char *argv[]) { curvetracer ct(f); // fill + (*cdp->out()) << "\\def\\hintergrund{" << std::endl; (*cdp->out()) << "\\fill[color=red!10] ({" << (-xmax) << "*\\dx},0) " << "rectangle ({" << xmax << "*\\dx},{" << ymax << "*\\dy});" << std::endl; (*cdp->out()) << "\\fill[color=blue!10] ({" << (-xmax) << "*\\dx},{" << (-ymax) << "*\\dy}) rectangle ({" << xmax << "*\\dx},0);" << std::endl; + (*cdp->out()) << "}" << std::endl; + + // macro for grid + (*cdp->out()) << "\\def\\netz#1{" << std::endl; // "circles" std::complex dir(0.01, 0); + double deltax = Deltax; for (double im = deltax; im < 3; im += deltax) { std::complex startz(0, im); std::complex startw = ct.startpoint(startz); @@ -316,9 +327,9 @@ int main(int argc, char *argv[]) { } // imaginary axis - (*cdp->out()) << "\\draw[color=red] (0,0) -- (0,{" << ymax + (*cdp->out()) << "\\draw[color=red,line width=#1] (0,0) -- (0,{" << ymax << "*\\dy});" << std::endl; - (*cdp->out()) << "\\draw[color=blue] (0,0) -- (0,{" << (-ymax) + (*cdp->out()) << "\\draw[color=blue,line width=#1] (0,0) -- (0,{" << (-ymax) << "*\\dy});" << std::endl; // arguments between 0 and 1 @@ -353,7 +364,8 @@ int main(int argc, char *argv[]) { // arguments between 1 and 1/k { - for (double x0 = 1 + deltax; x0 < 1/k; x0 += deltax) { + deltax = (1/k - 1) / vsteps; + for (double x0 = 1 + deltax; x0 < 1/k + 0.00001; x0 += deltax) { double y0 = sqrt(1-1/(x0*x0))/kprime; //std::cout << "y0 = " << y0 << std::endl; double y = gsl_sf_ellint_F(asin(y0), kprime, @@ -389,8 +401,9 @@ int main(int argc, char *argv[]) { // arguments larger than 1/k { + deltax = Deltax; dir = std::complex(0, 0.01); - double x0 = 1; + double x0 = 1/k; while (x0 <= 1/k + 0.0001) { x0 += deltax; } for (; x0 < 4; x0 += deltax) { std::complex startz(x0); @@ -407,6 +420,8 @@ int main(int argc, char *argv[]) { } } + (*cdp->out()) << "}" << std::endl; + // border (*cdp->out()) << "\\def\\xmax{" << xmax << "}" << std::endl; (*cdp->out()) << "\\def\\ymax{" << ymax << "}" << std::endl; diff --git a/buch/chapters/110-elliptisch/images/rechteck.pdf b/buch/chapters/110-elliptisch/images/rechteck.pdf index 6209897..46f2376 100644 Binary files a/buch/chapters/110-elliptisch/images/rechteck.pdf and b/buch/chapters/110-elliptisch/images/rechteck.pdf differ diff --git a/buch/chapters/110-elliptisch/images/rechteck.tex b/buch/chapters/110-elliptisch/images/rechteck.tex index 622a9e9..12535ba 100644 --- a/buch/chapters/110-elliptisch/images/rechteck.tex +++ b/buch/chapters/110-elliptisch/images/rechteck.tex @@ -18,6 +18,8 @@ \def\dy{3} \input{rechteckpfade.tex} +\hintergrund +\netz{0.7pt} \begin{scope} \clip ({-\xmax*\dx},{-\ymax*\dy}) rectangle ({\xmax*\dx},{\ymax*\dy}); diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 61293f3..2948e76 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From b2d8e88a2517a5d15b01f4e34ac12dfc8723c265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jun 2022 20:30:36 +0200 Subject: improve elliptic domain images --- buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 86072 -> 130369 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 9 ++++++--- .../chapters/110-elliptisch/images/jacobiplots.pdf | Bin 56975 -> 56975 bytes buch/chapters/110-elliptisch/images/kegelpara.pdf | Bin 202828 -> 202828 bytes .../110-elliptisch/images/torusschnitt.pdf | Bin 312677 -> 312677 bytes 5 files changed, 6 insertions(+), 3 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf index a60a51b..4453703 100644 Binary files a/buch/chapters/110-elliptisch/images/ellpolnul.pdf and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex index fe1d235..b3183fc 100644 --- a/buch/chapters/110-elliptisch/images/ellpolnul.tex +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -17,12 +17,15 @@ \input rechteckpfade3.tex -\pgfmathparse{1/\xmax} +\pgfmathparse{2/\xmax} \xdef\dx{\pgfmathresult} \xdef\dy{\dx} -\netz{0.1pt} -\draw[line width=0.1pt] (-1,0) -- (1,0); +\begin{scope}[xshift=-1cm,yshift=-1cm] +\clip (0,0) rectangle (2,2); +\netz{0.4pt} +\draw[line width=0.4pt] (-1,0) -- (1,0); +\end{scope} \fill[color=white,opacity=0.5] (-1,-1) rectangle (1,1); \draw (-1,-1) rectangle (1,1); \node at (-1,-1) [below left] {$0$}; diff --git a/buch/chapters/110-elliptisch/images/jacobiplots.pdf b/buch/chapters/110-elliptisch/images/jacobiplots.pdf index 3ac9fe5..eb9d7f1 100644 Binary files a/buch/chapters/110-elliptisch/images/jacobiplots.pdf and b/buch/chapters/110-elliptisch/images/jacobiplots.pdf differ diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf index 0d6f63d..2bbd428 100644 Binary files a/buch/chapters/110-elliptisch/images/kegelpara.pdf and b/buch/chapters/110-elliptisch/images/kegelpara.pdf differ diff --git a/buch/chapters/110-elliptisch/images/torusschnitt.pdf b/buch/chapters/110-elliptisch/images/torusschnitt.pdf index 2948e76..9b64ab2 100644 Binary files a/buch/chapters/110-elliptisch/images/torusschnitt.pdf and b/buch/chapters/110-elliptisch/images/torusschnitt.pdf differ -- cgit v1.2.1 From e1e6149b020ef102e257adb9898d5ba5242bac05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 24 Jun 2022 20:47:33 +0200 Subject: more improvements --- buch/chapters/110-elliptisch/images/ellpolnul.pdf | Bin 130369 -> 130369 bytes buch/chapters/110-elliptisch/images/ellpolnul.tex | 2 +- .../110-elliptisch/images/ellselection.pdf | Bin 76094 -> 165928 bytes .../110-elliptisch/images/ellselection.tex | 14 ++++++++++++-- 4 files changed, 13 insertions(+), 3 deletions(-) (limited to 'buch/chapters/110-elliptisch/images') diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.pdf b/buch/chapters/110-elliptisch/images/ellpolnul.pdf index 4453703..d798169 100644 Binary files a/buch/chapters/110-elliptisch/images/ellpolnul.pdf and b/buch/chapters/110-elliptisch/images/ellpolnul.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellpolnul.tex b/buch/chapters/110-elliptisch/images/ellpolnul.tex index b3183fc..dfa04d3 100644 --- a/buch/chapters/110-elliptisch/images/ellpolnul.tex +++ b/buch/chapters/110-elliptisch/images/ellpolnul.tex @@ -26,7 +26,7 @@ \netz{0.4pt} \draw[line width=0.4pt] (-1,0) -- (1,0); \end{scope} -\fill[color=white,opacity=0.5] (-1,-1) rectangle (1,1); +\fill[color=white,opacity=0.7] (-1,-1) rectangle (1,1); \draw (-1,-1) rectangle (1,1); \node at (-1,-1) [below left] {$0$}; \node at (1,-1) [below right] {$K$}; diff --git a/buch/chapters/110-elliptisch/images/ellselection.pdf b/buch/chapters/110-elliptisch/images/ellselection.pdf index bad342c..7c98db1 100644 Binary files a/buch/chapters/110-elliptisch/images/ellselection.pdf and b/buch/chapters/110-elliptisch/images/ellselection.pdf differ diff --git a/buch/chapters/110-elliptisch/images/ellselection.tex b/buch/chapters/110-elliptisch/images/ellselection.tex index 0dd1e04..d8afeb1 100644 --- a/buch/chapters/110-elliptisch/images/ellselection.tex +++ b/buch/chapters/110-elliptisch/images/ellselection.tex @@ -43,8 +43,18 @@ \pgfmathparse{\sy/2} \xdef\rechtsy{\pgfmathresult} -\hintergrund -\netz{0.7pt} +\begin{scope} + \clip (-\sx,-\sy) rectangle (\sx,\sy); + \begin{scope}[xshift={-\Sx}] + \hintergrund + \netz{0.7pt} + \end{scope} + \begin{scope}[xshift={\Sx}] + \hintergrund + \netz{0.7pt} + \end{scope} +\end{scope} + \fill[color=red!14,opacity=0.7] ({-\sx},0) rectangle (\sx,\sy); \fill[color=blue!14,opacity=0.7] ({-\sx},{-\sy}) rectangle (\sx,0); \fill[color=yellow!40,opacity=0.5] (0,0) rectangle (\sx,\sy); -- cgit v1.2.1