Hello
I've made a patch that creates GEMglvertex3f dynamicaly, it's attached,
and needs a little fix I didn't have time to do (it's about attributing default coordinates).
Do you think it's a good idea? Anyone did this before?
In other words, am I loosing my time with making these kinds of abstractions?
Patco.
Alexandre Quessy listes@sourcelibre.com a écrit : Hi,
A good idea would be to make a library of Gem abstractions using openGL functions, dynamic objects creation and the [repeat] and [any] objects.
Then, we could use lists of 3D vectors, do arithmetics on them, and render it at the end of the chain.
Such a library could be named extensions/dyngems. Any people in the room wants to work on this ?
--
Alexandre Quessy
http://alexandre.quessy.net
On 7/13/06, james tittle
tigital@mac.com wrote: hi,
On Jul 13, 2006, at 5:33 AM, yukio wrote:
> hi , in some tradicional 3d software like 3d studio max and cinema4d
> theres a fuction called boolean that enable for example substract
> areas
> from a 3d object using another ..... for example if you have 2
> spheres ,
> you can use one to substract an area of the second one, you can
> also add
> 2 3d object or visualize just the intersection of both objects.....
> my question is .. is it possible to make something like this in Gem
> with
> geos?
> for example substracting an area of a geo with a second one?
...what your looking for is called "constructive solid geometry" (1),
and it's not natively supported in GEM: in general, GEM's strengths
are not as a traditional "modeler"...GEM allows fairly low-level
access to 3D OpenGL operations which could be used to create your own
CSG patches, but you'd have to do the math for the primitives and
intersecting in pd, and then use GEM to upload the vertices and view...
james
_______________________________________________
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
_______________________________________________
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
---------------------------------
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
#N canvas 504 -3 524 711 10;
#N canvas 0 22 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 132 112 create , 1;
#X msg 198 112 destroy;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X restore 11 30 pd gemwin;
#X msg 11 11 create;
#X obj 131 600 GEMglEnd;
#X floatatom 190 263 5 0 0 0 - - -;
#X obj 128 292 GEMglRotatef 0 1 1 1;
#X floatatom 226 265 5 0 0 0 - - -;
#X floatatom 263 266 5 0 0 0 - - -;
#X obj 262 320 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 250 320 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 275 320 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 481 385 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 469 385 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 494 385 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 128 7 gemhead 50;
#X obj 403 465 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 391 465 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 416 465 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 456 513 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 444 513 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 469 513 vsl 10 40 -3 3 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#N canvas 261 145 675 420 image 0;
#X obj 305 28 cnv 15 200 100 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 46 18 inlet;
#X obj 47 306 outlet;
#X obj 46 87 pix_texture;
#X obj 46 65 pix_image;
#X obj 127 28 openpanel;
#X msg 128 51 open $1;
#X obj 345 47 hradio 15 1 0 2 $0-radio-values $0-radio-values-r value
-37 6 0 8 -262144 -1 -1 0;
#X obj 373 31 hradio 15 1 0 5 empty $0-radio-parameter parameter -65
6 0 8 -262144 -1 -1 0;
#N canvas 336 51 692 558 TEXTURE_2D 0;
#X obj 111 1 inlet;
#X obj 300 121 cnv 15 200 20 empty $0-cnv-parameter GL_TEXTURE_WRAP_T
2 12 0 9 -1 -262144 0;
#N canvas 509 40 514 394 MAG_FILTER 0;
#X obj 60 12 inlet;
#X obj 77 290 t b a;
#X obj 80 136 sel 0;
#X obj 79 66 inlet;
#X msg 140 187 GL_NEAREST;
#X msg 116 208 GL_LINEAR;
#X obj 144 262 list trim;
#X obj 144 241 list prepend label;
#X obj 64 345 outlet;
#X obj 60 41 sel 2;
#X obj 264 100 s $0-cnv-parameter;
#X msg 264 67 label GL_TEXTURE_MAG_FILTER;
#X obj 60 100 i 0;
#X obj 144 284 s $0-cnv-value;
#X obj 221 158 s $0-radio-values-r;
#X obj 60 321 pack 10240 9728;
#X msg 47 190 9728;
#X msg 66 218 9729;
#X connect 0 0 9 0;
#X connect 1 0 15 0;
#X connect 1 1 15 1;
#X connect 2 0 5 0;
#X connect 2 0 16 0;
#X connect 2 1 4 0;
#X connect 2 1 17 0;
#X connect 3 0 2 0;
#X connect 3 0 12 1;
#X connect 4 0 7 0;
#X connect 5 0 7 0;
#X connect 6 0 13 0;
#X connect 7 0 6 0;
#X connect 9 0 11 0;
#X connect 9 0 12 0;
#X connect 11 0 10 0;
#X connect 12 0 2 0;
#X connect 12 0 14 0;
#X connect 15 0 8 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X restore 142 193 pd MAG_FILTER;
#X obj 179 89 inlet;
#N canvas 424 253 518 398 WRAP_T 0;
#X obj 60 12 inlet;
#X obj 66 275 t b a;
#X obj 78 145 sel 0;
#X obj 79 71 inlet;
#X obj 132 257 list trim;
#X obj 132 236 list prepend label;
#X obj 53 330 outlet;
#X msg 108 207 GL_CLAMP;
#X msg 132 186 GL_REPEAT;
#X obj 132 279 s $0-cnv-value;
#X obj 60 38 sel 1;
#X obj 264 100 s $0-cnv-parameter;
#X msg 264 67 label GL_TEXTURE_WRAP_T;
#X obj 60 103 i 0;
#X obj 212 139 s $0-radio-values-r;
#X obj 49 306 pack 10243 10496;
#X msg 15 187 10496;
#X msg 59 184 10497;
#X connect 0 0 10 0;
#X connect 1 0 15 0;
#X connect 1 1 15 1;
#X connect 2 0 7 0;
#X connect 2 0 16 0;
#X connect 2 1 8 0;
#X connect 2 1 17 0;
#X connect 3 0 2 0;
#X connect 3 0 13 1;
#X connect 4 0 9 0;
#X connect 5 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 10 0 12 0;
#X connect 10 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 2 0;
#X connect 13 0 14 0;
#X connect 15 0 6 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X restore 124 166 pd WRAP_T;
#X obj 123 332 outlet;
#X obj 181 110 demux 0 1 2 3 4;
#N canvas 0 0 478 328 hdial 0;
#X obj 64 21 inlet;
#X msg 14 169 number $1;
#X msg 18 139 2;
#X msg 76 137 4;
#X msg 47 138 6;
#X obj 7 76 sel 0 1 2 3 4;
#X obj 10 193 s $0-radio-values-r;
#X connect 0 0 5 0;
#X connect 1 0 6 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 5 1 2 0;
#X connect 5 2 2 0;
#X connect 5 3 4 0;
#X connect 5 4 3 0;
#X restore 220 49 pd hdial value;
#N canvas 162 177 538 418 WRAP_S 0;
#X obj 60 12 inlet;
#X obj 70 284 t b a;
#X obj 82 154 sel 0;
#X obj 82 89 inlet;
#X obj 134 245 list trim;
#X obj 134 224 list prepend label;
#X obj 57 339 outlet;
#X msg 106 191 GL_CLAMP;
#X msg 130 170 GL_REPEAT;
#X obj 134 267 s $0-cnv-value;
#X obj 60 35 sel 0;
#X obj 264 100 s $0-cnv-parameter;
#X msg 264 67 label GL_TEXTURE_WRAP_S;
#X obj 75 121 i 0;
#X obj 221 158 s $0-radio-values-r;
#X msg 56 253 10496;
#X msg 82 227 10497;
#X obj 53 315 pack 10242 10496;
#X connect 0 0 10 0;
#X connect 1 0 17 0;
#X connect 1 1 17 1;
#X connect 2 0 7 0;
#X connect 2 0 15 0;
#X connect 2 1 8 0;
#X connect 2 1 16 0;
#X connect 3 0 2 0;
#X connect 3 0 13 1;
#X connect 4 0 9 0;
#X connect 5 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 10 0 12 0;
#X connect 10 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 2 0;
#X connect 13 0 14 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 6 0;
#X restore 110 137 pd WRAP_S;
#N canvas 431 0 587 505 MIN_FILTER 0;
#X obj 15 11 inlet;
#X obj 32 352 t b a;
#X obj 33 79 inlet;
#X msg 333 306 GL_NEAREST;
#X msg 316 325 GL_LINEAR;
#X obj 337 381 list trim;
#X obj 337 360 list prepend label;
#X obj 19 407 outlet;
#X obj 34 180 sel 0 1 2 3 4 5;
#X msg 359 266 GL_LINEAR_MINMAP_LINEAR;
#X obj 316 188 sel 0 1 2 3 4 5;
#X obj 337 403 s $0-cnv-value;
#X obj 266 75 s $0-cnv-parameter;
#X obj 15 33 sel 3;
#X msg 266 42 label GL_TEXTURE_MIN_FILTER;
#X obj 29 125 i 0;
#X obj 153 181 s $0-radio-values-r;
#X obj 16 383 pack 10241 9728;
#X msg 33 319 9728;
#X msg 45 295 9729;
#X msg 63 269 9984;
#X msg 90 224 9986;
#X msg 103 202 9987;
#X msg 76 244 9985;
#X msg 344 286 GL_NEAREST_MINMAP_NEAREST;
#X msg 374 247 GL_NEAREST_MINMAP_LINEAR;
#X msg 384 228 GL_LINEAR_MINMAP_LINEAR;
#X connect 0 0 13 0;
#X connect 1 0 17 0;
#X connect 1 1 17 1;
#X connect 2 0 8 0;
#X connect 2 0 10 0;
#X connect 2 0 15 1;
#X connect 3 0 6 0;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 6 0 5 0;
#X connect 8 0 18 0;
#X connect 8 1 19 0;
#X connect 8 2 20 0;
#X connect 8 3 23 0;
#X connect 8 4 21 0;
#X connect 8 5 22 0;
#X connect 9 0 6 0;
#X connect 10 0 4 0;
#X connect 10 1 3 0;
#X connect 10 2 24 0;
#X connect 10 3 9 0;
#X connect 10 4 25 0;
#X connect 10 5 26 0;
#X connect 13 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 8 0;
#X connect 15 0 10 0;
#X connect 15 0 16 0;
#X connect 17 0 7 0;
#X connect 18 0 1 0;
#X connect 19 0 1 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X connect 23 0 1 0;
#X connect 24 0 6 0;
#X connect 25 0 6 0;
#X connect 26 0 6 0;
#X restore 161 219 pd MIN_FILTER;
#X obj 300 100 cnv 15 200 20 empty empty GL_TEXTURE_2D 2 12 0 9 -1
-262144 0;
#N canvas 212 28 614 549 BORDER_COLOR 0;
#X obj 271 15 inlet;
#X obj 300 118 inlet;
#X obj 348 257 list trim;
#X obj 348 236 list prepend label;
#X obj 215 354 outlet;
#X obj 348 279 s $0-cnv-value;
#X obj 313 87 s $0-cnv-parameter;
#X msg 311 66 label GL_TEXTURE_BORDER_COLOR;
#X obj 229 181 demux 0 1 2 3;
#X obj 352 169 sel 0 1 2 3;
#X msg 351 202 RED;
#X msg 376 200 GREEN;
#X msg 414 200 BLUE;
#X msg 446 201 ALPHA;
#X obj 146 147 r $0-BORDER_COLOR;
#X obj 253 241 t b a;
#X obj 277 267 t b a;
#X obj 302 291 t b a;
#X obj 43 274 t b b;
#X obj 271 38 sel 4;
#X obj 18 252 sel 4;
#X obj 18 380 i $0;
#X obj 271 142 i 0;
#X msg 68 300 clear;
#X obj 24 461 s pd-TEXTURE_2D-value;
#X obj 43 350 i $0;
#X obj 89 332 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 18 300 t b b;
#X msg 63 379 obj 100 100 cnv 15 200 20 empty $1-cnv-value empty 2
11 0 9 -1 0 0;
#X obj 360 147 s $0-radio-values-r;
#X floatatom 107 202 5 0 0 0 - - -;
#X msg 16 418 obj 170 102 hsl 101 15 0 1 0 0 $1-BORDER_COLOR $1-BORDER_COLOR-r
empty 50 6 2 8 0 -1 -1 0;
#X obj 211 328 pack 0 0 0 0;
#X connect 0 0 19 0;
#X connect 0 0 20 0;
#X connect 1 0 9 0;
#X connect 1 0 8 1;
#X connect 1 0 22 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 32 0;
#X connect 8 1 15 0;
#X connect 8 2 16 0;
#X connect 8 3 17 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 9 2 12 0;
#X connect 9 3 13 0;
#X connect 10 0 3 0;
#X connect 11 0 3 0;
#X connect 12 0 3 0;
#X connect 13 0 3 0;
#X connect 14 0 30 0;
#X connect 14 0 8 0;
#X connect 15 0 32 0;
#X connect 15 1 32 1;
#X connect 16 0 32 0;
#X connect 16 1 32 2;
#X connect 17 0 32 0;
#X connect 17 1 32 3;
#X connect 18 0 25 0;
#X connect 18 1 23 0;
#X connect 19 0 7 0;
#X connect 19 0 22 0;
#X connect 20 0 27 0;
#X connect 20 1 18 0;
#X connect 21 0 31 0;
#X connect 22 0 8 1;
#X connect 22 0 9 0;
#X connect 22 0 29 0;
#X connect 23 0 24 0;
#X connect 25 0 28 0;
#X connect 26 0 25 0;
#X connect 27 0 21 0;
#X connect 28 0 24 0;
#X connect 31 0 24 0;
#X connect 32 0 4 0;
#X restore 184 254 pd BORDER_COLOR;
#N canvas 24 313 506 356 TEXTURE_2D-value 0;
#X obj 100 100 cnv 15 200 20 empty 1002-cnv-value GL_REPEAT 2 11 0
9 -1 -262144 0;
#X coords 0 -1 1 1 200 20 1 100 100;
#X restore 300 140 pd TEXTURE_2D-value;
#X obj 111 28 t a a a a a a a;
#X text 337 4 megalegoland@yahoo.fr;
#X obj 184 333 outlet;
#X obj 107 277 unpack f f;
#X obj 207 308 pack f f f f;
#X obj 184 277 t b a;
#X msg 139 308 4100;
#X connect 0 0 13 0;
#X connect 2 0 16 0;
#X connect 3 0 6 0;
#X connect 4 0 16 0;
#X connect 6 0 8 1;
#X connect 6 1 4 1;
#X connect 6 2 2 1;
#X connect 6 3 9 1;
#X connect 6 4 11 1;
#X connect 8 0 16 0;
#X connect 9 0 16 0;
#X connect 11 0 18 0;
#X connect 13 0 8 0;
#X connect 13 1 4 0;
#X connect 13 2 2 0;
#X connect 13 3 9 0;
#X connect 13 4 11 0;
#X connect 13 5 6 1;
#X connect 13 6 7 0;
#X connect 16 0 5 0;
#X connect 16 1 15 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 18 1 17 0;
#X connect 19 0 5 0;
#X coords 0 -1 1 1 200 60 1 300 100;
#X restore 305 64 pd TEXTURE_2D;
#X obj 470 42 bng 15 250 50 0 empty empty open_jpg -20 -6 0 8 -262144
-1 -1;
#X msg 203 158 4100;
#X text 366 3 border color doesn't work;
#X obj 45 235 GEMglTexParameterf 3553 10242 10496;
#X msg 139 184 3553;
#X msg 114 146 3552;
#X connect 1 0 4 0;
#X connect 3 0 13 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 9 1;
#X connect 8 0 9 0;
#X connect 9 0 13 2;
#X connect 9 1 13 3;
#X connect 10 0 5 0;
#X connect 11 0 13 2;
#X connect 13 0 2 0;
#X connect 14 0 13 1;
#X connect 15 0 13 1;
#X coords 0 -1 1 1 200 100 1 305 28;
#X restore 128 34 pd image;
#X obj 382 45 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 370 119 5 0 0 0 - - -;
#X text 216 11 a gop for GLdefine GL_TEXTURE_2D and image browsing
;
#X obj 128 320 GEMglBegin 9;
#X obj 131 621 GEMglShadeModel 7424;
#N canvas 548 337 462 312 TexGenf 0;
#X obj 42 54 inlet;
#X obj 87 276 outlet;
#X msg 150 22 8192;
#X msg 141 43 8193;
#X msg 135 62 8194;
#X msg 128 81 8195;
#X text 115 17 S;
#X text 109 37 T;
#X text 103 59 R;
#X text 98 79 Q;
#X msg 193 25 9472;
#X text 186 8 TEXTURE_GEN_MODE;
#X text 354 61 OBJECT_LINEAR;
#X msg 361 78 9217;
#X msg 379 108 9216;
#X text 368 94 EYE_LINEAR;
#X msg 327 58 9217;
#X text 328 41 SPHERE_MAP;
#X obj 91 135 GEMglTexGenf 8192 9472 9216;
#X obj 90 248 GEMglEnable 3168;
#X msg 153 177 3168;
#X text 192 174 TEXTURE_GEN_S;
#X msg 200 209 3169;
#X text 240 206 TEXTURE_GEN_T;
#X msg 210 65 9472;
#X text 203 48 OBJECT_PLANE;
#X msg 218 103 9474;
#X text 211 86 EYE_PLANE;
#X connect 0 0 18 0;
#X connect 2 0 18 1;
#X connect 3 0 18 1;
#X connect 4 0 18 1;
#X connect 5 0 18 1;
#X connect 10 0 18 2;
#X connect 13 0 18 3;
#X connect 14 0 18 3;
#X connect 16 0 18 3;
#X connect 18 0 19 0;
#X connect 19 0 1 0;
#X connect 20 0 19 1;
#X connect 22 0 19 1;
#X connect 24 0 18 2;
#X connect 26 0 18 2;
#X restore 128 175 pd TexGenf;
#X obj 365 75 GLdefine GL_EYE_PLANE;
#N canvas 0 0 547 705 vertex3f 0;
#N canvas 508 3 510 717 vertex-array 0;
#X restore 325 65 pd vertex-array;
#X obj 325 90 r $0-vertex-out;
#X obj 325 115 outlet;
#X obj 320 18 inlet;
#X obj 322 41 s $0-vertex-in;
#X obj 4 4 bng 15 250 50 0 $0-create-vertex empty Add 20 6 0 8 -262144
-1 -1;
#X obj 53 5 nbx 3 12 1 999 0 0 $0-vertex-number empty vertex 40 6
0 10 -262144 -1 -1 4 256;
#N canvas 0 0 499 682 create 0;
#X obj 10 603 s pd-vertex-array;
#X obj 82 200 until;
#X obj 27 150 i 1;
#X obj 115 261 + 30;
#X obj 79 443 pack f f f f f f f f;
#X obj 198 258 i 2;
#X obj 225 257 + 4;
#X obj 206 321 + 1;
#X obj 233 319 + 2;
#X obj 82 228 t a a;
#X msg 167 92 clear;
#X obj 146 178 s pd-vertex-array;
#X msg 10 519 connect 0 0 2 0 , connect $1 0 1 0;
#X msg 125 142 obj 100 600 s $1-vertex-out;
#X obj 97 63 t b a a b;
#X obj 68 63 i $0;
#X msg 175 220 2;
#X obj 258 320 + 3;
#X msg 136 114 obj 100 0 r $1-vertex-in;
#X msg 95 168 40;
#X obj 82 260 i 40;
#X obj 41 324 r $0-vertex-number;
#X obj 5 107 r $0-vertex-number;
#X obj 122 394 - 20;
#X obj 10 451 i 2;
#X obj 10 393 sel 40;
#X obj 41 348 * 30;
#X obj 41 370 + 10;
#X msg 79 469 obj 100 $1 GEMglVertex3f 0 0 0 , obj 120 $2 r $1-vvf1
, obj 180 $2 r $1-vvf2 , obj 240 $2 r $1-vvf3 , connect $6
0 $5 1 , connect $7 0 $5 2 , connect $8 0 $5 3;
#X obj 282 319 - 4;
#X obj 307 362 > 0;
#X obj 282 386 spigot;
#X obj 282 341 t a a;
#X obj 282 413 pack f f;
#X obj 203 285 t a a a a a a a;
#X msg 282 439 connect $2 0 $1 0;
#X obj 259 366 i 2;
#X obj 80 291 t a b a a;
#X obj 65 36 r $0-create-vertex;
#X connect 1 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 20 1;
#X connect 4 0 28 0;
#X connect 5 0 6 0;
#X connect 5 0 34 0;
#X connect 6 0 5 1;
#X connect 7 0 4 5;
#X connect 8 0 4 6;
#X connect 9 0 20 0;
#X connect 9 1 5 0;
#X connect 10 0 11 0;
#X connect 12 0 0 0;
#X connect 13 0 11 0;
#X connect 14 0 2 0;
#X connect 14 1 13 0;
#X connect 14 2 18 0;
#X connect 14 3 10 0;
#X connect 14 3 19 0;
#X connect 14 3 16 0;
#X connect 15 0 14 0;
#X connect 16 0 5 1;
#X connect 17 0 4 7;
#X connect 18 0 11 0;
#X connect 19 0 20 1;
#X connect 20 0 3 0;
#X connect 20 0 37 0;
#X connect 21 0 26 0;
#X connect 22 0 2 1;
#X connect 23 0 4 1;
#X connect 24 0 12 0;
#X connect 25 0 24 0;
#X connect 26 0 27 0;
#X connect 27 0 25 1;
#X connect 28 0 0 0;
#X connect 29 0 32 0;
#X connect 30 0 31 1;
#X connect 31 0 33 0;
#X connect 32 0 33 1;
#X connect 32 1 30 0;
#X connect 33 0 35 0;
#X connect 34 0 24 1;
#X connect 34 0 36 1;
#X connect 34 1 4 4;
#X connect 34 2 7 0;
#X connect 34 3 8 0;
#X connect 34 4 17 0;
#X connect 34 5 29 0;
#X connect 35 0 0 0;
#X connect 36 0 31 0;
#X connect 37 0 25 0;
#X connect 37 1 36 0;
#X connect 37 2 4 0;
#X connect 37 3 23 0;
#X connect 38 0 15 0;
#X restore 322 148 pd create vertex;
#X floatatom 6 41 3 0 0 2 vertex_number - -;
#X floatatom 90 43 5 0 0 2 x - -;
#X floatatom 127 43 5 0 0 2 y - -;
#X floatatom 164 43 5 0 0 2 z - -;
#X obj 72 140 pack f f;
#X obj 133 140 pack f f;
#X obj 188 141 pack f f;
#X obj 189 87 / 100;
#X obj 89 86 / 100;
#X obj 142 88 / 100;
#X obj 29 79 * 30;
#X obj 32 104 + 40;
#X msg 46 189 ; $2-vvf1 $1;
#X msg 129 191 ; $2-vvf1 $1;
#X msg 206 191 ; $2-vvf1 $1;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 8 0 18 0;
#X connect 9 0 16 0;
#X connect 10 0 17 0;
#X connect 11 0 15 0;
#X connect 12 0 20 0;
#X connect 13 0 21 0;
#X connect 14 0 22 0;
#X connect 15 0 14 0;
#X connect 16 0 12 0;
#X connect 17 0 13 0;
#X connect 18 0 19 0;
#X connect 19 0 12 1;
#X connect 19 0 13 1;
#X connect 19 0 14 1;
#X coords 0 -1 1 1 200 60 1 1 1;
#X restore 122 383 pd vertex3f;
#X connect 0 0 1 0;
#X connect 1 0 0 0;
#X connect 2 0 25 0;
#X connect 3 0 4 1;
#X connect 4 0 24 0;
#X connect 5 0 4 2;
#X connect 6 0 4 3;
#X connect 13 0 20 0;
#X connect 20 0 26 0;
#X connect 21 0 27 0;
#X connect 24 0 28 0;
#X connect 26 0 4 0;
#X connect 27 0 22 0;
#X connect 28 0 2 0;