From 2db90bfe4b174570424c408f04000902411d8755 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Mon, 12 Apr 2021 21:51:55 +0200 Subject: update to current state of book --- vorlesungen/slides/7/images/Makefile | 38 ++--- vorlesungen/slides/7/images/common.inc | 140 ++++++++--------- vorlesungen/slides/7/images/commutator.ini | 16 +- vorlesungen/slides/7/images/commutator.m | 222 +++++++++++++-------------- vorlesungen/slides/7/images/commutator.pov | 118 +++++++-------- vorlesungen/slides/7/images/rodriguez.pov | 236 ++++++++++++++--------------- 6 files changed, 385 insertions(+), 385 deletions(-) (limited to 'vorlesungen/slides/7/images') diff --git a/vorlesungen/slides/7/images/Makefile b/vorlesungen/slides/7/images/Makefile index cc67c8a..9de1c34 100644 --- a/vorlesungen/slides/7/images/Makefile +++ b/vorlesungen/slides/7/images/Makefile @@ -1,19 +1,19 @@ -# -# 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 + +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 + + diff --git a/vorlesungen/slides/7/images/common.inc b/vorlesungen/slides/7/images/common.inc index 0e27c9a..b028956 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 8c2211e..44a5ac5 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 5a448db..3f5ea17 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 9ae11b9..8229a06 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/rodriguez.pov b/vorlesungen/slides/7/images/rodriguez.pov index 07aec19..62306f8 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) -- cgit v1.2.1