aboutsummaryrefslogtreecommitdiff
path: root/examples/57_pmpd2d_gravitation.pd
blob: 661dfa9c775fcecf0a78694ed4d216a7801ff9c0 (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
211
212
213
214
215
#N canvas 674 310 541 161 10;
#X declare -lib Gem;
#X obj 18 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 39 18 reset;
#N canvas 0 22 450 300 gem_stuff 0;
#X msg 30 89 0 \, destroy;
#X obj 30 185 gemhead;
#X obj 30 238 world_light;
#X obj 30 148 gemwin;
#X msg 30 66 reset \, dimen 800 800 \, create \, lighting 1 \, 1;
#X obj 30 212 rotateXYZ 30 20 0;
#X obj 32 10 inlet;
#X obj 32 37 sel 1 0;
#X connect 0 0 3 0;
#X connect 1 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 7 1 0 0;
#X restore 18 87 pd gem_stuff;
#X obj 18 69 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#N canvas 0 22 804 395 creation 0;
#X obj 42 28 bng 20 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
-1;
#X msg 239 84 reset;
#X obj 245 32 loadbang;
#X text 68 30 reset;
#X obj 167 55 t b b b b b;
#X text 501 28 change number of mass to test performance;
#X text 501 41 (and reset afterwards);
#X obj 441 34 nbx 5 14 1 2000 1 1 empty empty empty 0 -6 0 10 -262144
-1 -1 1681.79 256;
#X msg 185 241 Xmax 4 \, Xmin -4 \, Ymax 4 \, Ymin -4;
#X msg 167 215 setL sun 0;
#X msg 221 107 mass fix 0 100 0 0;
#X text 409 270 0.2 : rigidity \, 0 : damping \, -2 : power \, 0.4
: Lmin;
#X text 363 109 Sun;
#X text 288 181 Initial speed;
#N canvas 900 169 769 663 masses 0;
#X obj 151 16 inlet;
#X obj 232 28 inlet;
#X obj 151 616 outlet;
#X msg 151 551 mass mob 1 \$1 \$2 \$3;
#X msg 151 307 seed 3;
#X obj 151 519 pack f f f;
#X obj 151 228 t b b b;
#X msg 243 306 seed 20;
#X msg 331 308 seed 10;
#X obj 151 327 random 10000;
#X obj 243 371 - 1;
#X obj 331 370 - 1;
#X obj 151 47 t b;
#X obj 333 52 loadbang;
#X text 263 277 X;
#X text 166 276 M;
#X text 372 278 Y;
#X obj 151 67 until;
#X obj 151 86 f;
#X obj 177 87 + 1;
#X obj 177 118 mod 1000;
#X obj 206 87 sel 0;
#X obj 243 327 random 1000;
#X obj 331 328 random 1000;
#X obj 243 348 / 50000;
#X obj 331 349 / 50000;
#X obj 151 349 / 250;
#X obj 151 371 + 185;
#X connect 0 0 12 0;
#X connect 1 0 20 1;
#X connect 3 0 2 0;
#X connect 4 0 9 0;
#X connect 5 0 3 0;
#X connect 6 0 9 0;
#X connect 6 1 22 0;
#X connect 6 2 23 0;
#X connect 7 0 22 0;
#X connect 8 0 23 0;
#X connect 9 0 26 0;
#X connect 10 0 5 1;
#X connect 11 0 5 2;
#X connect 12 0 17 0;
#X connect 13 0 7 0;
#X connect 13 0 8 0;
#X connect 13 0 4 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 18 0 6 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 20 0 18 1;
#X connect 21 0 17 1;
#X connect 22 0 24 0;
#X connect 23 0 25 0;
#X connect 24 0 10 0;
#X connect 25 0 11 0;
#X connect 26 0 27 0;
#X connect 27 0 5 0;
#X restore 203 144 pd masses;
#X text 410 289 The power of the link is -2 to simulate a gravity field
in 1/R^2;
#X text 292 146 Particules;
#X msg 185 268 link sun fix mob 0.2 0 -2 0.4;
#X msg 167 178 forceX mob 5.9;
#X obj 167 310 s \$0-pmpdin;
#X obj 166 25 inlet;
#X connect 0 0 4 0;
#X connect 1 0 19 0;
#X connect 2 0 4 0;
#X connect 4 0 9 0;
#X connect 4 0 18 0;
#X connect 4 1 8 0;
#X connect 4 1 17 0;
#X connect 4 2 14 0;
#X connect 4 3 10 0;
#X connect 4 4 1 0;
#X connect 7 0 14 1;
#X connect 8 0 19 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 14 0 19 0;
#X connect 17 0 19 0;
#X connect 18 0 19 0;
#X connect 20 0 4 0;
#X restore 18 43 pd creation;
#X text 116 58 gravity field simulation;
#X text 116 74 if you have cpu problem \, you can reduce the mass number
in "creation";
#N canvas 0 22 450 300 compute 0;
#X obj 52 64 t b;
#X obj 52 41 gemhead;
#X msg 197 123 forceX mob 0.051;
#X msg 197 149 forceY mob 0.1;
#X msg 52 98 bang \, bang \, get massesPos;
#N canvas 587 210 609 429 massrender 0;
#X obj 124 5 inlet;
#X obj 317 249 translateXYZ;
#X obj 319 223 separator;
#X obj 292 63 unpack f f f;
#X obj 59 262 translateXYZ;
#X obj 123 31 route 0 1;
#X obj 290 93 t b;
#X obj 64 71 unpack f f;
#X obj 60 155 t b f;
#X obj 194 266 translateXYZ;
#X obj 175 76 unpack f f;
#X obj 191 154 t b f;
#X obj 195 294 color 1 0 0;
#X obj 318 323 square 0.015;
#X obj 194 324 square 0.04;
#X text 63 356 Sun;
#X text 195 359 Red particule;
#X text 333 359 Particule;
#X obj 58 320 sphere 0.3 30;
#X obj 59 294 color 0.3 0.3 0.3;
#X obj 318 295 color 0.3 0.3 0.3;
#X obj 314 193 gemlist;
#X obj 362 170 gemhead 45;
#X obj 102 177 gemhead 45;
#X obj 191 197 gemlist;
#X obj 60 202 gemlist;
#X obj 238 172 gemhead 40;
#X obj 191 231 separator;
#X obj 58 232 separator;
#X connect 0 0 5 0;
#X connect 1 0 20 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 3 1 1 1;
#X connect 3 2 1 2;
#X connect 4 0 19 0;
#X connect 5 0 7 0;
#X connect 5 1 10 0;
#X connect 5 2 3 0;
#X connect 6 0 21 0;
#X connect 7 0 8 0;
#X connect 7 1 4 2;
#X connect 8 0 25 0;
#X connect 8 1 4 1;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
#X connect 10 1 9 2;
#X connect 11 0 24 0;
#X connect 11 1 9 1;
#X connect 12 0 14 0;
#X connect 19 0 18 0;
#X connect 20 0 13 0;
#X connect 21 0 2 0;
#X connect 22 0 21 1;
#X connect 23 0 25 1;
#X connect 24 0 27 0;
#X connect 25 0 28 0;
#X connect 26 0 24 1;
#X connect 27 0 9 0;
#X connect 28 0 4 0;
#X restore 52 239 pd massrender;
#X obj 52 212 route massesPos;
#X obj 63 147 r \$0-pmpdin;
#X obj 52 182 pmpd2d;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 8 0;
#X connect 3 0 8 0;
#X connect 4 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X restore 18 107 pd compute;
#X text 120 121 copyright Nicolas Montgermont 2010;
#X obj 120 20 declare -lib Gem;
#X connect 0 0 4 0;
#X connect 3 0 2 0;