aboutsummaryrefslogtreecommitdiff
path: root/3dRotate.pd
diff options
context:
space:
mode:
Diffstat (limited to '3dRotate.pd')
-rw-r--r--3dRotate.pd210
1 files changed, 210 insertions, 0 deletions
diff --git a/3dRotate.pd b/3dRotate.pd
new file mode 100644
index 0000000..ad87792
--- /dev/null
+++ b/3dRotate.pd
@@ -0,0 +1,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;