-
Notifications
You must be signed in to change notification settings - Fork 0
/
qfromgyroaccel~.pd
96 lines (96 loc) · 2.41 KB
/
qfromgyroaccel~.pd
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
#N canvas 1031 226 631 531 10;
#X obj 144 53 inlet~;
#X obj 258 53 inlet~;
#X text 145 35 gyro;
#X text 261 35 accel;
#X obj 145 236 snake~ in 4;
#X obj 144 158 snake~ out 3;
#X text 221 238 delta_q;
#X obj 137 388 +~;
#X obj 136 474 outlet~;
#X obj 44 98 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000;
#X obj 44 158 snake~ in 4;
#X obj 97 196 sig~ 1;
#X obj 45 53 loadbang;
#X obj 358 92 block~ 1;
#X obj 144 197 *~ -1;
#X obj 183 197 *~ -1;
#X obj 144 137 *~ 9e-05;
#X obj 258 158 *~ 2e-06;
#X obj 137 366 *~ 0.999998;
#X obj 48 267 r~ \$0-q;
#X obj 147 432 s~ \$0-q 4;
#X text 232 299 FIXME: create external and make values configurable and dependent on samplerate~;
#N canvas 353 378 450 300 bng2imp~ 1;
#X obj 42 81 tabplay~ \$0-impulse;
#X obj 179 45 loadbang;
#X msg 179 63 0 1 0;
#X obj 179 81 array define \$0-impulse 2;
#X obj 42 45 inlet;
#X obj 42 99 outlet~;
#X obj 42 63 b;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 6 0;
#X connect 6 0 0 0;
#X restore 44 137 pd bng2imp~;
#N canvas 382 407 377 309 q_from_accel~ 0;
#X obj 43 111 snake~ out 3;
#X obj 43 212 snake~ in 4;
#X obj 43 35 inlet~;
#X obj 43 160 +~ 1;
#X obj 43 247 outlet~;
#X text 294 34 y-up;
#X text 90 34 expecting accelerometer vector;
#N canvas 411 436 450 300 normalize3d~ 0;
#X text 107 42 normalize vector to length 1;
#X text 121 237 Ben Wesch \, 2024;
#X obj 52 42 inlet~;
#X obj 52 238 outlet~;
#X obj 52 198 *~;
#X obj 67 112 snake~ out 3;
#X obj 67 92 pow~ 2;
#X obj 67 155 rsqrt~;
#X connect 2 0 4 0;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 7 0;
#X connect 5 1 7 0;
#X connect 5 2 7 0;
#X connect 6 0 5 0;
#X connect 7 0 4 1;
#X restore 43 70 pd normalize3d~;
#X connect 0 0 1 3;
#X connect 0 1 3 0;
#X connect 0 2 1 1;
#X connect 1 0 4 0;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 7 0 0 0;
#X restore 258 137 pd q_from_accel~;
#X obj 44 289 qmul~;
#X obj 136 411 qnormalize~;
#X text 232 269 FIXME: remove 1-block and use qacc~;
#X connect 0 0 16 0;
#X connect 1 0 23 0;
#X connect 4 0 24 1;
#X connect 5 0 14 0;
#X connect 5 1 15 0;
#X connect 5 2 4 3;
#X connect 7 0 25 0;
#X connect 9 0 22 0;
#X connect 10 0 24 0;
#X connect 11 0 4 0;
#X connect 12 0 9 0;
#X connect 14 0 4 1;
#X connect 15 0 4 2;
#X connect 16 0 5 0;
#X connect 17 0 7 1;
#X connect 18 0 7 0;
#X connect 19 0 24 0;
#X connect 22 0 10 0;
#X connect 23 0 17 0;
#X connect 24 0 18 0;
#X connect 25 0 8 0;
#X connect 25 0 20 0;