aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/5/beispiele
diff options
context:
space:
mode:
Diffstat (limited to 'vorlesungen/slides/5/beispiele')
-rw-r--r--vorlesungen/slides/5/beispiele/Makefile30
-rw-r--r--vorlesungen/slides/5/beispiele/bild1.jpgbin0 -> 76321 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/bild1.pov13
-rw-r--r--vorlesungen/slides/5/beispiele/bild2.jpgbin0 -> 101222 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/bild2.pov17
-rw-r--r--vorlesungen/slides/5/beispiele/common.inc134
-rw-r--r--vorlesungen/slides/5/beispiele/kern1.jpgbin0 -> 61750 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/kern1.pov12
-rw-r--r--vorlesungen/slides/5/beispiele/kern2.jpgbin0 -> 88123 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/kern2.pov17
-rw-r--r--vorlesungen/slides/5/beispiele/kernbild.m78
-rw-r--r--vorlesungen/slides/5/beispiele/kernbild1.jpgbin0 -> 84631 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/kernbild1.pov15
-rw-r--r--vorlesungen/slides/5/beispiele/kernbild2.jpgbin0 -> 90826 bytes
-rw-r--r--vorlesungen/slides/5/beispiele/kernbild2.pov21
-rw-r--r--vorlesungen/slides/5/beispiele/kombiniert.jpgbin0 -> 116884 bytes
16 files changed, 337 insertions, 0 deletions
diff --git a/vorlesungen/slides/5/beispiele/Makefile b/vorlesungen/slides/5/beispiele/Makefile
new file mode 100644
index 0000000..c03ea62
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/Makefile
@@ -0,0 +1,30 @@
+#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: kern bild kb kombiniert.jpg
+
+kern: kern1.jpg kern2.jpg
+bild: bild1.jpg bild2.jpg
+kb: kernbild1.jpg kernbild2.jpg
+
+JK1.inc: kernbild.m
+ octave kernbild.m
+
+kernbild1.png: JK1.inc common.inc kernbild1.pov
+kernbild2.png: JK1.inc common.inc kernbild2.pov
+bild1.png: JK1.inc common.inc bild1.pov
+bild2.png: JK1.inc common.inc bild2.pov
+kern1.png: JK1.inc common.inc kern1.pov
+kern2.png: JK1.inc common.inc kern2.pov
+kombiniert.png: JK1.inc common.inc kombiniert.pov
+
+%.png: %.pov
+ povray +A0.1 -W1920 -H1080 -O$@ $<
+
+%.jpg: %.png
+ convert -extract 1080x1080+420+0 $< $@
+
+clean:
+ rm -f *.png *.jpg
diff --git a/vorlesungen/slides/5/beispiele/bild1.jpg b/vorlesungen/slides/5/beispiele/bild1.jpg
new file mode 100644
index 0000000..e8bdc1c
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/bild1.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/bild1.pov b/vorlesungen/slides/5/beispiele/bild1.pov
new file mode 100644
index 0000000..fd814f1
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/bild1.pov
@@ -0,0 +1,13 @@
+//
+// bild1.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, j11, at, orange1)
+arrow(O, j12, at, orange1)
+ebene(j11, j12, orange1)
+
diff --git a/vorlesungen/slides/5/beispiele/bild2.jpg b/vorlesungen/slides/5/beispiele/bild2.jpg
new file mode 100644
index 0000000..8e5dde5
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/bild2.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/bild2.pov b/vorlesungen/slides/5/beispiele/bild2.pov
new file mode 100644
index 0000000..6e3c6dd
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/bild2.pov
@@ -0,0 +1,17 @@
+//
+// bild2.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, j11, 0.7 * at, orange1)
+arrow(O, j12, 0.7 * at, orange1)
+ebene(j11, j12, orange1)
+
+arrow(O, j21, at, orange2)
+gerade(j21, orange2)
+
+
diff --git a/vorlesungen/slides/5/beispiele/common.inc b/vorlesungen/slides/5/beispiele/common.inc
new file mode 100644
index 0000000..ffcff60
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/common.inc
@@ -0,0 +1,134 @@
+//
+// 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.25;
+#declare O = <0, 0, 0>;
+#declare at = 0.02;
+
+camera {
+ location <3, 2, -10>
+ look_at <0, 0, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+//light_source {
+// <-14, 20, -50> color White
+// area_light <1,0,0> <0,0,1>, 10, 10
+// adaptive 1
+// jitter
+//}
+
+light_source {
+ <41, 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 arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.0 * 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 r = 1.1;
+
+arrow(< -r-0.2, 0.0, 0 >, < r+0.2, 0.0, 0.0 >, at, Gray)
+arrow(< 0.0, 0.0, -r-0.2>, < 0.0, 0.0, r+0.2 >, at, Gray)
+arrow(< 0.0, -r-0.2, 0 >, < 0.0, r+0.2, 0.0 >, at, Gray)
+
+#declare gruen1 = rgb<0.0,0.4,0.0>;
+#declare gruen2 = rgb<0.0,0.4,0.8>;
+#declare orange1 = rgb<1.0,0.6,0.0>;
+#declare orange2 = rgb<0.8,0.0,0.4>;
+
+#macro ebene(v1, v2, farbe)
+ intersection {
+ box { <-r,-r,-r>, <r,r,r> }
+ plane { vnormalize(vcross(v1, v2)), 0.004 }
+ plane { vnormalize(-vcross(v1, v2)), 0.004 }
+ pigment {
+ color rgbt<farbe.x, farbe.y, farbe.z, 0.5>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
+
+#macro gerade(v1, farbe)
+ intersection {
+ box { <-r,-r,-r>, <r,r,r> }
+ cylinder { -2 * r * vnormalize(v1),
+ 2 * r * vnormalize(v1), 0.80*at }
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
+
+#macro kasten()
+ difference {
+ box { <-r-0.01,-r-0.01,-r-0.01>, <r+0.01,r+0.01,r+0.01> }
+ union {
+ box { < -r, -r, -r >,
+ < r, r, r > }
+ box { <-2*r, -r+0.03, -r+0.03>,
+ < 2*r, r-0.03, r-0.03> }
+ box { < -r+0.03, -2*r, -r+0.03>,
+ < r-0.03, 2*r, r-0.03> }
+ box { < -r+0.03, -r+0.03, -2*r >,
+ < r-0.03, r-0.03, 2*r > }
+ }
+ pigment {
+ color rgb<0.8,0.8,0.8>
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
+
diff --git a/vorlesungen/slides/5/beispiele/kern1.jpg b/vorlesungen/slides/5/beispiele/kern1.jpg
new file mode 100644
index 0000000..f5fcf7d
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kern1.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/kern1.pov b/vorlesungen/slides/5/beispiele/kern1.pov
new file mode 100644
index 0000000..8e61d8d
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kern1.pov
@@ -0,0 +1,12 @@
+//
+// kern1.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, k11, at, gruen1)
+gerade(k11, gruen1)
+
diff --git a/vorlesungen/slides/5/beispiele/kern2.jpg b/vorlesungen/slides/5/beispiele/kern2.jpg
new file mode 100644
index 0000000..c3b4b79
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kern2.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/kern2.pov b/vorlesungen/slides/5/beispiele/kern2.pov
new file mode 100644
index 0000000..70127a2
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kern2.pov
@@ -0,0 +1,17 @@
+//
+// kern2.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, k21, at, gruen2)
+arrow(O, k22, at, gruen2)
+ebene(k21, k22, gruen2)
+
+#declare at = 0.7 * at;
+arrow(O, k11, at, gruen1)
+gerade(k11, gruen1)
+
diff --git a/vorlesungen/slides/5/beispiele/kernbild.m b/vorlesungen/slides/5/beispiele/kernbild.m
new file mode 100644
index 0000000..ca6bd6a
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kernbild.m
@@ -0,0 +1,78 @@
+#
+# kernbild.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+
+rand("seed", 1291)
+rand("seed", 4711)
+
+lambda1 = 1;
+lambda2 = 1.8;
+
+A = [
+ lambda1, 0, 0;
+ 0, lambda2, 1;
+ 0, 0, lambda2
+];
+
+B = eye(3) + rand(3,3);
+det(B)
+
+
+C = B*A*inverse(B)
+rank(C)
+
+# Eigenwert lambda1
+E2 = C - lambda1 * eye(3)
+rref(E2)
+
+# Eigenwert lambda2, k = 1
+E1 = C - lambda2 * eye(3)
+D = rref(E1);
+K1 = [
+ -D(1,3);
+ -D(2,3);
+ 1
+];
+K1(:,1) = K1(:,1) / norm(K1(:,1));
+K1
+
+f = fopen("JK.inc", "w");
+fprintf(f, "//\n// JK.inc\n//\n// (c) 2021 Prof Dr Andreas Müller\n//\n\n");
+fprintf(f, "// Kern und Bild von C - %.3f I\n", lambda2);
+fprintf(f, "#declare k11 = < %.5f, %.5f, %.5f>;\n", K1(1,1), K1(2,1), K1(3,1));
+fprintf(f, "#declare j11 = < %.5f, %.5f, %.5f>;\n", E1(1,1), E1(2,1), E1(3,1));
+fprintf(f, "#declare j12 = < %.5f, %.5f, %.5f>;\n", E1(1,2), E1(2,2), E1(3,2));
+fprintf(f, "\n");
+
+# k = 2
+D = rref(E1 * E1);
+K2 = [
+ -D(1,2), -D(1,3);
+ 1, 0;
+ 0, 1
+]
+K2(:,1) = K2(:,1) / norm(K2(:,1));
+K2(:,2) = K2(:,2) / norm(K2(:,2));
+K2
+
+fprintf(f, "// Kern und Bild von (C - %.3f I)^2\n", lambda2);
+fprintf(f, "#declare k21 = < %.5f, %.5f, %.5f>;\n", K2(1,1), K2(2,1), K2(3,1));
+fprintf(f, "#declare k22 = < %.5f, %.5f, %.5f>;\n", K2(1,2), K2(2,2), K2(3,2));
+fprintf(f, "#declare j21 = < %.5f, %.5f, %.5f>;\n", E2(1,1), E2(2,1), E2(3,1));
+fprintf(f, "\n");
+
+fclose(f);
+
+# Verifikation
+x = K2 \ K1
+K2 * x
+
+eig(C)
+
+[U, S, V] = svd(C)
+
+
+s = rand("seed")
+
diff --git a/vorlesungen/slides/5/beispiele/kernbild1.jpg b/vorlesungen/slides/5/beispiele/kernbild1.jpg
new file mode 100644
index 0000000..bda5ce4
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kernbild1.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/kernbild1.pov b/vorlesungen/slides/5/beispiele/kernbild1.pov
new file mode 100644
index 0000000..425f299
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kernbild1.pov
@@ -0,0 +1,15 @@
+//
+// kernbild1.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, j11, at, orange1)
+arrow(O, j12, at, orange1)
+arrow(O, k11, at, gruen1)
+ebene(j11, j12, orange1)
+
+//kasten()
diff --git a/vorlesungen/slides/5/beispiele/kernbild2.jpg b/vorlesungen/slides/5/beispiele/kernbild2.jpg
new file mode 100644
index 0000000..4139918
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kernbild2.jpg
Binary files differ
diff --git a/vorlesungen/slides/5/beispiele/kernbild2.pov b/vorlesungen/slides/5/beispiele/kernbild2.pov
new file mode 100644
index 0000000..ae67ea1
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kernbild2.pov
@@ -0,0 +1,21 @@
+//
+// kernbild2.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+#include "JK.inc"
+
+arrow(O, j21, at, orange2)
+arrow(O, k21, at, gruen2)
+arrow(O, k22, at, gruen2)
+gerade(j21, orange2)
+ebene(k21, k22, gruen2)
+
+//arrow(O, j11, at, orange1)
+//arrow(O, j12, at, orange1)
+//arrow(O, k11, at, gruen1)
+//gerade(k11, gruen1)
+//ebene(j11, j12, orange1)
+
diff --git a/vorlesungen/slides/5/beispiele/kombiniert.jpg b/vorlesungen/slides/5/beispiele/kombiniert.jpg
new file mode 100644
index 0000000..c214596
--- /dev/null
+++ b/vorlesungen/slides/5/beispiele/kombiniert.jpg
Binary files differ