aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/7/images/rodriguez.pov
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vorlesungen/slides/7/images/rodriguez.pov118
1 files changed, 118 insertions, 0 deletions
diff --git a/vorlesungen/slides/7/images/rodriguez.pov b/vorlesungen/slides/7/images/rodriguez.pov
new file mode 100644
index 0000000..07aec19
--- /dev/null
+++ b/vorlesungen/slides/7/images/rodriguez.pov
@@ -0,0 +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)