aboutsummaryrefslogtreecommitdiff
path: root/3dRotate.pd
blob: ad87792b329f8da3e1390e715447c391dd19f75f (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
#N canvas 369 22 1127 773 10;
#X obj 36 74 expr cos($f4)+(1-cos($f4))*pow($f1 \, 2);
#X obj 399 74 expr (1-cos($f4))*$f1*$f2-(sin($f4))*$f3;
#X obj 772 75 expr (1-cos($f4))*$f1*$f3+(sin($f4))*$f2;
#X obj 35 249 expr (1-cos($f4))*$f2*$f1+(sin($f4))*$f3;
#X obj 399 246 expr cos($f4)+(1-cos($f4))*pow($f2 \, 2);
#X obj 773 254 expr (1-cos($f4))*$f2*$f3-(sin($f4))*$f1;
#X obj 35 419 expr (1-cos($f4))*$f3*$f1-(sin($f4))*$f2;
#X obj 402 416 expr (1-cos($f4))*$f3*$f2+(sin($f4))*$f1;
#X obj 776 415 expr cos($f4)+(1-cos($f4))*pow($f3 \, 2);
#X obj 20 101 *;
#X obj 36 50 r \$0-Rx;
#X obj 123 50 r \$0-Ry;
#X obj 210 50 r \$0-Rz;
#X obj 297 51 r \$0-rho;
#X obj 399 49 r \$0-Rx;
#X obj 490 49 r \$0-Ry;
#X obj 582 49 r \$0-Rz;
#X obj 674 50 r \$0-rho;
#X obj 772 50 r \$0-Rx;
#X obj 863 50 r \$0-Ry;
#X obj 955 51 r \$0-Rz;
#X obj 1047 51 r \$0-rho;
#X obj 35 224 r \$0-Rx;
#X obj 126 224 r \$0-Ry;
#X obj 218 224 r \$0-Rz;
#X obj 310 225 r \$0-rho;
#X obj 399 222 r \$0-Rx;
#X obj 486 222 r \$0-Ry;
#X obj 573 221 r \$0-Rz;
#X obj 660 222 r \$0-rho;
#X obj 773 229 r \$0-Rx;
#X obj 864 229 r \$0-Ry;
#X obj 956 229 r \$0-Rz;
#X obj 1048 231 r \$0-rho;
#X obj 35 394 r \$0-Rx;
#X obj 126 394 r \$0-Ry;
#X obj 218 394 r \$0-Rz;
#X obj 310 395 r \$0-rho;
#X obj 402 391 r \$0-Rx;
#X obj 493 391 r \$0-Ry;
#X obj 585 391 r \$0-Rz;
#X obj 677 392 r \$0-rho;
#X obj 776 391 r \$0-Rx;
#X obj 863 391 r \$0-Ry;
#X obj 950 391 r \$0-Rz;
#X obj 1037 391 r \$0-rho;
#X obj 19 271 *;
#X obj 19 442 *;
#X obj 383 98 *;
#X obj 383 271 *;
#X obj 386 441 *;
#X obj 756 100 *;
#X obj 757 278 *;
#X obj 760 440 *;
#X obj 20 124 +;
#X obj 20 146 +;
#X obj 19 294 +;
#X obj 19 316 +;
#X obj 19 464 +;
#X obj 19 486 +;
#X obj 21 635 pack f f f;
#X text 20 4 M A T R I X;
#X text 21 547 O U T P U T;
#X obj 637 615 s \$0-rho;
#X obj 247 589 unpack f f f;
#X text 253 513 I N P U T;
#X obj 419 565 unpack f f f;
#X obj 498 613 s \$0-Rz;
#X obj 458 633 s \$0-Ry;
#X obj 419 655 s \$0-Rx;
#X obj 419 623 f;
#X obj 607 569 t b f;
#X obj 607 541 inlet float;
#X text 692 540 rho;
#X obj 419 543 inlet vector;
#X text 513 543 R;
#X obj 247 543 inlet vector;
#X text 338 544 A;
#X obj 21 658 outlet vector;
#X text 120 658 V;
#X obj 888 627 s \$0-Rz;
#X obj 832 626 s \$0-Ry;
#X obj 777 626 s \$0-Rx;
#X obj 942 627 s \$0-rho;
#X obj 777 554 loadbang;
#X obj 777 575 t b b b b;
#X text 780 520 INIT;
#X obj 777 600 \$1;
#X obj 832 603 \$2;
#X obj 888 606 \$3;
#X obj 942 606 \$4;
#X obj 247 656 s \$0-Ax;
#X obj 286 634 s \$0-Ay;
#X obj 326 612 s \$0-Az;
#X obj 20 27 r \$0-Ax;
#X obj 19 197 r \$0-Ax;
#X obj 19 368 r \$0-Ax;
#X obj 383 24 r \$0-Ay;
#X obj 383 197 r \$0-Ay;
#X obj 386 367 r \$0-Ay;
#X obj 756 26 r \$0-Az;
#X obj 757 204 r \$0-Az;
#X obj 760 366 r \$0-Az;
#X obj 20 167 s \$0-Vx;
#X obj 21 574 r \$0-Vx;
#X obj 53 594 r \$0-Vy;
#X obj 86 614 r \$0-Vz;
#X obj 19 337 s \$0-Vy;
#X obj 19 507 s \$0-Vz;
#X text 571 692 formula from http://en.wikipedia.org/wiki/Rotation_matrix.
;
#X text 571 662 rotates an incoming vector A around the Axis R by the
angle rho.;
#X text 951 733 Version: 2007-12-09;
#X text 952 752 Author: Roman Haefeli;
#X connect 0 0 9 1;
#X connect 1 0 48 1;
#X connect 2 0 51 1;
#X connect 3 0 46 1;
#X connect 4 0 49 1;
#X connect 5 0 52 1;
#X connect 6 0 47 1;
#X connect 7 0 50 1;
#X connect 8 0 53 1;
#X connect 9 0 54 0;
#X connect 10 0 0 0;
#X connect 11 0 0 1;
#X connect 12 0 0 2;
#X connect 13 0 0 3;
#X connect 14 0 1 0;
#X connect 15 0 1 1;
#X connect 16 0 1 2;
#X connect 17 0 1 3;
#X connect 18 0 2 0;
#X connect 19 0 2 1;
#X connect 20 0 2 2;
#X connect 21 0 2 3;
#X connect 22 0 3 0;
#X connect 23 0 3 1;
#X connect 24 0 3 2;
#X connect 25 0 3 3;
#X connect 26 0 4 0;
#X connect 27 0 4 1;
#X connect 28 0 4 2;
#X connect 29 0 4 3;
#X connect 30 0 5 0;
#X connect 31 0 5 1;
#X connect 32 0 5 2;
#X connect 33 0 5 3;
#X connect 34 0 6 0;
#X connect 35 0 6 1;
#X connect 36 0 6 2;
#X connect 37 0 6 3;
#X connect 38 0 7 0;
#X connect 39 0 7 1;
#X connect 40 0 7 2;
#X connect 41 0 7 3;
#X connect 42 0 8 0;
#X connect 43 0 8 1;
#X connect 44 0 8 2;
#X connect 45 0 8 3;
#X connect 46 0 56 0;
#X connect 47 0 58 0;
#X connect 48 0 54 1;
#X connect 49 0 56 1;
#X connect 50 0 58 1;
#X connect 51 0 55 1;
#X connect 52 0 57 1;
#X connect 53 0 59 1;
#X connect 54 0 55 0;
#X connect 55 0 103 0;
#X connect 56 0 57 0;
#X connect 57 0 107 0;
#X connect 58 0 59 0;
#X connect 59 0 108 0;
#X connect 60 0 78 0;
#X connect 64 0 91 0;
#X connect 64 1 92 0;
#X connect 64 2 93 0;
#X connect 66 0 70 0;
#X connect 66 1 68 0;
#X connect 66 2 67 0;
#X connect 70 0 69 0;
#X connect 71 0 70 0;
#X connect 71 1 63 0;
#X connect 72 0 71 0;
#X connect 74 0 66 0;
#X connect 76 0 64 0;
#X connect 84 0 85 0;
#X connect 85 0 87 0;
#X connect 85 1 88 0;
#X connect 85 2 89 0;
#X connect 85 3 90 0;
#X connect 87 0 82 0;
#X connect 88 0 81 0;
#X connect 89 0 80 0;
#X connect 90 0 83 0;
#X connect 94 0 9 0;
#X connect 95 0 46 0;
#X connect 96 0 47 0;
#X connect 97 0 48 0;
#X connect 98 0 49 0;
#X connect 99 0 50 0;
#X connect 100 0 51 0;
#X connect 101 0 52 0;
#X connect 102 0 53 0;
#X connect 104 0 60 0;
#X connect 105 0 60 1;
#X connect 106 0 60 2;