Forums > MaxMSP

2d "polar" parameter control

April 23, 2006 | 7:07 pm

I have a dream.

I dream of a control mechanism in which the user is presented with a big rectangle. Inside can be placed an arbitrary number of "poles." These will be numbered and will correspond to outlets. When performing with this object, the user can click the mouse anywhere inside, and the euclidean distance from each pole will come out of the outlets.

This is somewhat akin to electrotap’s color-based control scheme, but simpler and easier [possible?] to do on-the-fly.

1. Has anybody done this? I haven’t seen it. Have you?
2. Ideas for improvement?
3. How would YOU do this? I can imagine a combination of LCD and javascript. It should be as lightweight as possible.

Thanks,
Kevin


April 23, 2006 | 7:27 pm


April 23, 2006 | 8:39 pm

what a weird dream. even if you consider only one, standard sized pole, how
on earth would you make him get into it?

if i got you wrong, you could try jsui object (which is something like
lcd+javascript, but different), and here’s non-javascript way to do it:

#P window setfont Geneva 9.;
#P flonum 242 221 35 9 0 0 160 151 255 255 255 36 0 0 222 222 222 0 0 0;
#P flonum 464 221 35 9 0 0 160 151 255 255 255 255 0 0 222 222 222 0 0 0;
#P flonum 427 221 35 9 0 0 160 151 255 255 255 218 0 0 222 222 222 0 0 0;
#P flonum 390 221 35 9 0 0 160 151 255 255 255 182 0 0 222 222 222 0 0 0;
#P flonum 353 221 35 9 0 0 160 151 255 255 255 145 0 0 222 222 222 0 0 0;
#P flonum 316 221 35 9 0 0 160 151 255 255 255 109 0 0 222 222 222 0 0 0;
#P flonum 279 221 35 9 0 0 160 151 255 255 255 72 0 0 222 222 222 0 0 0;
#P window linecount 1;
#P newex 242 198 269 9895945 route 1 2 3 4 5 6 7;
#N vpatcher 194 40 812 547;
#P window setfont Geneva 9.;
#P window linecount 1;
#P newex 263 35 45 9895945 loadbang;
#P outlet 462 459 15 0;
#P newex 46 388 53 9895945 pack 0. 0;
#P window linecount 0;
#N vpatcher 28 109 408 507;
#P window setfont Geneva 9.;
#P newex 305 183 27 9895945 / 7.;
#P number 84 86 35 9 0 0 0 151 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 52 151 412 476;
#N comlet index;
#P inlet 203 72 15 0;
#P window setfont Geneva 9.;
#P newex 203 141 37 9895945 * 255.;
#P message 75 191 140 9895945 paintoval $1 $3 $2 $4 $5 0 0;
#N comlet to lcd;
#P outlet 75 218 15 0;
#N comlet y;
#P inlet 139 72 15 0;
#N comlet x;
#P inlet 75 72 15 0;
#P window linecount 1;
#P newex 139 117 42 9895945 t i i;
#P newex 75 117 42 9895945 t i i;
#P newex 171 141 27 9895945 + 4;
#P newex 139 141 27 9895945 – 4;
#P newex 107 141 27 9895945 + 4;
#P newex 75 141 27 9895945 – 4;
#P newex 75 166 138 9895945 pack 0 0 0 0 0;
#P connect 7 0 5 0;
#P connect 5 0 1 0;
#P connect 1 0 0 0;
#P connect 0 0 10 0;
#P connect 10 0 9 0;
#P connect 5 1 2 0;
#P connect 2 0 0 1;
#P connect 8 0 6 0;
#P connect 6 0 3 0;
#P connect 3 0 0 2;
#P connect 6 1 4 0;
#P connect 4 0 0 3;
#P connect 12 0 11 0;
#P connect 11 0 0 4;
#P pop;
#P newobj 165 256 150 9895945 p draw-circles;
#P newex 54 66 199 9895945 t b reset clear;
#P newex 84 217 66 9895945 pack 0 0 0;
#P newex 84 149 96 9895945 t i b b i;
#P newex 235 184 62 9895945 random 128;
#P newex 112 184 62 9895945 random 128;
#P newex 54 127 40 9895945 uzi 7;
#P inlet 54 40 15 0;
#P outlet 148 330 15 0;
#N comlet to coll;
#P outlet 84 357 15 0;
#P connect 2 0 8 0;
#P connect 8 0 3 0;
#P connect 10 0 3 1;
#P connect 3 2 6 0;
#P connect 6 0 7 0;
#P connect 8 2 0 0;
#P lcolor 13;
#P connect 7 0 0 0;
#P connect 6 1 4 0;
#P lcolor 8;
#P connect 4 0 7 1;
#P lcolor 8;
#P fasten 5 0 7 2 240 212 145 212;
#P fasten 9 0 1 0 170 293 153 293;
#P connect 8 1 1 0;
#P fasten 4 0 9 0 117 207 170 207;
#P lcolor 8;
#P fasten 6 2 5 0 145 175 240 175;
#P connect 5 0 9 1;
#P fasten 6 3 11 0 173 170 310 170;
#P connect 11 0 9 2;
#P fasten 10 0 11 1 89 107 327 107;
#P pop;
#P newobj 282 113 85 9895945 p generate&draw;
#P window linecount 1;
#P newex 46 343 74 9895945 +;
#P newex 110 320 44 9895945 pow 2;
#P window linecount 0;
#P newex 46 320 44 9895945 pow 2;
#P window linecount 1;
#P newex 46 414 34 9895945 zl rev;
#P newex 110 294 27 9895945 -;
#P newex 46 366 43 9895945 sqrt 0.;
#P window linecount 0;
#P newex 46 294 27 9895945 -;
#P newex 106 123 75 9895945 unpack 0 0;
#P button 282 62 40 1;
#P window linecount 1;
#P newex 46 268 74 9895945 unpack 0 0;
#P window linecount 0;
#N coll ;
#P newobj 46 229 140 9895945 coll;
#P newex 46 80 70 9895945 t dump l;
#P inlet 46 33 15 0;
#P outlet 357 152 15 0;
#P comment 324 76 160 9895945 generate rnd positions;
#P connect 2 0 3 0;
#P fasten 15 0 4 0 287 179 51 179;
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 8 0;
#P connect 8 0 12 0;
#P connect 12 0 14 0;
#P connect 14 0 9 0;
#P connect 9 0 16 0;
#P connect 16 0 11 0;
#P connect 7 0 8 1;
#P connect 4 1 16 1;
#P connect 3 1 7 0;
#P connect 5 1 10 0;
#P connect 10 0 13 0;
#P connect 13 0 14 1;
#P connect 7 1 10 1;
#P fasten 18 0 15 0 268 107 287 107;
#P lcolor 1;
#P connect 6 0 15 0;
#P connect 15 1 1 0;
#P fasten 11 0 17 0 51 454 467 454;
#P pop;
#P newobj 102 124 150 9895945 p powland;
#P user lcd 102 151 128 128 0 1 0 0 0;
#P connect 2 6 8 0;
#P connect 2 5 7 0;
#P connect 2 4 6 0;
#P connect 2 3 5 0;
#P connect 2 2 4 0;
#P connect 2 1 3 0;
#P connect 2 0 9 0;
#P connect 1 1 2 0;
#P fasten 0 0 1 0 107 292 94 292 94 111 107 111;
#P connect 1 0 0 0;
#P window clipboard copycount 10;


April 23, 2006 | 8:59 pm

[vbap]


April 23, 2006 | 9:06 pm

haven’t seen it. Have you?
> 2. Ideas for improvement?
> 3. How would YOU do this? I can imagine a combination of LCD and javascript. It should be as lightweight as possible.

you could simply track the mouse in an lcd, and compare
the mouse position with the current positions of pole 1,
pole 2, pole 3 … then you can calculate the distance
between pole 1 and mouse position and pole 2 and mouse
position etc and compare those values to control gain
or whatever.

maybe you become the second person using [110.pythagoras]?
it was made for exactly this purpose.



jln
April 23, 2006 | 9:18 pm

hehe. I used it as well actually. Yeah, I was a bit lazy to remember
my old maths courses and patch it myself… Shame on me.

Julien.


April 23, 2006 | 10:28 pm

i liked your patch nesa, could not resist messing with it. In the following sounds like 7 trucks parking up.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P hidden newex 243 34 48 196617 loadbang;
#P comment 425 79 55 196617 new pulses;
#P button 409 78 15 0;
#P comment 425 27 65 196617 audio on/off;
#P toggle 409 26 15 0;
#P comment 425 45 55 196617 new zones;
#P button 409 61 15 0;
#P button 409 43 15 0;
#N vpatcher 338 195 984 764;
#P window setfont "Sans Serif" 9.;
#P message 447 99 14 196617 1;
#P inlet 442 81 15 0;
#P window linecount 1;
#P newex 443 118 45 196617 s pulset;
#P inlet 7 289 15 0;
#P inlet 257 75 15 0;
#P newex 289 150 27 196617 t b i;
#P newex 294 200 31 196617 + 45;
#P window linecount 0;
#P newex 294 178 58 196617 random 50;
#P newex 296 222 31 196617 mtof;
#P user ezdac~ 109 390 153 423 0;
#P newex 257 128 40 196617 uzi 7;
#P newex 214 261 92 196617 gate 7;
#P window linecount 1;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 336 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 286 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 238 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 188 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 138 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 86 323 46 196617 p scaler;
#N vpatcher 20 74 620 474;
#P window setfont "Sans Serif" 9.;
#P newex 174 40 45 196617 r pulset;
#P window linecount 1;
#P newex 196 175 29 196617 * 1.;
#P window linecount 0;
#P newex 196 104 37 196617 t 33 b;
#P window linecount 1;
#P newex 223 151 27 196617 + 1;
#P window linecount 0;
#P newex 223 130 58 196617 random 10;
#P toggle 174 65 15 0;
#P toggle 174 267 15 0;
#P newex 174 215 58 196617 metro 100;
#P newex 102 296 27 196617 *~;
#P inlet 102 132 15 0;
#P newex 102 269 61 196617 cycle~ 440;
#P newex 14 293 27 196617 *~;
#P newex 31 230 42 196617 t f 100;
#P newex 31 256 32 196617 line~;
#P outlet 14 319 15 0;
#P inlet 31 130 15 0;
#P newex 31 205 50 196617 clip 0. 1.;
#P newex 31 180 118 196617 scale 0 250 0.5 -1.65;
#P fasten 9 0 6 0 107 321 64 321 64 284 19 284;
#P connect 6 0 3 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 4 0;
#P connect 4 0 6 1;
#P connect 5 1 4 1;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P fasten 11 0 9 1 179 293 124 293;
#P connect 17 0 12 0;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 15 0;
#P connect 15 0 16 0;
#P connect 14 0 16 1;
#P connect 16 0 10 1;
#P connect 15 1 13 0;
#P connect 13 0 14 0;
#P pop;
#P newobj 36 324 46 196617 p scaler;
#P window linecount 0;
#P newex 61 277 105 196617 route 1 2 3 4 5 6 7;
#P inlet 61 227 15 0;
#P fasten 1 0 2 0 66 308 41 308;
#P connect 0 0 1 0;
#P fasten 9 0 2 1 219 305 77 305;
#P fasten 1 1 3 0 79 308 91 308;
#P fasten 8 0 11 0 341 365 114 365;
#P fasten 6 0 11 0 243 365 114 365;
#P fasten 4 0 11 0 143 365 114 365;
#P fasten 2 0 11 0 41 365 114 365;
#P fasten 17 0 11 0 12 347 114 347;
#P fasten 9 1 3 1 232 306 127 306;
#P fasten 1 2 4 0 92 308 143 308;
#P fasten 7 0 11 1 291 365 148 365;
#P fasten 5 0 11 1 193 365 148 365;
#P fasten 3 0 11 1 91 365 148 365;
#P fasten 9 2 4 1 245 311 179 311;
#P fasten 1 3 5 0 105 308 193 308;
#P fasten 15 1 9 0 311 171 219 171;
#P fasten 9 3 5 1 258 308 229 308;
#P fasten 1 4 6 0 118 308 243 308;
#P connect 16 0 10 0;
#P fasten 9 4 6 1 271 310 279 310;
#P fasten 1 5 7 0 131 308 291 308;
#P connect 10 2 15 0;
#P connect 15 0 13 0;
#P connect 13 0 14 0;
#P connect 14 0 12 0;
#P connect 12 0 9 1;
#P fasten 9 5 7 1 284 290 327 290;
#P fasten 1 6 8 0 144 308 341 308;
#P fasten 9 6 8 1 297 284 377 284;
#P connect 20 0 18 0;
#P connect 19 0 20 0;
#P pop;
#P newobj 318 104 59 196617 p 7 trucks;
#N vpatcher 353 88 971 595;
#P inlet 377 43 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 263 35 45 196617 loadbang;
#P outlet 462 459 15 0;
#P newex 46 388 53 196617 pack 0. 0;
#P window linecount 0;
#N vpatcher 446 260 826 658;
#P window setfont "Sans Serif" 9.;
#P newex 305 183 27 196617 / 7.;
#P number 84 86 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 351 258 711 583;
#N comlet index;
#P inlet 203 72 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 203 141 41 196617 * 255.;
#P message 75 191 149 196617 frameoval $1 $3 $2 $4 $5 0 0;
#N comlet to lcd;
#P outlet 75 218 15 0;
#N comlet y;
#P inlet 139 72 15 0;
#N comlet x;
#P inlet 75 72 15 0;
#P window linecount 1;
#P newex 139 117 42 196617 t i i;
#P newex 75 117 42 196617 t i i;
#P newex 171 141 31 196617 + 60;
#P newex 139 141 30 196617 – 60;
#P newex 107 141 31 196617 + 60;
#P newex 75 141 30 196617 – 60;
#P newex 75 166 138 196617 pack 0 0 0 0 0;
#P connect 7 0 5 0;
#P connect 5 0 1 0;
#P connect 1 0 0 0;
#P connect 0 0 10 0;
#P connect 10 0 9 0;
#P connect 5 1 2 0;
#P connect 2 0 0 1;
#P connect 8 0 6 0;
#P connect 6 0 3 0;
#P connect 3 0 0 2;
#P connect 6 1 4 0;
#P connect 4 0 0 3;
#P connect 12 0 11 0;
#P connect 11 0 0 4;
#P pop;
#P newobj 165 256 150 196617 p draw-circles;
#P newex 54 66 199 196617 t b reset clear;
#P newex 84 217 66 196617 pack 0 0 0;
#P newex 84 149 96 196617 t i b b i;
#P newex 235 184 64 196617 random 250;
#P newex 112 184 64 196617 random 250;
#P newex 54 127 40 196617 uzi 7;
#P inlet 54 40 15 0;
#P outlet 148 330 15 0;
#N comlet to coll;
#P outlet 84 357 15 0;
#P connect 2 0 8 0;
#P connect 8 0 3 0;
#P connect 10 0 3 1;
#P connect 3 2 6 0;
#P connect 6 0 7 0;
#P connect 7 0 0 0;
#P connect 8 2 0 0;
#P lcolor 13;
#P connect 6 1 4 0;
#P lcolor 8;
#P connect 4 0 7 1;
#P lcolor 8;
#P fasten 5 0 7 2 240 212 145 212;
#P connect 8 1 1 0;
#P fasten 9 0 1 0 170 293 153 293;
#P fasten 4 0 9 0 117 207 170 207;
#P lcolor 8;
#P fasten 6 2 5 0 145 175 240 175;
#P connect 5 0 9 1;
#P fasten 6 3 11 0 173 170 310 170;
#P connect 11 0 9 2;
#P fasten 10 0 11 1 89 107 327 107;
#P pop;
#P newobj 282 113 85 196617 p generate&draw;
#P window linecount 1;
#P newex 46 343 74 196617 +;
#P newex 110 320 44 196617 pow 2;
#P window linecount 0;
#P newex 46 320 44 196617 pow 2;
#P window linecount 1;
#P newex 46 414 34 196617 zl rev;
#P newex 110 294 27 196617 -;
#P newex 46 366 43 196617 sqrt 0.;
#P window linecount 0;
#P newex 46 294 27 196617 -;
#P newex 106 123 75 196617 unpack 0 0;
#P button 282 62 40 1;
#P window linecount 1;
#P newex 46 268 74 196617 unpack 0 0;
#P window linecount 0;
#N coll ;
#P newobj 46 229 140 196617 coll;
#P newex 46 80 70 196617 t dump l;
#P inlet 46 33 15 0;
#P outlet 357 152 15 0;
#P comment 324 76 160 196617 generate rnd positions;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P fasten 15 0 4 0 287 179 51 179;
#P connect 4 0 5 0;
#P connect 5 0 8 0;
#P connect 8 0 12 0;
#P connect 12 0 14 0;
#P connect 14 0 9 0;
#P connect 9 0 16 0;
#P connect 16 0 11 0;
#P connect 7 0 8 1;
#P connect 4 1 16 1;
#P connect 3 1 7 0;
#P connect 5 1 10 0;
#P connect 10 0 13 0;
#P connect 13 0 14 1;
#P connect 7 1 10 1;
#P connect 19 0 6 0;
#P connect 6 0 15 0;
#P fasten 18 0 15 0 268 107 287 107;
#P lcolor 1;
#P connect 15 1 1 0;
#P fasten 11 0 17 0 51 454 467 454;
#P pop;
#P newobj 64 61 150 196617 p powland;
#P user lcd 64 81 250 250 0 1 0 0 0;
#P comment 425 63 55 196617 new tones;
#P hidden connect 11 0 4 0;
#P hidden connect 11 0 5 0;
#P hidden connect 11 0 9 0;
#P fasten 9 0 3 3 414 98 371 98;
#P fasten 7 0 3 0 414 41 323 41;
#P fasten 5 0 3 2 414 76 355 76;
#P fasten 4 0 2 1 414 59 209 59;
#P fasten 2 1 3 1 209 79 339 79;
#P fasten 1 0 2 0 69 229 56 229 56 48 69 48;
#P connect 2 0 1 0;
#P window clipboard copycount 12;


April 24, 2006 | 8:28 am

Kevin Cox wrote:
> 3. How would YOU do this? I can imagine a combination of
> LCD and javascript. It should be as lightweight as possible.

I think no javascript necessary here, paint each oval as sprite, track
the position of each sprite, if clicked at a position of a sprite,
select and move it with the mouse, do the distance calculation as nesa
showed in his example. Should be reasonable light weight and straight
forward.

Stefan

[][] [][][] [][] [][][]
[][][][][][][][][][][][][][][]

Stefan Tiedje
Klanggestalter
Electronic Composition
&
Improvisation

/~~~~~
\ /|() ()|
))))) )| | |( \
/// _/)/ )))))
___/ ///

————————-x—-
–_____———–|———–
–(_|_ —-|—–|—–()—-
– _|_)—-|—–()———–
———-()————x—–

14, Av. Pr. Franklin Roosevelt,
94320 Thiais, France
Phone at CCMIX +33-1-57 42 91 09


April 26, 2006 | 1:27 am

THANKS everybody. Sorry I ditched the thread for a few days.

nesa and john – great stuff. You guys have done the bulk of the work I was going to do. I’m going to make some improvements, make it a bit more generic and reusable, and I’ll post back (maybe even add it to the max objects database).

I had been thinking of using vbap for this too. Seems overly complicated when plain ol’ euclidean geometry works fine.

thanks again
k


May 18, 2006 | 10:06 am

have a look at int.lib – sounds similar to what you guys are doing
I’m using Jitter javascript and Open GL.

http://www.cycling74.com/forums/index.php?t=msg&th=19990


Viewing 10 posts - 1 through 10 (of 10 total)