diff options
Diffstat (limited to 'vorlesungen/slides/7/images')
-rw-r--r-- | vorlesungen/slides/7/images/Makefile | 48 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/common.inc | 140 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/commutator.ini | 16 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/commutator.m | 222 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/commutator.pov | 118 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/drehung.inc | 142 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/interpolation.ini | 8 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/interpolation.m | 54 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/interpolation.pov | 10 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/rodriguez.pov | 236 | ||||
-rw-r--r-- | vorlesungen/slides/7/images/test.pov | 7 |
11 files changed, 616 insertions, 385 deletions
diff --git a/vorlesungen/slides/7/images/Makefile b/vorlesungen/slides/7/images/Makefile index 9de1c34..6f99bc3 100644 --- a/vorlesungen/slides/7/images/Makefile +++ b/vorlesungen/slides/7/images/Makefile @@ -1,19 +1,29 @@ -#
-# Makefile -- Illustrationen zu
-#
-# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-#
-all: rodriguez.jpg
-
-rodriguez.png: rodriguez.pov
- povray +A0.1 -W1920 -H1080 -Orodriguez.png rodriguez.pov
-
-rodriguez.jpg: rodriguez.png
- convert -extract 1740x1070+135+10 rodriguez.png rodriguez.jpg
-
-commutator: commutator.ini commutator.pov common.inc
- povray +A0.1 -W1920 -H1080 -Oc/c.png commutator.ini
-jpg:
- for f in c/c*.png; do convert $${f} c/`basename $${f} .png`.jpg; done
-
-
+# +# Makefile -- Illustrationen zu +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: rodriguez.jpg test.png + +rodriguez.png: rodriguez.pov + povray +A0.1 -W1920 -H1080 -Orodriguez.png rodriguez.pov + +rodriguez.jpg: rodriguez.png + convert -extract 1740x1070+135+10 rodriguez.png rodriguez.jpg + +commutator: commutator.ini commutator.pov common.inc + povray +A0.1 -W1920 -H1080 -Oc/c.png commutator.ini +jpg: + for f in c/c*.png; do convert $${f} c/`basename $${f} .png`.jpg; done + +dreibein/timestamp: interpolation.m + octave interpolation.m + touch dreibein/timestamp + +test.png: test.pov drehung.inc dreibein/d025.inc dreibein/timestamp + povray +A0.1 -W1080 -H1080 -Otest.png test.pov + +dreibein/d025.inc: dreibein/timestamp + +animation: + povray +A0.1 -W1080 -H1080 -Ointerpolation/i.png interpolation.ini diff --git a/vorlesungen/slides/7/images/common.inc b/vorlesungen/slides/7/images/common.inc index b028956..0e27c9a 100644 --- a/vorlesungen/slides/7/images/common.inc +++ b/vorlesungen/slides/7/images/common.inc @@ -1,70 +1,70 @@ -//
-// 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.025;
-#declare O = <0, 0, 0>;
-#declare at = 0.015;
-
-camera {
- location <18, 15, -50>
- look_at <0.0, 0.5, 0>
- right 16/9 * x * imagescale
- up y * imagescale
-}
-
-light_source {
- <-40, 30, -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.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 l = 1.2;
-
-arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White)
-arrow(< 0, 0, -l >, < 0, 0, l >, at, White)
-arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White)
-
+// +// 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.025; +#declare O = <0, 0, 0>; +#declare at = 0.015; + +camera { + location <18, 15, -50> + look_at <0.0, 0.5, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <-40, 30, -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.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 l = 1.2; + +arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White) +arrow(< 0, 0, -l >, < 0, 0, l >, at, White) +arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White) + diff --git a/vorlesungen/slides/7/images/commutator.ini b/vorlesungen/slides/7/images/commutator.ini index 44a5ac5..8c2211e 100644 --- a/vorlesungen/slides/7/images/commutator.ini +++ b/vorlesungen/slides/7/images/commutator.ini @@ -1,8 +1,8 @@ -Input_File_Name=commutator.pov
-Initial_Frame=1
-Final_Frame=60
-Initial_Clock=1
-Final_Clock=60
-Cyclic_Animation=off
-Pause_when_Done=off
-
+Input_File_Name=commutator.pov +Initial_Frame=1 +Final_Frame=60 +Initial_Clock=1 +Final_Clock=60 +Cyclic_Animation=off +Pause_when_Done=off + diff --git a/vorlesungen/slides/7/images/commutator.m b/vorlesungen/slides/7/images/commutator.m index 3f5ea17..5a448db 100644 --- a/vorlesungen/slides/7/images/commutator.m +++ b/vorlesungen/slides/7/images/commutator.m @@ -1,111 +1,111 @@ -#
-# commutator.m
-#
-# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-#
-
-X = [
- 0, 0, 0;
- 0, 0, -1;
- 0, 1, 0
-];
-
-Y = [
- 0, 0, 1;
- 0, 0, 0;
- -1, 0, 0
-];
-
-Z = [
- 0, -1, 0;
- 1, 0, 0;
- 0, 0, 0
-];
-
-function retval = Dx(alpha)
- retval = [
- 1, 0, 0 ;
- 0, cos(alpha), -sin(alpha);
- 0, sin(alpha), cos(alpha)
- ];
-end
-
-function retval = Dy(beta)
- retval = [
- cos(beta), 0, sin(beta);
- 0, 1, 0 ;
- -sin(beta), 0, cos(beta)
- ];
-end
-
-t = 0.9;
-P = Dx(t) * Dy(t)
-Q = Dy(t) * Dx(t)
-P - Q
-(P - Q) * [0;0;1]
-
-function retval = kurven(filename, t)
- retval = -1;
- N = 20;
- fn = fopen(filename, "w");
- fprintf(fn, "//\n");
- fprintf(fn, "// %s\n", filename);
- fprintf(fn, "//\n");
- fprintf(fn, "#macro XYkurve()\n");
- for i = (0:N-1)
- v1 = Dx(t * i / N) * [0;0;1];
- v2 = Dx(t * (i+1) / N) * [0;0;1];
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1));
- fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
- end
- for i = (0:N-1)
- v1 = Dx(t) * Dy(t * i / N) * [0;0;1];
- v2 = Dx(t) * Dy(t * (i+1) / N) * [0;0;1];
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1));
- fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
- end
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v2(1,1), v2(3,1), v2(2,1));
- fprintf(fn, "#end\n");
- fprintf(fn, "#declare finalXY = <%.4f, %.4f, %.4f>;\n",
- v2(1,1), v2(3,1), v2(2,1));
- fprintf(fn, "#macro YXkurve()\n");
- for i = (0:N-1)
- v1 = Dy(t * i / N) * [0;0;1];
- v2 = Dy(t * (i+1) / N) * [0;0;1];
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1));
- fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
- end
- for i = (0:N-1)
- v1 = Dy(t) * Dx(t * i / N) * [0;0;1];
- v2 = Dy(t) * Dx(t * (i+1) / N) * [0;0;1];
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1));
- fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n",
- v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1));
- end
- fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n",
- v2(1,1), v2(3,1), v2(2,1));
- fprintf(fn, "#end\n");
- fprintf(fn, "#declare finalYX = <%.4f, %.4f, %.4f>;\n",
- v2(1,1), v2(3,1), v2(2,1));
-
- fclose(fn);
- retval = 0;
-end
-
-function retval = kurve(i)
- n = pi / 180;
- filename = sprintf("f/%04d.inc", i);
- kurven(filename, n * i);
-end
-
-for i = (1:60)
- kurve(i);
-end
+# +# commutator.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +X = [ + 0, 0, 0; + 0, 0, -1; + 0, 1, 0 +]; + +Y = [ + 0, 0, 1; + 0, 0, 0; + -1, 0, 0 +]; + +Z = [ + 0, -1, 0; + 1, 0, 0; + 0, 0, 0 +]; + +function retval = Dx(alpha) + retval = [ + 1, 0, 0 ; + 0, cos(alpha), -sin(alpha); + 0, sin(alpha), cos(alpha) + ]; +end + +function retval = Dy(beta) + retval = [ + cos(beta), 0, sin(beta); + 0, 1, 0 ; + -sin(beta), 0, cos(beta) + ]; +end + +t = 0.9; +P = Dx(t) * Dy(t) +Q = Dy(t) * Dx(t) +P - Q +(P - Q) * [0;0;1] + +function retval = kurven(filename, t) + retval = -1; + N = 20; + fn = fopen(filename, "w"); + fprintf(fn, "//\n"); + fprintf(fn, "// %s\n", filename); + fprintf(fn, "//\n"); + fprintf(fn, "#macro XYkurve()\n"); + for i = (0:N-1) + v1 = Dx(t * i / N) * [0;0;1]; + v2 = Dx(t * (i+1) / N) * [0;0;1]; + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1)); + fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1)); + end + for i = (0:N-1) + v1 = Dx(t) * Dy(t * i / N) * [0;0;1]; + v2 = Dx(t) * Dy(t * (i+1) / N) * [0;0;1]; + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1)); + fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1)); + end + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v2(1,1), v2(3,1), v2(2,1)); + fprintf(fn, "#end\n"); + fprintf(fn, "#declare finalXY = <%.4f, %.4f, %.4f>;\n", + v2(1,1), v2(3,1), v2(2,1)); + fprintf(fn, "#macro YXkurve()\n"); + for i = (0:N-1) + v1 = Dy(t * i / N) * [0;0;1]; + v2 = Dy(t * (i+1) / N) * [0;0;1]; + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1)); + fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1)); + end + for i = (0:N-1) + v1 = Dy(t) * Dx(t * i / N) * [0;0;1]; + v2 = Dy(t) * Dx(t * (i+1) / N) * [0;0;1]; + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1)); + fprintf(fn, "cylinder { <%.4f,%.4f,%.4f>, <%.4f, %.4f, %.4f>, at }\n", + v1(1,1), v1(3,1), v1(2,1), v2(1,1), v2(3,1), v2(2,1)); + end + fprintf(fn, "sphere { <%.4f,%.4f,%.4f>, at }\n", + v2(1,1), v2(3,1), v2(2,1)); + fprintf(fn, "#end\n"); + fprintf(fn, "#declare finalYX = <%.4f, %.4f, %.4f>;\n", + v2(1,1), v2(3,1), v2(2,1)); + + fclose(fn); + retval = 0; +end + +function retval = kurve(i) + n = pi / 180; + filename = sprintf("f/%04d.inc", i); + kurven(filename, n * i); +end + +for i = (1:60) + kurve(i); +end diff --git a/vorlesungen/slides/7/images/commutator.pov b/vorlesungen/slides/7/images/commutator.pov index 8229a06..9ae11b9 100644 --- a/vorlesungen/slides/7/images/commutator.pov +++ b/vorlesungen/slides/7/images/commutator.pov @@ -1,59 +1,59 @@ -//
-// commutator.pov
-//
-// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-//
-#include "common.inc"
-
-sphere { O, 0.99
- pigment {
- color rgbt<1,1,1,0.5>
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
-#declare filename = concat("f/", str(clock, -4, 0), ".inc");
-
-#include filename
-
-#declare n1 = vcross(<0,1,0>, finalXY);
-#declare n2 = vcross(<0,1,0>, finalYX);
-
-intersection {
- sphere { O, 1 }
- plane { -n1, 0 }
- plane { n2, 0 }
- pigment {
- color rgb<0,0.4,0.1>
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
-union {
- XYkurve()
- pigment {
- color Red
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
-union {
- YXkurve()
- pigment {
- color Blue
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
+// +// commutator.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "common.inc" + +sphere { O, 0.99 + pigment { + color rgbt<1,1,1,0.5> + } + finish { + specular 0.9 + metallic + } +} + +#declare filename = concat("f/", str(clock, -4, 0), ".inc"); + +#include filename + +#declare n1 = vcross(<0,1,0>, finalXY); +#declare n2 = vcross(<0,1,0>, finalYX); + +intersection { + sphere { O, 1 } + plane { -n1, 0 } + plane { n2, 0 } + pigment { + color rgb<0,0.4,0.1> + } + finish { + specular 0.9 + metallic + } +} + +union { + XYkurve() + pigment { + color Red + } + finish { + specular 0.9 + metallic + } +} + +union { + YXkurve() + pigment { + color Blue + } + finish { + specular 0.9 + metallic + } +} + diff --git a/vorlesungen/slides/7/images/drehung.inc b/vorlesungen/slides/7/images/drehung.inc new file mode 100644 index 0000000..c9b4bb7 --- /dev/null +++ b/vorlesungen/slides/7/images/drehung.inc @@ -0,0 +1,142 @@ +// +// 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.23; +#declare O = <0, 0, 0>; +#declare at = 0.02; + +camera { + location <8.5, 2, 6.5> + look_at <0, 0, 0> + right 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, 10> 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.0; + +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 farbeX = rgb<1.0,0.2,0.6>; +#declare farbeY = rgb<0.0,0.8,0.4>; +#declare farbeZ = rgb<0.4,0.6,1.0>; + +#declare farbex = rgb<1.0,0.0,0.0>; +#declare farbey = rgb<0.0,0.6,0.0>; +#declare farbez = rgb<0.0,0.0,1.0>; + +#macro quadrant(X, Y, Z) + intersection { + sphere { O, 0.5 } + plane { -X, 0 } + plane { -Y, 0 } + plane { -Z, 0 } + pigment { + color rgb<1.0,0.6,0.2> + } + finish { + specular 0.95 + metallic + } + } + arrow(O, X, 1.1*at, farbex) + arrow(O, Y, 1.1*at, farbey) + arrow(O, Z, 1.1*at, farbez) +#end + +#macro drehung(X, Y, Z) +// intersection { +// sphere { O, 0.5 } +// plane { -X, 0 } +// plane { -Y, 0 } +// plane { -Z, 0 } +// pigment { +// color Gray +// } +// finish { +// specular 0.95 +// metallic +// } +// } + arrow(O, 1.1*X, 0.9*at, farbeX) + arrow(O, 1.1*Y, 0.9*at, farbeY) + arrow(O, 1.1*Z, 0.9*at, farbeZ) +#end + +#macro achse(H) + cylinder { H, -H, at + pigment { + color rgb<0.6,0.4,0.2> + } + finish { + specular 0.95 + metallic + } + } + cylinder { 0.003 * H, -0.003 * H, 1 + pigment { + color rgbt<0.6,0.4,0.2,0.5> + } + finish { + specular 0.95 + metallic + } + } +#end diff --git a/vorlesungen/slides/7/images/interpolation.ini b/vorlesungen/slides/7/images/interpolation.ini new file mode 100644 index 0000000..f07c079 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.ini @@ -0,0 +1,8 @@ +Input_File_Name=interpolation.pov +Initial_Frame=0 +Final_Frame=50 +Initial_Clock=0 +Final_Clock=50 +Cyclic_Animation=off +Pause_when_Done=off + diff --git a/vorlesungen/slides/7/images/interpolation.m b/vorlesungen/slides/7/images/interpolation.m new file mode 100644 index 0000000..31554e8 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.m @@ -0,0 +1,54 @@ +# +# interpolation.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global N; +N = 50; +global A; +global B; + +A = (pi / 2) * [ + 0, 0, 0; + 0, 0, -1; + 0, 1, 0 +]; +g0 = expm(A) + +B = (pi / 2) * [ + 0, 0, 1; + 0, 0, 0; + -1, 0, 0 +]; +g1 = expm(B) + +function retval = g(t) + global A; + global B; + retval = expm((1-t)*A+t*B); +endfunction + +function dreibein(fn, M, funktion) + fprintf(fn, "%s(<%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>)\n", + funktion, + M(1,1), M(3,1), M(2,1), + M(1,2), M(3,2), M(2,2), + M(1,3), M(3,3), M(2,3)); +endfunction + +G = g1 * inverse(g0); +[V, lambda] = eig(G); +H = real(V(:,3)); + +D = logm(g1*inverse(g0)); + +for i = (0:N) + filename = sprintf("dreibein/d%03d.inc", i); + fn = fopen(filename, "w"); + t = i/N; + dreibein(fn, g(t), "quadrant"); + dreibein(fn, expm(t*D)*g0, "drehung"); + fprintf(fn, "achse(<%.4f,%.4f,%.4f>)\n", H(1,1), H(3,1), H(2,1)); + fclose(fn); +endfor + diff --git a/vorlesungen/slides/7/images/interpolation.pov b/vorlesungen/slides/7/images/interpolation.pov new file mode 100644 index 0000000..71e0257 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.pov @@ -0,0 +1,10 @@ +// +// commutator.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "drehung.inc" + +#declare filename = concat("dreibein/d", str(clock, -3, 0), ".inc"); +#include filename + diff --git a/vorlesungen/slides/7/images/rodriguez.pov b/vorlesungen/slides/7/images/rodriguez.pov index 62306f8..07aec19 100644 --- a/vorlesungen/slides/7/images/rodriguez.pov +++ b/vorlesungen/slides/7/images/rodriguez.pov @@ -1,118 +1,118 @@ -//
-// rodriguez.pov
-//
-// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-//
-#version 3.7;
-#include "colors.inc"
-
-global_settings {
- assumed_gamma 1
-}
-
-#declare imagescale = 0.020;
-#declare O = <0, 0, 0>;
-#declare at = 0.015;
-
-camera {
- location <8, 15, -50>
- look_at <0.1, 0.475, 0>
- 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 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 K = vnormalize(<0.2,1,0.1>);
-#declare X = vnormalize(<1.1,1,-1.2>);
-#declare O = <0,0,0>;
-
-#declare r = vlength(vcross(K, X)) / vlength(K);
-
-#declare l = 1.0;
-
-arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White)
-arrow(< 0, 0, -l >, < 0, 0, l >, at, White)
-arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White)
-
-arrow(O, X, at, Red)
-arrow(O, K, at, Blue)
-
-#macro punkt(H,phi)
- ((H-vdot(K,H)*K)*cos(phi) + vcross(K,H)*sin(phi) + vdot(K,X)*K)
-#end
-
-cone { vdot(K, X) * K, r, O, 0
- pigment {
- color rgbt<0.6,0.6,0.6,0.5>
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
-
-union {
- #declare phistep = pi / 100;
- #declare phi = 0;
- #while (phi < 2 * pi - phistep/2)
- sphere { punkt(K, phi), at/2 }
- cylinder {
- punkt(X, phi),
- punkt(X, phi + phistep),
- at/2
- }
- #declare phi = phi + phistep;
- #end
- pigment {
- color Orange
- }
- finish {
- specular 0.9
- metallic
- }
-}
-
-arrow(vdot(K,X)*K, punkt(X, 0), at, Yellow)
-#declare Darkgreen = rgb<0,0.5,0>;
-arrow(vdot(K,X)*K, punkt(X, pi/2), at, Darkgreen)
+// +// rodriguez.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.020; +#declare O = <0, 0, 0>; +#declare at = 0.015; + +camera { + location <8, 15, -50> + look_at <0.1, 0.475, 0> + 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 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 K = vnormalize(<0.2,1,0.1>); +#declare X = vnormalize(<1.1,1,-1.2>); +#declare O = <0,0,0>; + +#declare r = vlength(vcross(K, X)) / vlength(K); + +#declare l = 1.0; + +arrow(< -l, 0, 0 >, < l, 0, 0 >, at, White) +arrow(< 0, 0, -l >, < 0, 0, l >, at, White) +arrow(< 0, -l, 0 >, < 0, l, 0 >, at, White) + +arrow(O, X, at, Red) +arrow(O, K, at, Blue) + +#macro punkt(H,phi) + ((H-vdot(K,H)*K)*cos(phi) + vcross(K,H)*sin(phi) + vdot(K,X)*K) +#end + +cone { vdot(K, X) * K, r, O, 0 + pigment { + color rgbt<0.6,0.6,0.6,0.5> + } + finish { + specular 0.9 + metallic + } +} + + +union { + #declare phistep = pi / 100; + #declare phi = 0; + #while (phi < 2 * pi - phistep/2) + sphere { punkt(K, phi), at/2 } + cylinder { + punkt(X, phi), + punkt(X, phi + phistep), + at/2 + } + #declare phi = phi + phistep; + #end + pigment { + color Orange + } + finish { + specular 0.9 + metallic + } +} + +arrow(vdot(K,X)*K, punkt(X, 0), at, Yellow) +#declare Darkgreen = rgb<0,0.5,0>; +arrow(vdot(K,X)*K, punkt(X, pi/2), at, Darkgreen) diff --git a/vorlesungen/slides/7/images/test.pov b/vorlesungen/slides/7/images/test.pov new file mode 100644 index 0000000..5707be1 --- /dev/null +++ b/vorlesungen/slides/7/images/test.pov @@ -0,0 +1,7 @@ +// +// test.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "drehung.inc" +#include "dreibein/d025.inc" |