From a503cc5c7fcbb125ec7c220845b9e760248db233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 26 Jan 2021 13:11:37 +0100 Subject: =?UTF-8?q?Visualisierungen=20f=C3=BCr=20Perron-Frobenius-Theorie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chapters/80-wahrscheinlichkeit/images/Makefile | 35 +++- .../80-wahrscheinlichkeit/images/diffusion.png | Bin 0 -> 265323 bytes .../80-wahrscheinlichkeit/images/diffusion.pov | 87 +++++++++ .../80-wahrscheinlichkeit/images/dreieck.m | 41 +++++ .../80-wahrscheinlichkeit/images/dreieck.pdf | Bin 0 -> 23945 bytes .../80-wahrscheinlichkeit/images/dreieck.tex | 90 +++++++++ .../80-wahrscheinlichkeit/images/positiv.jpg | Bin 0 -> 111361 bytes .../80-wahrscheinlichkeit/images/positiv.m | 36 ++++ .../80-wahrscheinlichkeit/images/positiv.png | Bin 0 -> 191808 bytes .../80-wahrscheinlichkeit/images/positiv.pov | 137 ++++++++++++++ .../80-wahrscheinlichkeit/images/trenn.pdf | Bin 0 -> 13272 bytes .../80-wahrscheinlichkeit/images/trenn.tex | 44 +++++ .../80-wahrscheinlichkeit/images/vergleich.jpg | Bin 0 -> 105809 bytes .../80-wahrscheinlichkeit/images/vergleich.pdf | Bin 0 -> 120558 bytes .../80-wahrscheinlichkeit/images/vergleich.png | Bin 0 -> 223136 bytes .../80-wahrscheinlichkeit/images/vergleich.pov | 203 +++++++++++++++++++++ .../80-wahrscheinlichkeit/images/vergleich.tex | 46 +++++ 17 files changed, 718 insertions(+), 1 deletion(-) create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/diffusion.png create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/dreieck.m create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/positiv.m create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/positiv.png create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/positiv.pov create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/trenn.tex create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/vergleich.png create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov create mode 100644 buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex (limited to 'buch/chapters/80-wahrscheinlichkeit/images') diff --git a/buch/chapters/80-wahrscheinlichkeit/images/Makefile b/buch/chapters/80-wahrscheinlichkeit/images/Makefile index 3c6a7f9..5511f14 100644 --- a/buch/chapters/80-wahrscheinlichkeit/images/Makefile +++ b/buch/chapters/80-wahrscheinlichkeit/images/Makefile @@ -3,8 +3,10 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschulen # -all: diffusion.png diffusion.pdf +all: dreieck.pdf trenn.pdf vergleich.pdf vergleich.jpg positiv.jpg \ + diffusion.png diffusion.pdf +# Visualisierung diffusion in einer primitiven Matrix diffusion.pdf: diffusion.tex diffusion.jpg pdflatex diffusion.tex @@ -17,3 +19,34 @@ diffusion.jpg: diffusion.png vektoren.inc: diffusion.m octave diffusion.m +# Visualizierung positive Matrix +positiv.png: positiv.pov quadrant.inc + povray +A0.1 +W1920 +H1080 -Opositiv.png positiv.pov + +positiv.jpg: positiv.png + convert positiv.png -density 300 -units PixelsPerInch positiv.jpg + +quadrant.inc: positiv.m + octave positiv.m + +# Visualiziserung Vergleichstrick +vergleich.png: vergleich.pov + povray +A0.1 +W1920 +H1080 -Overgleich.png vergleich.pov + +vergleich.jpg: vergleich.png Makefile + convert -extract 1110x1080+180+0 vergleich.png \ + -density 300 -units PixelsPerInch vergleich.jpg + +vergleich.pdf: vergleich.tex vergleich.jpg + pdflatex vergleich.tex + +# Darstellung zum Trenntrick +trenn.pdf: trenn.tex + pdflatex trenn.tex + +# Darstellung zur Dreiecksungleichung +dreieck.pdf: dreieck.tex drei.inc + pdflatex dreieck.tex + +drei.inc: dreieck.m + octave dreieck.m diff --git a/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png new file mode 100644 index 0000000..f4c6294 Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.png differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov new file mode 100644 index 0000000..9b385da --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/diffusion.pov @@ -0,0 +1,87 @@ +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.270; +#declare N = 30; +#declare vscale = 10; +#declare r = 0.08; + +camera { + location <43, 20, -50> + look_at + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <-4, 20, -50> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +#macro saeule(xx,yy,h) +box { , } +#end + +#macro vektor(xx,a,b,c,d,e,f) + saeule(xx,5,a) + saeule(xx,4,b) + saeule(xx,3,c) + saeule(xx,2,d) + saeule(xx,1,e) + saeule(xx,0,f) +#end + +union { +#include "vektoren.inc" + pigment { + color rgb<0.8,1,1>*0.6 + } + finish { + specular 0.9 + metallic + } +} + +union { +#declare xx = 1; +#while (xx <= N+1) + cylinder { , , r } + #declare xx = xx + 1; +#end +#declare yy = 0; +#while (yy <= 6) + cylinder { <1, 0, yy>, , r } + #declare yy = yy + 1; +#end + sphere { <1,0,0>, r } + sphere { <1,0,6>, r } + sphere { , r } + sphere { , r } + cylinder { <1,0,6>, <1,1.1*vscale,6>, r } + cylinder { <1,vscale-r/2,6>, <1,vscale+r/2,6>, 2*r } + cone { <1,1.1*vscale,6>, 2*r, <1,1.15*vscale,6>, 0 } + pigment { + color rgb<1,0.6,1>*0.6 + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m new file mode 100644 index 0000000..cc9661b --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.m @@ -0,0 +1,41 @@ +# +# dreieck.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +w = 12 +N = 10 + +rand("seed", 1); + +angles = 80 * rand(1,N) +radii = 2 * rand(1,N) + 0.4 +angle = 20 + +radii = radii * w / (cosd(angle) * sum(radii)) +radius = sum(radii) +radius * cosd(angle) + +points = zeros(2,N); +ray = zeros(2,N); + +p = [ 0; 0 ]; +for i = (1:N) + p = p + radii(1,i) * [ cosd(angles(1,i)); sind(angles(1,i)) ]; + points(:, i) = p; + ray(:, i) = sum(radii(1,1:i)) * [ cosd(angle); sind(angle) ]; +end + +points + +ray + +fn = fopen("drei.inc", "w"); +for i = (1:N) + fprintf(fn, "\\coordinate (A%d) at (%.4f,%.4f);\n", i, + points(1,i), points(2,i)); + fprintf(fn, "\\coordinate (B%d) at (%.4f,%.4f);\n", i, + ray(1,i), ray(2,i)); +end +fprintf(fn, "\\def\\r{%.4f}\n", radius); +fclose(fn); diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf new file mode 100644 index 0000000..0cca2e1 Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex new file mode 100644 index 0000000..0935992 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/dreieck.tex @@ -0,0 +1,90 @@ +% +% dreieck.tex -- verallgemeinerte Dreiecksungleichung +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usepackage{pgf} +\usetikzlibrary{arrows,intersections,math,calc,hobby} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\coordinate (O) at (0,0); + +\input{drei.inc} + +\begin{scope} +\clip (O) rectangle (12.3,8); +\draw[color=red!40] (O) circle[radius=\r]; +\end{scope} + +\draw[->] (-0.1,0) -- (12.3,0) coordinate[label={$\Re z$}]; +\draw[->] (0,-0.1) -- (0,8.3) coordinate[label={right:$\Im z$}]; + +\fill[color=blue] (A1) circle[radius=0.05]; +\fill[color=blue] (A2) circle[radius=0.05]; +\fill[color=blue] (A3) circle[radius=0.05]; +\fill[color=blue] (A4) circle[radius=0.05]; +\fill[color=blue] (A5) circle[radius=0.05]; +\fill[color=blue] (A6) circle[radius=0.05]; +\fill[color=blue] (A7) circle[radius=0.05]; +\fill[color=blue] (A8) circle[radius=0.05]; +\fill[color=blue] (A9) circle[radius=0.05]; +\fill[color=blue] (A10) circle[radius=0.05]; +\draw[color=blue] (O) -- (A1); +\draw[color=blue] (A1) -- (A2); +\draw[color=blue] (A2) -- (A3); +\draw[color=blue] (A3) -- (A4); +\draw[color=blue] (A4) -- (A5); +\draw[color=blue] (A5) -- (A6); +\draw[color=blue] (A6) -- (A7); +\draw[color=blue] (A7) -- (A8); +\draw[color=blue] (A8) -- (A9); +\draw[color=blue] (A9) -- (A10); +\draw[->,color=blue!40] (O) -- (A10); +\node[color=blue] at ($0.5*(A1)$) [left] {$z_1$}; +\node[color=blue] at ($0.5*(A1)+0.5*(A2)$) [left] {$z_2$}; +\node[color=blue] at ($0.5*(A2)+0.5*(A3)$) [above] {$z_3$}; +\node[color=blue] at ($0.5*(A3)+0.5*(A4)$) [above] {$z_4$}; +\node[color=blue] at ($0.5*(A4)+0.5*(A5)$) [below right] {$z_5$}; +\node[color=blue] at ($0.5*(A5)+0.5*(A6)$) [left] {$z_6$}; +\node[color=blue] at ($0.5*(A6)+0.5*(A7)$) [left] {$z_7$}; +\node[color=blue] at ($0.5*(A7)+0.5*(A8)$) [above] {$z_8$}; +\node[color=blue] at ($0.5*(A8)+0.5*(A9)$) [left] {$z_9$}; +\node[color=blue] at ($0.5*(A9)+0.5*(A10)$) [above] {$z_{10}$}; +\node[color=blue] at ($0.8*(A10)$) [rotate=35,below] {$\displaystyle\sum_{i=1}^n z_i$}; + +\draw[->,color=red] (O) -- (B10); +\fill[color=red] (B1) circle[radius=0.05]; +\fill[color=red] (B2) circle[radius=0.05]; +\fill[color=red] (B3) circle[radius=0.05]; +\fill[color=red] (B4) circle[radius=0.05]; +\fill[color=red] (B5) circle[radius=0.05]; +\fill[color=red] (B6) circle[radius=0.05]; +\fill[color=red] (B7) circle[radius=0.05]; +\fill[color=red] (B8) circle[radius=0.05]; +\fill[color=red] (B9) circle[radius=0.05]; +\fill[color=red] (B10) circle[radius=0.05]; + +\node[color=red] at ($0.5*(B1)$) [above] {$|z_1|c$}; +\node[color=red] at ($0.5*(B1)+0.5*(B2)$) [above] {$|z_2|c$}; +\node[color=red] at ($0.5*(B2)+0.5*(B3)$) [above] {$|z_3|c$}; +\node[color=red] at ($0.5*(B3)+0.5*(B4)$) [above] {$|z_4|c$}; +\node[color=red] at ($0.5*(B4)+0.5*(B5)$) [above] {$|z_5|c$}; +\node[color=red] at ($0.5*(B5)+0.5*(B6)$) [above] {$|z_6|c$}; +\node[color=red] at ($0.5*(B6)+0.5*(B7)$) [above] {$|z_7|c$}; +\node[color=red] at ($0.5*(B7)+0.5*(B8)$) [above] {$|z_8|c$}; +\node[color=red] at ($0.5*(B8)+0.5*(B9)$) [above] {$|z_9|c$}; +\node[color=red] at ($0.5*(B9)+0.5*(B10)$) [above] {$|z_{10}|c$}; + +\node[color=red] at ($0.8*(B10)$) [rotate=20,below] {$\displaystyle c\sum_{i=1}^n |z_i|$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg b/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg new file mode 100644 index 0000000..53544cb Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/positiv.jpg differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.m b/buch/chapters/80-wahrscheinlichkeit/images/positiv.m new file mode 100644 index 0000000..4dca950 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.m @@ -0,0 +1,36 @@ +# +# positiv.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +N = 10; +p = 0.2; + +A = eye(3) + p * rand(3,3); +A = [ + 1, 0.2, 0.2; + 0.1, 1, 0.1; + 0.05, 0.05, 1 +]; +B = eye(3); + +function retval = punkt(x) + retval = sprintf("<%.4f,%.4f,%.4f>", x(1), x(3), x(2)); +end + +fn = fopen("quadrant.inc", "w"); +for i = (1:N) + fprintf(fn, "quadrant(%s,%s,%s)\n", + punkt(B(:,1)), punkt(B(:,2)), punkt(B(:,3))) + B = B * A; +end + +x = [ 1; 1; 1 ]; +for i = (1:100) + x = A * x; + x = x / norm(x); +end +fprintf(fn, "eigenvektor(<%.4f, %.4f, %.4f>)\n", x(1), x(3), x(2)); + + +fclose(fn); diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.png b/buch/chapters/80-wahrscheinlichkeit/images/positiv.png new file mode 100644 index 0000000..a2bd9bf Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/positiv.png differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov b/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov new file mode 100644 index 0000000..9197498 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/positiv.pov @@ -0,0 +1,137 @@ +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.077; +#declare N = 30; +#declare vscale = 10; +#declare r = 0.04; + +camera { + location <43, 20, -20> + look_at <1, 0.83, 2.5> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <40, 20, -10> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +// +// draw an arrow from to with thickness with +// color +// +#macro arrow(from, to, arrowthickness, c) +#declare arrowdirection = vnormalize(to - from); +#declare arrowlength = vlength(to - from); +union { + sphere { + from, 1.1 * arrowthickness + } + cylinder { + from, + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + arrowthickness + } + cone { + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + 2 * arrowthickness, + to, + 0 + } + pigment { + color c + } + finish { + specular 0.9 + metallic + } +} +#end + +arrow(<0,0,0>, <3,0,0>, r, White) +arrow(<0,0,0>, <0,3,0>, r, White) +arrow(<0,0,0>, <0,0,3>, r, White) + +#macro quadrant(A, B, C) +intersection { + sphere { <0, 0, 0>, 1 + matrix + } + plane { vnormalize(vcross(A, B)), 0 } + plane { vnormalize(vcross(B, C)), 0 } + plane { vnormalize(vcross(C, A)), 0 } + pigment { + //color rgbf<0.8,1,1,0.7> + color rgb<0.8,1,1> + } + finish { + specular 0.9 + metallic + } +} +#end + +#macro eigenvektor(E) +union { + cylinder { -E, 8 * E, r } + #declare r0 = 0.7 * r; + + sphere { 3 * < 0, E.y, E.z >, r0 } + sphere { 3 * < E.x, 0, E.z >, r0 } + sphere { 3 * < E.x, E.y, 0 >, r0 } + sphere { 3 * E, r0 } + + cylinder { 3*< E.x, 0, 0 >, 3*< E.x, 0, E.z >, r0 } + cylinder { 3*< E.x, 0, 0 >, 3*< E.x, E.y, 0 >, r0 } + cylinder { 3*< 0, E.y, 0 >, 3*< E.x, E.y, 0 >, r0 } + cylinder { 3*< 0, E.y, 0 >, 3*< 0, E.y, E.z >, r0 } + cylinder { 3*< 0, 0, E.z >, 3*< 0, E.y, E.z >, r0 } + cylinder { 3*< 0, 0, E.z >, 3*< E.x, 0, E.z >, r0 } + + cylinder { 3*< E.x, E.y, 0 >, 3*E, r0 } + cylinder { 3*< 0, E.y, E.z >, 3*E, r0 } + cylinder { 3*< E.x, 0, E.z >, 3*E, r0 } + pigment { + color rgb<1,0.6,1>*0.6 + } + finish { + specular 0.9 + metallic + } +} +#end + +#include "quadrant.inc" + +//union { +// pigment { +// color rgb<0.8,1,1>*0.6 +// } +// finish { +// specular 0.9 +// metallic +// } +//} + diff --git a/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf b/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf new file mode 100644 index 0000000..f4fa58f Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/trenn.pdf differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex b/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex new file mode 100644 index 0000000..f34879c --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/trenn.tex @@ -0,0 +1,44 @@ +% +% trenn.tex -- Trenntrick graphische Darstellung +% +% (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\d{6} + +\coordinate (u) at (5,3); +\coordinate (v) at (3,1); +\coordinate (ve) at (5,1.666); + +\fill[color=gray!40] (0,0) rectangle (u); + +\begin{scope} +\clip (0,0) rectangle (6.1,4.1); +\draw[color=red] (0,0) -- (9,3); +\end{scope} + +\draw[->] (-0.1,0) -- (6.3,0) coordinate[label={$x_1$}]; +\draw[->] (0,-0.1) -- (0,4.3) coordinate[label={right:$x_2$}]; + +\fill (u) circle[radius=0.05]; +\node at (u) [above right] {$u$}; + +\fill (v) circle[radius=0.05]; +\node at (v) [above right] {$v$}; + +\fill[color=red] (ve) circle[radius=0.05]; +\node[color=red] at (ve) [above,rotate={atan(1/3)}] {$(1+\varepsilon)v$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg new file mode 100644 index 0000000..3274f42 Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.jpg differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf new file mode 100644 index 0000000..feb19a2 Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png new file mode 100644 index 0000000..f20bd48 Binary files /dev/null and b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.png differ diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov new file mode 100644 index 0000000..e696481 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.pov @@ -0,0 +1,203 @@ +// +// diffusion.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostscheizer Fachhochschule +// +#version 3.7; +#include "colors.inc" +#include "textures.inc" +#include "transforms.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.077; +#declare N = 30; +#declare vscale = 10; +#declare r = 0.04; + +camera { + location <43, 20, -20> + look_at <1, 0.83, 2.5> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <20, 60, -80> color White + area_light <1,0,0> <0,0,1>, 40, 40 + 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 + +#declare O = <0,0,0>; +#declare Ex = <1,0,0>; +#declare Ey = <0,1,0>; +#declare Ez = <0,0,1>; +#declare s = 3; + +#declare A_transformation = Matrix_Trans(<1.0300,0.2050,0.1050>,<0.4100,1.0250,0.1100>,<0.4200,0.2200,1.0150>,<0,0,0>); +//#declare A_transformation = Matrix_Trans(<1.0300,0.2050,0.1050>,<0.4100,1.0250,0.1100>,<0.4200,0.2200,0.5150>,<0,0,0>); + +arrow(O, s * Ex, r, rgb<0.6,0.2,0.4>) +arrow(O, s * Ez, r, rgb<0.2,0.4,0.2>) +arrow(O, s * Ey, r, rgb<0.2,0.2,0.4>) + +#declare A = vtransform(Ex, A_transformation); +#declare B = vtransform(Ey, A_transformation); +#declare C = vtransform(Ez, A_transformation); + +#macro quadrant(rad) +intersection { + sphere { <0, 0, 0>, rad + //A_transformation + matrix + } + plane { vnormalize(-vcross(A, B)), 0 } + plane { vnormalize(-vcross(B, C)), 0 } + plane { vnormalize(-vcross(C, A)), 0 } + pigment { + color rgbf<0.8,1,1,0.5> + //color rgb<0.8,1,1> + } + finish { + specular 0.9 + metallic + } +} +union { + cylinder { O, s*A, 0.3*r } + sphere { s*A, 0.3*r } + cylinder { O, s*B, 0.3*r } + sphere { s*B, 0.3*r } + cylinder { O, s*C, 0.3*r } + sphere { s*C, 0.3*r } + pigment { + color White + } + finish { + specular 0.9 + metallic + } +} +#end + +#declare d = 3; +//union { +// plane { <0, 1, 0>, -d } +// plane { <1, 0, 0>, -d } +// pigment { +// color Gray +// } +// finish { +// specular 0.9 +// } +//} + +quadrant(s) + +#declare V = < 1, 1, 0 >; +#declare U = < 1.3, 2.5, 0 >; + +#declare VV = vtransform(V, A_transformation); +#declare Vx = vtransform(, A_transformation); +#declare Vy = vtransform(<0, V.y, 0>, A_transformation); +#declare UU = vtransform(U, A_transformation); +#declare Ux = vtransform(, A_transformation); +#declare Uy = vtransform(<0, U.y, 0>, A_transformation); + +union { + sphere { V, r } + sphere { U, r } + cylinder { U, V, 0.5*r } + pigment { + color Red + } + finish { + specular 0.9 + metallic + } +} + +union { + cylinder { < U.x, 0, 0 >, < U.x, U.y, 0>, 0.3 * r } + cylinder { < V.x, 0, 0 >, < V.x, V.y, 0>, 0.3 * r } + cylinder { < 0, U.y, 0 >, < U.x, U.y, 0>, 0.3 * r } + cylinder { < 0, V.y, 0 >, < V.x, V.y, 0>, 0.3 * r } + pigment { + color rgb<1, 0.6, 1> + } + finish { + specular 0.9 + metallic + } +} + +union { + sphere { VV, r } + sphere { UU, r } + cylinder { UU, VV, 0.5*r } + pigment { + color Yellow + } + finish { + specular 0.9 + metallic + } +} + +union { + cylinder { Ux, UU, 0.3 * r } + cylinder { Uy, UU, 0.3 * r } + cylinder { Vx, VV, 0.3 * r } + cylinder { Vy, VV, 0.3 * r } + pigment { + color rgb<1, 1, 0.6> + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex new file mode 100644 index 0000000..23d7d66 --- /dev/null +++ b/buch/chapters/80-wahrscheinlichkeit/images/vergleich.tex @@ -0,0 +1,46 @@ +% +% vergleich.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{5} +\def\hoehe{5} + +\begin{tikzpicture}[>=latex,thick] + +% Povray Bild +\node at (0,0) {\includegraphics[width=10cm]{vergleich.jpg}}; + +\node at (-1.3,-4.8) [right] {$x_1$}; +\node[opacity=0.5] at (1.9,-0.9) [right] {$x_2$}; +\node at (-4.6,4.7) [right] {$x_3$}; + +\node at (-3.2,2.6) [above] {$u$}; +\node at (-3.5,-0.7) [below left] {$v$}; +\node at (-1,2.8) [above] {$Au$}; +\node at (-2.6,-0.5) [below] {$Av$}; + +% 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]; +}{} + +\end{tikzpicture} + +\end{document} + -- cgit v1.2.1