aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/clifford/3d/drehung.pov
blob: b86a2c53702328f0ba96f7735331cd3ef06ce227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//
// 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>, <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>
	}
}

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>
	}
}

bogen(r * e1, r * e2, <0,0,0>, 2*pi/3, Blue)
bogen(r * e1, r * e2, Vparallel, 2*pi/3, Green)