From 7242d266e3e348e40209ac51e703a0acb6d78ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 10 Apr 2021 21:13:29 +0200 Subject: add rodriguez image --- vorlesungen/slides/7/images/rodriguez.pov | 118 ++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 vorlesungen/slides/7/images/rodriguez.pov (limited to 'vorlesungen/slides/7/images/rodriguez.pov') 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) -- cgit v1.2.1