aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2022-06-24 20:18:48 +0200
committerAndreas Müller <andreas.mueller@ost.ch>2022-06-24 20:18:48 +0200
commit3a7e2cef27bd78a96b20751db2a53f7291fcd2a6 (patch)
tree7dd281e91c7a910ac3df8eaded47a723366da138
parentFunktionsauswahl (diff)
downloadSeminarSpezielleFunktionen-3a7e2cef27bd78a96b20751db2a53f7291fcd2a6.tar.gz
SeminarSpezielleFunktionen-3a7e2cef27bd78a96b20751db2a53f7291fcd2a6.zip
add grid to images
-rw-r--r--buch/chapters/110-elliptisch/dglsol.tex16
-rw-r--r--buch/chapters/110-elliptisch/images/Makefile7
-rw-r--r--buch/chapters/110-elliptisch/images/ellpolnul.pdfbin19647 -> 86072 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/ellpolnul.tex9
-rw-r--r--buch/chapters/110-elliptisch/images/ellselection.pdfbin20323 -> 76094 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/ellselection.tex15
-rw-r--r--buch/chapters/110-elliptisch/images/jacobiplots.pdfbin56975 -> 56975 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/kegelpara.pdfbin202828 -> 202828 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/rechteck.cpp31
-rw-r--r--buch/chapters/110-elliptisch/images/rechteck.pdfbin91639 -> 94300 bytes
-rw-r--r--buch/chapters/110-elliptisch/images/rechteck.tex2
-rw-r--r--buch/chapters/110-elliptisch/images/torusschnitt.pdfbin312677 -> 312677 bytes
12 files changed, 60 insertions, 20 deletions
diff --git a/buch/chapters/110-elliptisch/dglsol.tex b/buch/chapters/110-elliptisch/dglsol.tex
index 74f2f8c..3303aee 100644
--- a/buch/chapters/110-elliptisch/dglsol.tex
+++ b/buch/chapters/110-elliptisch/dglsol.tex
@@ -403,27 +403,27 @@ abgelesen werden:
\begin{equation}
\begin{aligned}
\operatorname{sn}(0,k)&=0
-&
+&&\qquad&
\operatorname{cn}(0,k)&=1
-&
+&&\qquad&
\operatorname{dn}(0,k)&=1
\\
\operatorname{sn}(iK',k)&=\infty
-&
+&&\qquad&
\operatorname{cn}(iK',k)&=\infty
-&
+&&\qquad&
\operatorname{dn}(iK',k)&=\infty
\\
\operatorname{sn}(K,k)&=1
-&
+&&\qquad&
\operatorname{cn}(K,k)&=0
-&
+&&\qquad&
\operatorname{dn}(K,k)&=k'
\\
\operatorname{sn}(K+iK',k)&=\frac{1}{k}
-&
+&&\qquad&
\operatorname{cn}(K+iK',k)&=\frac{k'}{ik}
-&
+&&\qquad&
\operatorname{dn}(K+iK',k)&=0
\end{aligned}
\label{buch:elliptische:eqn:eckwerte}
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
--- a/buch/chapters/110-elliptisch/images/ellpolnul.pdf
+++ b/buch/chapters/110-elliptisch/images/ellpolnul.pdf
Binary files 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
--- a/buch/chapters/110-elliptisch/images/ellselection.pdf
+++ b/buch/chapters/110-elliptisch/images/ellselection.pdf
Binary files 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
--- a/buch/chapters/110-elliptisch/images/jacobiplots.pdf
+++ b/buch/chapters/110-elliptisch/images/jacobiplots.pdf
Binary files differ
diff --git a/buch/chapters/110-elliptisch/images/kegelpara.pdf b/buch/chapters/110-elliptisch/images/kegelpara.pdf
index 59f9f50..0d6f63d 100644
--- a/buch/chapters/110-elliptisch/images/kegelpara.pdf
+++ b/buch/chapters/110-elliptisch/images/kegelpara.pdf
Binary files 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<double>& 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<double> dir(0.01, 0);
+ double deltax = Deltax;
for (double im = deltax; im < 3; im += deltax) {
std::complex<double> startz(0, im);
std::complex<double> 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<double>(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<double> 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
--- a/buch/chapters/110-elliptisch/images/rechteck.pdf
+++ b/buch/chapters/110-elliptisch/images/rechteck.pdf
Binary files 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
--- a/buch/chapters/110-elliptisch/images/torusschnitt.pdf
+++ b/buch/chapters/110-elliptisch/images/torusschnitt.pdf
Binary files differ