[PD] get the position of the mass in the same order than the creation with MSD

Frank Barknecht fbar at footils.org
Mon Jul 12 10:39:14 CEST 2010


Hi Georg,

On Sat, Jul 10, 2010 at 01:13:52PM +0200, Georg Bosch wrote:
> physigs looks awesome. And it even comes with a video presentation &
> a paper. Wow.

Thanks a lot - I welcome any feedback.

> Am 10.07.2010 um 10:36 schrieb Frank Barknecht:
> >
> >I also started to clone your pm-mapping objects, see attachment, which
> >probably uses some list-abs and rj objects
> >(http://github.com/rjdj/rjlib) IIRC.
> 
> I seem to be missing "gem-display-fixmob". Is it a missing
> abstraction or due to my probably older gem version?
> I'm trying with 0.41.4-extended on 10.5.8.

I attached it. It's still a bit rough, but should be workable.

> Regarding the rjdj example in the video, am I right in assuming its
> just a matter of filling the force-x /y tables with const (accel
> value) before each link bang?

I can't check currently how I did it in the RjDj scene, but in general
you apply external forces to masses simply by manipulating the internal
force tables. You can either do this by directly using the internal
table name which is made up from the $arg1-tag and the respective
state-table suffix (i.e.  MYNAME-force-x, MYNAME-force-y, ...) or use
the special "table" method of the last inlet. To set all y-forces for
one world step to 10, use "table force-y const 10" for example. For the
RjDj accelerometer, you can directly feed the accel values like this.

Looking forward to a "Multi-Bouncy.rj" :) Unfortunatly the graphics in
RjDj are too slow to animate more than a handful of particles.

Ciao
-- 
Frank
-------------- next part --------------
#N canvas 386 82 980 617 10;
#X obj 21 281 separator;
#X obj 21 108 t a b;
#X obj 21 310 t a b b;
#X obj 21 81 scaleXYZ 1 1 1;
#X floatatom 52 60 5 0 0 0 - - -;
#X floatatom 95 60 5 0 0 0 - - -;
#X obj 21 250 gemlist;
#X obj 21 208 until;
#X obj 21 142 t b a;
#X text 23 504 This patch shows how to draw the same primitive with
the a single [gemhead] many times;
#X obj 21 445 translateXYZ;
#X obj 100 237 f 0;
#X obj 130 238 + 1;
#X obj 23 228 t b b;
#X obj 50 8 inlet;
#X obj 320 418 outlet;
#X obj 98 283 tabread \$1-pos-x;
#X obj 109 347 tabread \$1-pos-y;
#X obj 21 187 max;
#X obj 21 166 f \$2;
#X obj 592 51 loadbang;
#X obj 592 76 f \$2;
#X obj 592 156 s \$0-massnum;
#X obj 110 123 r \$0-massnum;
#X obj 546 55 inlet;
#N canvas 345 5 850 628 links 0;
#X obj 69 34 gemhead;
#X obj 69 281 separator;
#X obj 69 108 t a b;
#X obj 69 310 t a b b;
#X obj 69 81 scaleXYZ 1 1 1;
#X floatatom 100 60 5 0 0 0 - - -;
#X floatatom 143 60 5 0 0 0 - - -;
#X obj 69 250 gemlist;
#X obj 69 208 until;
#X obj 69 142 t b a;
#X obj 228 183 f 0;
#X obj 258 184 + 1;
#X obj 71 228 t b b;
#X obj 146 283 tabread \$1-pos-x;
#X obj 157 347 tabread \$1-pos-y;
#X obj 69 187 max;
#X obj 112 168 r \$0-linknum;
#X obj 69 166 f \$3;
#X obj 452 294 tabread \$1-pos-x;
#X obj 463 358 tabread \$1-pos-y;
#X obj 147 240 tabread \$1-link-m1;
#X obj 453 249 tabread \$1-link-m2;
#X obj 219 210 t f f;
#X obj 104 402 pack 0 0 0;
#X obj 410 413 pack 0 0 0;
#X obj 69 445 curve2;
#X obj 61 10 inlet;
#X msg 246 157 1;
#X obj 439 43 read-colors;
#X obj 442 72 u_show;
#X msg 446 99 1 0.564706 0;
#X floatatom 442 27 5 0 0 0 - - -;
#X obj 416 126 unpack 0 0 0;
#X obj 510 25 loadbang;
#X obj 69 366 colorRGB;
#X obj 528 48 f \$4;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 463 382 pd map;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 452 318 pd map;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 157 368 pd map;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 146 310 pd map;
#X obj 453 273 t f f f;
#X obj 147 262 t f f f;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 597 365 pd map;
#X obj 597 341 tabread \$1-pos-z;
#X obj 597 315 spigot;
#X obj 636 283 r \$0-z;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 282 367 pd map;
#X obj 282 343 tabread \$1-pos-z;
#X obj 282 317 spigot;
#X obj 321 285 r \$0-z;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 27 0;
#X connect 3 0 34 0;
#X connect 4 0 2 0;
#X connect 5 0 4 1;
#X connect 6 0 4 2;
#X connect 7 0 1 0;
#X connect 8 0 12 0;
#X connect 9 0 17 0;
#X connect 9 1 7 1;
#X connect 10 0 11 0;
#X connect 10 0 22 0;
#X connect 11 0 10 1;
#X connect 12 0 7 0;
#X connect 12 1 10 0;
#X connect 13 0 39 0;
#X connect 14 0 38 0;
#X connect 15 0 8 0;
#X connect 16 0 17 1;
#X connect 17 0 15 0;
#X connect 18 0 37 0;
#X connect 19 0 36 0;
#X connect 20 0 41 0;
#X connect 21 0 40 0;
#X connect 22 0 20 0;
#X connect 22 1 21 0;
#X connect 23 0 25 1;
#X connect 24 0 25 2;
#X connect 26 0 4 0;
#X connect 27 0 10 1;
#X connect 28 0 29 0;
#X connect 28 0 32 0;
#X connect 29 0 30 0;
#X connect 31 0 28 0;
#X connect 32 0 34 1;
#X connect 32 1 34 2;
#X connect 32 2 34 3;
#X connect 33 0 35 0;
#X connect 34 0 25 0;
#X connect 35 0 28 0;
#X connect 36 0 24 1;
#X connect 37 0 24 0;
#X connect 38 0 23 1;
#X connect 39 0 23 0;
#X connect 40 0 18 0;
#X connect 40 1 19 0;
#X connect 40 2 44 0;
#X connect 41 0 13 0;
#X connect 41 1 14 0;
#X connect 41 2 48 0;
#X connect 42 0 24 2;
#X connect 43 0 42 0;
#X connect 44 0 43 0;
#X connect 45 0 44 1;
#X connect 46 0 23 2;
#X connect 47 0 46 0;
#X connect 48 0 47 0;
#X connect 49 0 48 1;
#X restore 378 173 pd links;
#X obj 714 48 loadbang;
#X obj 668 52 inlet;
#X obj 714 73 f \$3;
#X obj 714 153 s \$0-linknum;
#X msg 117 214 1;
#X obj 110 147 - 1;
#X obj 249 346 tabread \$1-pos-z;
#X obj 99 262 t f f f;
#X obj 21 41 separator;
#X obj 378 141 separator;
#X obj 21 467 outlet;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 98 309 pd map;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 109 378 pd map;
#N canvas 0 0 450 300 map 0;
#X obj 104 110 m_scale 0 1 0 4;
#X obj 124 85 r \$0-scale;
#X obj 104 61 inlet;
#X obj 104 136 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 249 368 pd map;
#X obj 826 48 inlet;
#X obj 826 101 s \$0-scale;
#X obj 249 316 spigot;
#X obj 288 284 r \$0-z;
#X obj 826 77 route scale z;
#X obj 870 128 s \$0-z;
#X connect 0 0 2 0;
#X connect 1 0 8 0;
#X connect 1 1 30 0;
#X connect 2 0 10 0;
#X connect 3 0 1 0;
#X connect 4 0 3 1;
#X connect 5 0 3 2;
#X connect 6 0 0 0;
#X connect 7 0 13 0;
#X connect 8 0 19 0;
#X connect 8 1 6 1;
#X connect 10 0 36 0;
#X connect 11 0 12 0;
#X connect 11 0 33 0;
#X connect 12 0 11 1;
#X connect 13 0 6 0;
#X connect 13 1 11 0;
#X connect 14 0 35 0;
#X connect 14 0 34 0;
#X connect 16 0 37 0;
#X connect 17 0 38 0;
#X connect 18 0 7 0;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 23 0 31 0;
#X connect 24 0 22 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 29 0;
#X connect 30 0 11 1;
#X connect 31 0 19 1;
#X connect 32 0 39 0;
#X connect 33 0 16 0;
#X connect 33 1 17 0;
#X connect 33 2 42 0;
#X connect 34 0 3 0;
#X connect 35 0 25 0;
#X connect 37 0 10 1;
#X connect 38 0 10 2;
#X connect 39 0 10 3;
#X connect 40 0 44 0;
#X connect 42 0 32 0;
#X connect 43 0 42 1;
#X connect 44 0 41 0;
#X connect 44 1 45 0;


More information about the Pd-list mailing list