aboutsummaryrefslogtreecommitdiffstats
path: root/buch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--buch/chapters/95-homologie/komplex.tex26
-rw-r--r--buch/papers/clifford/3d/Makefile30
-rw-r--r--buch/papers/clifford/3d/common.inc247
-rw-r--r--buch/papers/clifford/3d/dq.pov25
-rw-r--r--buch/papers/clifford/3d/drehung.pov120
-rw-r--r--buch/papers/clifford/3d/q23.pov12
-rw-r--r--buch/papers/clifford/3d/q31.pov12
-rw-r--r--buch/papers/ifs/teil1.tex8
-rw-r--r--buch/papers/ifs/teil2.tex30
-rw-r--r--buch/papers/ifs/teil3.tex15
10 files changed, 487 insertions, 38 deletions
diff --git a/buch/chapters/95-homologie/komplex.tex b/buch/chapters/95-homologie/komplex.tex
index fa2d8e1..7ed5937 100644
--- a/buch/chapters/95-homologie/komplex.tex
+++ b/buch/chapters/95-homologie/komplex.tex
@@ -69,31 +69,33 @@ kommutatives Diagramm dargestellt werden.
\begin{equation}
\begin{tikzcd}
0
- & C_0 \arrow[l, "\partial_0^C"]
+ & C_0 \arrow[l, "\partial_0^C" above]
\arrow[d, "f_0"]
- & C_1 \arrow[l,"\partial_1^C"]
+ & C_1 \arrow[l,"\partial_1^C" above]
\arrow[d, "f_1"]
- & C_2 \arrow[l,"\partial_2^C"]
+ & C_2 \arrow[l,"\partial_2^C" above]
\arrow[d, "f_2"]
& \dots \arrow[l]
- \arrow[l, "\partial_{k-1}^C"]
+ \arrow[l, "\partial_{k-1}^C" above]
& C_k
- \arrow[l, "\partial_k^C"]
+ \arrow[l, "\partial_k^C" above]
\arrow[d, "f_k"]
- & C_{k+1}\arrow[l, "\partial_{k+1}^C"]
+ & C_{k+1}\arrow[l, "\partial_{k+1}^C" above]
\arrow[d, "f_{k+1}"]
& \dots
+ \arrow[l,"\partial_{k+2}^C"]
\\
0
- & D_0 \arrow[l, "\partial_0^D"]
- & D_1 \arrow[l,"\partial_1^D"]
- & D_2 \arrow[l,"\partial_2^D"]
+ & D_0 \arrow[l, "\partial_0^D" above]
+ & D_1 \arrow[l,"\partial_1^D" above]
+ & D_2 \arrow[l,"\partial_2^D" above]
& \dots \arrow[l]
- \arrow[l, "\partial_{k-1}^D"]
+ \arrow[l, "\partial_{k-1}^D" above]
& D_k
- \arrow[l, "\partial_k^D"]
- & D_{k+1}\arrow[l, "\partial_{k+1}^D"]
+ \arrow[l, "\partial_k^D" above]
+ & D_{k+1}\arrow[l, "\partial_{k+1}^D" above]
& \dots
+ \arrow[l,"\partial_{k+2}^D" above]
\end{tikzcd}
\label{buch:komplex:abbcd}
\end{equation}
diff --git a/buch/papers/clifford/3d/Makefile b/buch/papers/clifford/3d/Makefile
new file mode 100644
index 0000000..70dffe3
--- /dev/null
+++ b/buch/papers/clifford/3d/Makefile
@@ -0,0 +1,30 @@
+#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: dq.jpg q23.jpg q31.jpg drehung.jpg
+
+size="+W1920 +H1080"
+size="+W3840 +H2160"
+
+dq.png: dq.pov common.inc
+ povray +A0.1 $(size) -Odq.png dq.pov
+dq.jpg: dq.png
+ convert dq.png -density 300 -units PixelsPerInch dq.jpg
+
+q23.png: q23.pov common.inc
+ povray +A0.1 $(size) -Oq23.png q23.pov
+q23.jpg: q23.png
+ convert q23.png -density 300 -units PixelsPerInch q23.jpg
+
+q31.png: q31.pov common.inc
+ povray +A0.1 $(size) -Oq31.png q31.pov
+q31.jpg: q31.png
+ convert q31.png -density 300 -units PixelsPerInch q31.jpg
+
+drehung.png: drehung.pov common.inc
+ povray +A0.1 $(size) -Odrehung.png drehung.pov
+drehung.jpg: drehung.png
+ convert drehung.png -density 300 -units PixelsPerInch drehung.jpg
+
diff --git a/buch/papers/clifford/3d/common.inc b/buch/papers/clifford/3d/common.inc
new file mode 100644
index 0000000..54aa7fe
--- /dev/null
+++ b/buch/papers/clifford/3d/common.inc
@@ -0,0 +1,247 @@
+//
+// common.inc
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.14;
+#declare r = 0.02;
+#declare thick = 0.040;
+
+camera {
+ location <40, 12, 15>
+ look_at <0, 0, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <40, 20, 20> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+//
+// draw an arrow from <from> to <to> with thickness <arrowthickness> with
+// color <c>
+//
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.1 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 5 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+
+arrow(< -3, 0, 0 >, < 3, 0, 0 >, r, White)
+arrow(< 0, -3, 0 >, < 0, 3, 0 >, r, White)
+arrow(< 0, 0, -3 >, < 0, 0, 3 >, r, White)
+
+#macro circlearrow0(e1, e2, e3, r1, r2, h, winkel)
+
+mesh {
+ #declare N = 100;
+ #declare phi = 0;
+ #declare phimax = winkel - pi / 12;
+ #declare phistep = (phimax - phi) / N;
+ #while (phi < phimax - phistep/2)
+ triangle {
+ center + r1 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) - h * e3
+ }
+ triangle {
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) - h * e3,
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r2 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) - h * e3
+ }
+ triangle {
+ center + r1 * (cos(phi ) * e1 + sin(phi ) * e2) + h * e3,
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) + h * e3,
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3
+ }
+ triangle {
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3,
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) + h * e3,
+ center + r2 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3
+ }
+ triangle {
+ center + r1 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) - h * e3,
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3
+ }
+ triangle {
+ center + r1 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r1 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3,
+ center + r1 * (cos(phi ) * e1 + sin(phi ) * e2) + h * e3
+ }
+ triangle {
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r2 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) - h * e3,
+ center + r2 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3
+ }
+ triangle {
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) - h * e3,
+ center + r2 * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + h * e3,
+ center + r2 * (cos(phi ) * e1 + sin(phi ) * e2) + h * e3
+ }
+ #declare phi = phi + phistep;
+ #end
+
+ triangle {
+ center + r1 * e1 - h * e3,
+ center + r1 * e1 + h * e3,
+ center + r2 * e1 + h * e3
+ }
+ triangle {
+ center + r2 * e1 - h * e3,
+ center + r2 * e1 + h * e3,
+ center + r1 * e1 - h * e3
+ }
+ triangle {
+ center + r1 * cos(phi) * e1 + r1 * sin(phi) * e2 - h * e3,
+ center + r2 * cos(phi) * e1 + r2 * sin(phi) * e2 - h * e3,
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) - h * e3
+ }
+ triangle {
+ center + r1 * cos(phi) * e1 + r1 * sin(phi) * e2 + h * e3,
+ center + r2 * cos(phi) * e1 + r2 * sin(phi) * e2 + h * e3,
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) + h * e3
+ }
+ triangle {
+ center + r1 * cos(phi) * e1 + r1 * sin(phi) * e2 - h * e3,
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) - h * e3
+ center + r1 * cos(phi) * e1 + r1 * sin(phi) * e2 + h * e3
+ }
+ triangle {
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) - h * e3
+ center + r1 * cos(phi) * e1 + r1 * sin(phi) * e2 + h * e3,
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) + h * e3
+ }
+ triangle {
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) - h * e3,
+ center + r2 * cos(phi) * e1 + r2 * sin(phi) * e2 - h * e3,
+ center + r2 * cos(phi) * e1 + r2 * sin(phi) * e2 + h * e3
+ }
+ triangle {
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) - h * e3,
+ center + r2 * cos(phi) * e1 + r2 * sin(phi) * e2 + h * e3,
+ center + 0.5*(r1+r2) * (cos(phi + pi/12) * e1 + sin(phi + pi/12) * e2) + h * e3
+ }
+
+ pigment {
+ color rgb<1, 0.4, 0.4>
+ }
+}
+
+#end
+
+
+#macro circlearrow(fromdirection, axis, center, r, h, winkel, anzahl)
+
+#declare e1 = vnormalize(fromdirection);
+#declare e2 = -vnormalize(vcross(axis, fromdirection));
+#declare e3 = vnormalize(axis);
+
+#declare r1 = 0.4 * r;
+#declare r2 = r;
+
+#declare w = 0;
+#while (w < anzahl)
+ #declare a = 2 * w * pi / anzahl;
+ circlearrow0(e1 * cos(a) - e2 * sin(a), e1 * sin(a) + e2 * cos(a), e3, r1, r2, 1.2 * h, winkel)
+ #declare w = w + 1;
+#end
+
+mesh {
+ #declare vlu = center - r * e1 - r * e2 - h * e3;
+ #declare vlo = center - r * e1 - r * e2 + h * e3;
+ #declare vru = center - r * e1 + r * e2 - h * e3;
+ #declare vro = center - r * e1 + r * e2 + h * e3;
+ #declare hlu = center + r * e1 - r * e2 - h * e3;
+ #declare hlo = center + r * e1 - r * e2 + h * e3;
+ #declare hru = center + r * e1 + r * e2 - h * e3;
+ #declare hro = center + r * e1 + r * e2 + h * e3;
+ triangle { vlu, vru, vro }
+ triangle { vlu, vro, vlo }
+
+ triangle { vru, hru, hro }
+ triangle { vru, hro, vro }
+
+ triangle { hru, hlu, hlo }
+ triangle { hru, hlo, hro }
+
+ triangle { hlu, vlu, vlo }
+ triangle { hlu, vlo, hlo }
+
+ triangle { vlu, vru, hru }
+ triangle { vlu, hru, hlu }
+
+ triangle { vlo, vro, hro }
+ triangle { vlo, hro, hlo }
+
+ pigment {
+ color rgb<0.6,0.6,1>
+ }
+ finish {
+ specular 0.96
+ metallic
+ }
+}
+
+#if (vlength(axis) > 0.1)
+cone {
+ center + 1.19 * h * e3, r, center + 2 * r * e3, 0
+ pigment {
+ color rgbt<0.6,0.6,1,0.8>
+ }
+}
+#end
+
+cylinder {
+ center, center + 2 * r * e3, 0.04*0.2
+ pigment {
+ color rgb<1.0,0.6,0.6>
+ }
+ finish {
+ specular 0.96
+ metallic
+ }
+}
+
+#end
+
diff --git a/buch/papers/clifford/3d/dq.pov b/buch/papers/clifford/3d/dq.pov
new file mode 100644
index 0000000..8002129
--- /dev/null
+++ b/buch/papers/clifford/3d/dq.pov
@@ -0,0 +1,25 @@
+//
+// dq.pov -- Drehung und Quaternion
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+arrow(<0,0,0>, <1, sqrt(2), 2>, r, Red)
+
+#declare r = 0.2 * r;
+
+circlearrow(<1,0,0>, <0,0,1>, <1, sqrt(2), 0>, 1, thick, 1.8*pi/3, 3)
+circlearrow(<1,0,0>, <0,1,0>, <1, 0, 2>, sqrt(2)/2, thick, 1.8*pi/3, 3)
+circlearrow(<0,0,1>, <1,0,0>, <0, sqrt(2), 2>, 0.5, thick, 1.8*pi/3, 3)
+
+#declare l = 2.8;
+#declare h = 0.0001;
+union {
+ box { <-l,-l,-h>, <l,l,-h> }
+ box { <-l,-h,-l>, <l,-h,l> }
+ box { <-h,-l,-l>, <-h,l,l> }
+ pigment {
+ color rgbt<0.6,0.6,0.6,0.0>
+ }
+}
diff --git a/buch/papers/clifford/3d/drehung.pov b/buch/papers/clifford/3d/drehung.pov
new file mode 100644
index 0000000..54b5a2e
--- /dev/null
+++ b/buch/papers/clifford/3d/drehung.pov
@@ -0,0 +1,120 @@
+//
+// drehung.pov -- Drehung um (1,1,1)
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+#declare n = vnormalize(<1,1,1>);
+#declare V = <0,2.6,0>;
+#declare W = <0,0,2.6>;
+
+#declare Vparallel = vdot(n, V) * n;
+#declare Vperp = V - Vparallel;
+#declare Wparallel = vdot(n, W) * n;
+#declare Wperp = W - Wparallel;
+
+arrow(<0,0,0>, 2*n, thick, Red)
+
+arrow(<0,0,0>, V, thick, rgb<0.0,1.0,1.0>)
+arrow(<0,0,0>, W, thick, rgb<0.0,1.0,1.0>)
+
+circlearrow(vnormalize(vcross(<-1,0,1>,n)), -0.01 * <1,1,1>, <0,0,0>, 1, 0.8*thick, 1.98*pi/3, 3)
+
+arrow(<0,0,0>, Vperp, 0.99*thick, Blue)
+arrow(<0,0,0>, Wperp, 0.99*thick, Blue)
+
+arrow(Vperp, V, thick, Green)
+arrow(Wperp, W, thick, Green)
+
+#declare l = 2.4;
+intersection {
+ box { <-l,-l,-l>, <l,l,l> }
+ //cylinder { -n, n, 3 }
+ plane { n, 0.01 }
+ plane { -n, 0.01 }
+ pigment {
+ color rgbt<0.6,0.6,1.0,0.8>
+ }
+}
+
+#declare e1 = vnormalize(Vperp);
+#declare e3 = n;
+#declare e2 = vnormalize(vcross(e3, e1));
+#declare r = vlength(Vperp);
+
+mesh {
+ #declare phi = 0;
+ #declare phimax = 2*pi/3;
+ #declare phistep = (phimax - phi) / N;
+ #while (phi < phimax - phistep/2)
+ triangle {
+ <0,0,0>,
+ r * (cos(phi ) * e1 + sin(phi ) * e2),
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2)
+ }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color rgbt<0.2,0.2,1.0,0.4>
+ }
+}
+
+union {
+ #declare phi = 0;
+ #declare phimax = 2*pi/3;
+ #declare phistep = (phimax - phi) / N;
+ #while (phi < phimax - phistep/2)
+ cylinder {
+ r * (cos(phi ) * e1 + sin(phi ) * e2),
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2),
+ 0.01
+ }
+ sphere { r * (cos(phi ) * e1 + sin(phi ) * e2), 0.01 }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color Blue
+ }
+}
+
+mesh {
+ #declare phi = 0;
+ #declare phimax = 2*pi/3;
+ #declare phistep = (phimax - phi) / N;
+ #while (phi < phimax - phistep/2)
+ triangle {
+ r * (cos(phi ) * e1 + sin(phi ) * e2),
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2),
+ r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel
+ }
+ triangle {
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2),
+ r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel,
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + Vparallel
+ }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color rgbt<0.2,1,0.2,0.4>
+ }
+}
+
+union {
+ #declare phi = 0;
+ #declare phimax = 2*pi/3;
+ #declare phistep = (phimax - phi) / N;
+ #while (phi < phimax - phistep/2)
+ cylinder {
+ r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel,
+ r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + Vparallel,
+ 0.01
+ }
+ sphere { r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel, 0.01 }
+ #declare phi = phi + phistep;
+ #end
+ pigment {
+ color Green
+ }
+}
+
diff --git a/buch/papers/clifford/3d/q23.pov b/buch/papers/clifford/3d/q23.pov
new file mode 100644
index 0000000..e3e5d49
--- /dev/null
+++ b/buch/papers/clifford/3d/q23.pov
@@ -0,0 +1,12 @@
+//
+// q23.pov -- Drehung und Quaternion
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+circlearrow(<1,0,0>, 0.01*<0,0,-1>, <0, 0, 0>, 1.0, thick, 0.98*pi/2, 4)
+
+arrow( <0,0,0>, <-2.0,0,0>, 0.99*thick, Blue)
+arrow( <0,0,0>, <0,2.0,0>, 0.99*thick, Blue)
+arrow( <0,0,0>, <0,0,2.0>, 0.99*thick, Red)
diff --git a/buch/papers/clifford/3d/q31.pov b/buch/papers/clifford/3d/q31.pov
new file mode 100644
index 0000000..901f838
--- /dev/null
+++ b/buch/papers/clifford/3d/q31.pov
@@ -0,0 +1,12 @@
+//
+// q31.pov -- Drehung und Quaternion
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "common.inc"
+
+circlearrow(<1,0,0>, 0.01*<0,-1,0>, <0, 0, 0>, 1.0, thick, 0.98*pi/2, 4)
+
+arrow( <0,0,0>, <-2.0,0,0>, 0.99*thick, Blue)
+arrow( <0,0,0>, <0,2.0,0>, 0.99*thick, Red)
+arrow( <0,0,0>, <0,0,2.0>, 0.99*thick, Blue)
diff --git a/buch/papers/ifs/teil1.tex b/buch/papers/ifs/teil1.tex
index 7ce546a..caba120 100644
--- a/buch/papers/ifs/teil1.tex
+++ b/buch/papers/ifs/teil1.tex
@@ -15,7 +15,7 @@ Von einem Fraktal $F$ können wir folgende Eigenschaften erwarten:
\item $F$ kann nicht mit der klassischen Geometrie beschrieben werden.
\item Oftmals hat $F$ eine Form von Selbstähnlichkeit.
Man spricht von einer selbstähnlichen Menge, wenn sich diese Menge überdecken lässt mit echten Teilmengen, die zur ganzen Menge ähnlich sind.
- \item Die `fraktale Dimension´ ist grösser als die topologische Dimension
+ \item Die `fraktale Dimension' ist grösser als die topologische Dimension.
\item Viele Fraktale lassen sich auf eine simple Art definieren. Es genügen zum Beispiel nur wenige Funktionen, welche rekursiv ausgeführt werden, um ein Fraktal zu definieren.
\end{enumerate}
\subsection{Koch Kurve
@@ -64,7 +64,7 @@ berechnen.
In jedem Schritt wird die Länge um den Faktor $\frac{4}{3}$ verlängert. Daraus resultiert, dass die Länge gegen $\infty$ divergiert.
-Die Fläche der Kurve lässt sich folgendermassen berechnen
+Die Fläche zwischen der Strecke von $O$ nach $(1,0)$ und der Kurve lässt sich folgendermassen berechnen
\begin{align*}
A_0 &= 0 \\
A_1 &= \left( \frac{a}{3}\right)^2 \frac{\sqrt{3}}{4} = a^2 \frac{\sqrt{3}}{36}\\
@@ -100,8 +100,8 @@ Ihre Ähnlichkeits-Dimension ist somit
\begin{align*}
D = - \frac{\log N }{\log \epsilon } = - \frac{\log 4 }{\log 1/3 } \approx 1.2619.
\end{align*}
-Wie wir nun sehen besitzt die Koch-Kurve alle oben beschriebenen Eigenschaften von Fraktalen.
-Dies muss jedoch nicht bei allen Fraktalen der Fall sein. Sonst wäre die Frage nach einer 'richtigen' Definition einfach zu beantworten.
+Wie wir nun sehen, besitzt die Koch-Kurve alle oben beschriebenen Eigenschaften von Fraktalen.
+Dies muss jedoch nicht bei allen Fraktalen der Fall sein. Sonst wäre die Frage nach einer `richtigen' Definition einfach zu beantworten.
\begin{figure}
\centering
\begin{tikzpicture}
diff --git a/buch/papers/ifs/teil2.tex b/buch/papers/ifs/teil2.tex
index 49c1cf3..c468b73 100644
--- a/buch/papers/ifs/teil2.tex
+++ b/buch/papers/ifs/teil2.tex
@@ -8,7 +8,7 @@
\rhead{Teil 2}
Wollen wir nun eine bestimmte Art anschauen, wie man Fraktale erzeugen kann.
Im Beispiel auf Seite \pageref{ifs:trinagle} haben wir ein Dreieck aus 4 skalierten Kopien zusammengefügt.
-Lässt man die Kopie im Zentrum des Dreiecks weg, entsteht die Grundlage des sogenannten Sierpinski-Dreieck, Abbildung \ref{ifs:sierpinski10}.
+Lässt man die Kopie im Zentrum des Dreiecks weg, entsteht die Grundlage des sogenannten Sierpinski-Dreieck in Abbildung \ref{ifs:sierpinski10}.
\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{papers/ifs/images/sierpinski}
@@ -93,22 +93,22 @@ Man kann sogar noch einen Schritt weiter gehen, und sagen: Wenn wir die Funktion
\label{ifs:sierpconst}
\end{figure}
Im Beispiel der Abbildung \ref{ifs:sierpconst} sehen wir, wie das Bild nach jeder Iteration dem Sierpinski-Dreieck ähnlicher wird.
-Der `Abstand´ zum Original wird immer kleiner, und konvergiert gegen null.
+Der `Abstand' zum Original wird immer kleiner, und konvergiert gegen null.
\subsection{Iterierte Funktionensysteme
\label{ifs:subsection:IteratedFunktionensysteme}}
In diesem Abschnitt wollen wir die Erkenntnis, wie wir aus einer beliebigen Menge ein Sierpinski-Dreieck generieren können, verallgemeinern.
-$S_1,\dots,S_n$ sind Kontraktionen auf der Menge $D \subset \mathbb{R}^n$. Es gilt
+$S_1,\dots,S_n$ sind Kontraktionen auf einer Menge $D \subset \mathbb{R}^n$. Es gilt
\begin{align}
|S_i(x) - S_i(y)| \leq c_i|x - y|
\end{align}
für jedes i mit einem $c_i < 1$.
-Der Banachsche Fixpunktsatz besagt, dass für solche Kontraktionen ein Eindeutiges $A$ existiert, für das $S_i(A) = A$ gilt.
+Man kann zeigen, dass für solche Kontraktionen ein eindeutiges $A$ existiert, für das $S_i(A) = A$ gilt.
Den Beweis kann man in \cite{ifs:Rousseau2012} nachlesen.
-Hat man nicht nur eine sondern mehrere Kontraktionen, dann existiert eine eindeutige kompakte Menge $F$ für die gilt
+Hat man nicht nur eine sondern mehrere Kontraktionen, dann existiert eine eindeutige kompakte Menge $F$, für die gilt
\begin{equation}
F = \bigcup\limits_{i = 1}^{m} S_i(F).
\end{equation}
@@ -117,12 +117,12 @@ Weiter definieren wir die Transformation S auf kompakte Mengen $E$ ohne die leer
S(E) = \bigcup\limits_{i = 1}^m S_i(E).
\label{ifs:transformation}
\end{equation}
-Wird diese Transformation Iterativ ausgeführt, das heisst $S^0(E) = E, S^k(E) = S(S^{k-1}(E))$, gilt
+Wird diese Transformation iterativ ausgeführt, das heisst $S^0(E) = E, S^k(E) = S(S^{k-1}(E))$, gilt
\begin{equation}
F = \bigcap\limits_{k = 1}^{\infty} S^k(E).
\label{ifs:ifsForm}
\end{equation}
-In Worte gefasst bedeutet das, dass jede Gruppe von Kontraktionen iterativ ausgeführt, gegen eine eindeutige Menge konvergiert.
+In Worte gefasst bedeutet das, dass jede Gruppe von Kontraktionen iterativ ausgeführt gegen eine eindeutige Menge konvergiert.
Diese Menge ist auch als Attraktor eines IFS bekannt.
Der Beweis für die Existenz eines eindeutigen Attraktors ist in \cite{ifs:fractal-geometry} beschrieben.
@@ -155,7 +155,7 @@ Die vier affinen Transformationen
\begin{pmatrix}
0 \\
1.6
- \end{pmatrix}\\
+ \end{pmatrix},\\
& {S_3(x,y)}
=
\begin{pmatrix}
@@ -188,7 +188,7 @@ Die vier affinen Transformationen
\end{pmatrix},\\
\label{ifs:farnFormel}
\end{align}
-, welche für die Konstruktion des Farns benötigt werden sind in der Abbildung \ref{ifs:farncolor} farblich dargestellt.
+welche für die Konstruktion des Farns benötigt werden, sind in der Abbildung \ref{ifs:farncolor} farblich dargestellt.
Das gesamte Farnblatt ist in der schwarzen Box.
Auf diese werden die Transformationen angewendet.
$S_1$ erstellt den Stiel des Farnblattes (rot).
@@ -198,12 +198,12 @@ Sie verkleinert und dreht das gesamte Bild und stellt es auf das Ende des Stiels
$S_3$ bildet das gesamte Blatt auf das blaue Teilblatt unten links ab.
$S_4$ spiegelt das Blatt und bildet es auf das magentafarbene Teilblatt ab.
\subsection{Erzeugung eines Bildes zu einem IFS}
-Es gibt zwei verschiedene Methoden um das Bild zu einem IFS zu erzeugen.
+Es gibt zwei verschiedene Methoden, um das Bild zu einem IFS zu erzeugen.
Die erste Methode ist wahrscheinlich die intuitivste.
-Wir beginnen mit einem Startbild, zum Beispiel ein Schwarzes Quadrat, und bilden dieses mit den affinen Transformationen des IFS ab.
-Das neue Bild, dass entsteht, ist die nächste Iterierte.
+Wir beginnen mit einem Startbild, zum Beispiel ein schwarzes Quadrat, und bilden dieses mit den affinen Transformationen des IFS ab.
+Das neue Bild, das entsteht, ist die nächste Iterierte.
Dieses wird wieder mit den Transformationen abgebildet.
-Wir wiederholen den letzten schritt, bis wir zufrieden mit der neusten Iterierten sind.
+Wir wiederholen den letzten Schritt, bis wir zufrieden mit der neusten Iterierten sind.
Diesen Vorgang haben wir beim Sierpinski-Dreieck in Abbildung \ref{ifs:sierpconst} gebraucht.
In Abbildung \ref{ifs:sierpinski10} ist die zehnte Iterierte zu sehen.
@@ -219,8 +219,8 @@ Es wird bei jedem Iterationsschritt nur eine Transformation $S_i$, welche zufäl
Da, wie wir beim Barnsley-Farn gut sehen, nicht jede Transformation gleich viel des Bildes ausmacht, werden diese beim Chaosspiel gewichtet.
Je mehr eine Transformation kontrahiert, desto weniger Punkte braucht es, um die resultierende Teilabbildung darzustellen.
-Im Fall des Barnsley-Fern wird $S_1$ in $1\%$, $S_2$ in $85\%$ und $S_3$ und $S_4$ in $7\%$ der Iterationen ausgeführt.
-Wir sehen auch in Abbildung \ref{ifs:farncolor} gut, dass der rote Stiel, $S_1$, einiges weniger Punkte braucht als der grüne Hauptteil des Blattes, $S_2$.
+Im Fall des Barnsley-Farns wird $S_1$ in $1\%$, $S_2$ in $85\%$ und $S_3$ und $S_4$ in $7\%$ der Iterationen ausgeführt.
+Wir sehen auch in Abbildung \ref{ifs:farncolor} gut, dass der rote Stiel, $S_1$, viel weniger Punkte braucht als der grüne Hauptteil des Blattes, $S_2$.
In Abbildung \ref{ifs:farnNoWeight} wurden die vier gleich stark gewichtet.
Man sieht, dass trotzt gleich vieler Iterationen wie in Abbildung \ref{ifs:farn}, der Farn nicht so gut abgebildet wird.
diff --git a/buch/papers/ifs/teil3.tex b/buch/papers/ifs/teil3.tex
index 1d39c6f..01a3ee2 100644
--- a/buch/papers/ifs/teil3.tex
+++ b/buch/papers/ifs/teil3.tex
@@ -8,12 +8,13 @@
\rhead{Fraktale Bildkomprimierung}
Mit dem Prinzip dieser IFS ist es auch möglich, Bilder zu komprimieren.
Diese Idee hatte der Mathematiker Michael Barnsley, welcher mit seinem Buch {\em Fractals Everywhere} einen wichtigen Beitrag zum Verständnis von Fraktalen geliefert hat.
-Das Ziel ist es ein IFS zu finden, welches das Bild als Attraktor hat.
+Das Ziel ist, ein IFS zu finden, welches das Bild als Attraktor hat.
In diesem Unterkapitel wollen wir eine Methode dafür anschauen, wie sie in \cite{ifs:Rousseau2012} beschrieben ist.
Es ist wohl nicht falsch zu sagen, dass Ähnlichkeiten zur gesamten Menge, wie wir sie zum Beispiel beim Barnsley Farn gesehen haben, bei Bilder aus dem Alltag eher selten anzutreffen sind.
Ein IFS, wie wir es in \ref{ifs:subsection:IteratedFunktionensysteme} definiert haben, wird uns also nicht weiter helfen.
-Anders sieht es mit Partitionierten IFS (PIFS) \cite{ifs:pifs} aus.
+Anders sieht es mit partitionierten IFS (PIFS) \cite{ifs:pifs} aus.
+
In \ref{ifs:transformation} wurde definiert, dass die Kontraktionen $S_i$ bei IFS auf die gesamte Menge $E$ angewendet werden.
Bei einem PIFS wird der Attraktor in disjunkte Teilmengen aufgeteilt.
Für jede dieser Teilmengen $R_i$ braucht es dann eine grössere Teilmenge, welche mit einer affinen Transformation eine zu $R_i$ ähnliche Menge bildet.
@@ -55,7 +56,7 @@ Zuerst brauchen wir die Transformation
g_i
\end{pmatrix}
\end{align*}
-um ein Element aus $D$ auf ein Element von $R$ Abzubilden.
+um ein Element aus $D$ auf ein Element von $R$ abzubilden.
Das bestimmen der besten Transformation kann man in drei Schritte aufteilen.
\textbf{Schritt 1: }Wenn wir die Grauwerte ausser acht lassen, haben wir die affine Abbildung
@@ -83,7 +84,7 @@ Wir sind auf folgende acht Abbildungen beschränkt:
\item Drehung um 90, 180 oder 270 Grad.
\item Spiegelung an der vertikalen, horizontalen und den Diagonalachsen.
\end{itemize}
-Da wir ein $2b \times 2b$ Feld auf ein $b \times b$ Feld abbilden möchten, müssen wir zuerst $G_j$ um $1/2$ skalieren.
+Da wir ein $2b \times 2b$ Feld auf ein $b \times b$ Feld abbilden möchten, müssen wir zuerst $D_j$ um $1/2$ skalieren.
Dies erreichen wir, indem wir alle disjunkten $2 \times 2$ Pixel Blöcke mit einem Pixel des Grautones deren Mittelwertes ersetzen.
\textbf{Schritt 2: }Es muss nicht nur eine geometrische Abbildung, sondern auch eine Abbildung für die Grautöne gewählt werden. Letztere lässt sich mit den Parametern $s_i$ und $g_i$ beschrieben.
@@ -157,12 +158,12 @@ Wir verwenden dafür den oben beschriebenen Algorithmus, welcher uns für jeden
Mit diesen lässt sich das Bild im Anschluss wieder Rekonstruieren.
Die Range-Blöcke wurden $4\times4$ gewählt und die Domain dementsprechend $8\times8$.
Um etwas Zeit bei der Komprimierung zu ersparen, wurden nur disjunkte Domain-Blöcke gebraucht.
-Als erstes Beispiel wählen wir das 360$\times$360px Bild von Rapperswil in Abbildung \ref{ifs:original}.
-Das Startbild ist ein mittelgraues 360$\times$360px Bild, Abbildung \ref{ifs:bild0}.
+Als erstes Beispiel wählen wir das 360$\times$360 Pixel Bild von Rapperswil in Abbildung \ref{ifs:original}.
+Das Startbild ist ein mittelgraues 360$\times$360 Pixel Bild, Abbildung \ref{ifs:bild0}.
Es kann jedoch ein beliebiges Startbild sein.
Nun lassen wir das PIFS laufen.
Wie wir in Abbildung \ref{ifs:rappirecoa} sehen, ist schon nach der ersten Iteration das Bild schon erkennbar.
-Nach der fünften Iteration , Abbildung \ref{ifs:rappirecoc} gibt es fast keinen Unterschied mehr zur letzten Iteration, wir können die Rekonstruktion beenden.
+Nach der fünften Iteration, Abbildung \ref{ifs:rappirecoc} gibt es fast keinen Unterschied mehr zur letzten Iteration, wir können die Rekonstruktion beenden.
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{papers/ifs/images/original}