From a8138ae8cf5b0bda133b5c5fb077021ac3d59761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 5 Aug 2021 12:59:37 +0200 Subject: add images for clifford article --- buch/papers/clifford/3d/drehung.pov | 120 ++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 buch/papers/clifford/3d/drehung.pov (limited to 'buch/papers/clifford/3d/drehung.pov') diff --git a/buch/papers/clifford/3d/drehung.pov b/buch/papers/clifford/3d/drehung.pov new file mode 100644 index 0000000..54b5a2e --- /dev/null +++ b/buch/papers/clifford/3d/drehung.pov @@ -0,0 +1,120 @@ +// +// drehung.pov -- Drehung um (1,1,1) +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "common.inc" + +#declare n = vnormalize(<1,1,1>); +#declare V = <0,2.6,0>; +#declare W = <0,0,2.6>; + +#declare Vparallel = vdot(n, V) * n; +#declare Vperp = V - Vparallel; +#declare Wparallel = vdot(n, W) * n; +#declare Wperp = W - Wparallel; + +arrow(<0,0,0>, 2*n, thick, Red) + +arrow(<0,0,0>, V, thick, rgb<0.0,1.0,1.0>) +arrow(<0,0,0>, W, thick, rgb<0.0,1.0,1.0>) + +circlearrow(vnormalize(vcross(<-1,0,1>,n)), -0.01 * <1,1,1>, <0,0,0>, 1, 0.8*thick, 1.98*pi/3, 3) + +arrow(<0,0,0>, Vperp, 0.99*thick, Blue) +arrow(<0,0,0>, Wperp, 0.99*thick, Blue) + +arrow(Vperp, V, thick, Green) +arrow(Wperp, W, thick, Green) + +#declare l = 2.4; +intersection { + box { <-l,-l,-l>, } + //cylinder { -n, n, 3 } + plane { n, 0.01 } + plane { -n, 0.01 } + pigment { + color rgbt<0.6,0.6,1.0,0.8> + } +} + +#declare e1 = vnormalize(Vperp); +#declare e3 = n; +#declare e2 = vnormalize(vcross(e3, e1)); +#declare r = vlength(Vperp); + +mesh { + #declare phi = 0; + #declare phimax = 2*pi/3; + #declare phistep = (phimax - phi) / N; + #while (phi < phimax - phistep/2) + triangle { + <0,0,0>, + r * (cos(phi ) * e1 + sin(phi ) * e2), + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + } + #declare phi = phi + phistep; + #end + pigment { + color rgbt<0.2,0.2,1.0,0.4> + } +} + +union { + #declare phi = 0; + #declare phimax = 2*pi/3; + #declare phistep = (phimax - phi) / N; + #while (phi < phimax - phistep/2) + cylinder { + r * (cos(phi ) * e1 + sin(phi ) * e2), + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2), + 0.01 + } + sphere { r * (cos(phi ) * e1 + sin(phi ) * e2), 0.01 } + #declare phi = phi + phistep; + #end + pigment { + color Blue + } +} + +mesh { + #declare phi = 0; + #declare phimax = 2*pi/3; + #declare phistep = (phimax - phi) / N; + #while (phi < phimax - phistep/2) + triangle { + r * (cos(phi ) * e1 + sin(phi ) * e2), + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2), + r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel + } + triangle { + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2), + r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel, + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + Vparallel + } + #declare phi = phi + phistep; + #end + pigment { + color rgbt<0.2,1,0.2,0.4> + } +} + +union { + #declare phi = 0; + #declare phimax = 2*pi/3; + #declare phistep = (phimax - phi) / N; + #while (phi < phimax - phistep/2) + cylinder { + r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel, + r * (cos(phi+phistep) * e1 + sin(phi+phistep) * e2) + Vparallel, + 0.01 + } + sphere { r * (cos(phi ) * e1 + sin(phi ) * e2) + Vparallel, 0.01 } + #declare phi = phi + phistep; + #end + pigment { + color Green + } +} + -- cgit v1.2.1