hello,
somes peoples ask me the patchs of this morning presentation regarding
implementation of L-system in GEM.
here they are.
I hope they can be understood by peoples that were not on this presentation.
Cyrille
#N canvas 0 0 445 503 10;
#X obj 23 87 gemhead;
#X obj 23 164 separator;
#X obj 23 111 t a b;
#X msg 120 152 seed 1;
#X obj 23 328 translateXYZ;
#X obj 23 353 circle 0.1;
#X obj 23 57 gemwin;
#X msg 23 34 create \, 1;
#X obj 23 141 repeat 100;
#X obj 120 237 random 200;
#X obj 191 237 random 200;
#X obj 120 259 - 100;
#X obj 191 260 - 100;
#X obj 191 281 / 30;
#X obj 120 280 / 30;
#X msg 191 152 seed 2;
#X text 24 436 You nead "repeat" object from Zexy.;
#X obj 23 193 t a b b;
#X text 25 387 This patch show how to draw many time the same primitive
with the same gemhead. Separator is nedeed.;
#X connect 0 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 8 0;
#X connect 2 1 3 0;
#X connect 2 1 15 0;
#X connect 3 0 9 0;
#X connect 4 0 5 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 9 0 11 0;
#X connect 10 0 12 0;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 13 0 4 2;
#X connect 14 0 4 1;
#X connect 15 0 10 0;
#X connect 17 0 4 0;
#X connect 17 1 9 0;
#X connect 17 1 10 0;
#N canvas 595 90 328 317 10;
#X obj 19 85 gemhead;
#X obj 19 212 rotateXYZ 0 0 12;
#X obj 19 135 scaleXYZ 0.97 0.9 1;
#X obj 20 57 gemwin;
#X msg 20 34 create \, 1;
#X obj 19 110 repeat 40;
#X obj 19 162 translateXYZ 0.5 0 0;
#X obj 19 237 circle 0.2;
#X floatatom 110 188 5 0 0 0 - - -;
#X text 19 267 Iterative processing zexy's "repeat" object;
#X connect 0 0 5 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 1 0;
#X connect 8 0 1 3;
#N canvas 638 29 496 743 10;
#X obj 15 16 gemhead;
#X obj 15 389 any;
#X obj 37 389 any;
#X obj 59 389 any;
#X obj 81 487 GEMglPushMatrix;
#X obj 103 507 GEMglPopMatrix;
#X obj 81 389 any;
#X obj 103 389 any;
#X floatatom 206 523 5 0 0 0 - - -;
#X obj 15 63 rotateXYZ 0 0 90;
#X floatatom 128 424 5 0 0 0 - - -;
#X floatatom 156 446 5 0 0 0 - - -;
#X obj 15 338 route F + - [ ];
#X obj 37 362 t b;
#X obj 59 362 t b;
#X obj 81 362 t b;
#X obj 103 362 t b;
#X obj 209 25 gemhead;
#X obj 209 51 world_light;
#X obj 15 362 t b;
#X obj 15 607 translateXYZ 0.05 0 0;
#X obj 15 150 route F;
#X msg 15 174 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
F;
#X text 241 173 <- rule 1;
#X obj 15 197 route F;
#X msg 15 221 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
F;
#X obj 15 245 route F;
#X msg 15 269 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
F;
#X text 242 219 <- rule 2;
#X text 241 267 <- rule 3;
#X msg 209 76 create \, 1 \, lighting 1;
#X obj 209 99 gemwin;
#X msg 15 124 F;
#X obj 15 99 t b a;
#X obj 15 558 translateXYZ 0.05 0 0;
#X obj 15 583 rectangle 0.1 0.01;
#X obj 15 41 translateXYZ 0 -3 0;
#X obj 37 447 rotateXYZ 0 0 50;
#X obj 59 467 rotateXYZ 0 0 -40;
#X obj 206 542 / 100;
#X msg 206 500 10;
#X obj 206 477 loadbang;
#X text 206 432 <- try this;
#X text 123 337 <- create the primitive according to the Lsystem;
#X text 240 286 The rules creates a Lsystem;
#X text 14 643 This is a basic implementation of Lindenmayer System
(LSystem) in GEM. Google is the bast place for informations about Lsystem.
;
#X text 137 389 <- Store the pointer send by gemhead and distribut
it to the coresponding primitives;
#X text 250 523 <- size of the system;
#X connect 0 0 36 0;
#X connect 1 0 34 0;
#X connect 2 0 37 0;
#X connect 3 0 38 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 39 0;
#X connect 9 0 33 0;
#X connect 10 0 37 3;
#X connect 11 0 38 3;
#X connect 12 0 19 0;
#X connect 12 1 13 0;
#X connect 12 2 14 0;
#X connect 12 3 15 0;
#X connect 12 4 16 0;
#X connect 13 0 2 0;
#X connect 14 0 3 0;
#X connect 15 0 6 0;
#X connect 16 0 7 0;
#X connect 17 0 18 0;
#X connect 19 0 1 0;
#X connect 21 0 22 0;
#X connect 21 1 24 0;
#X connect 22 0 24 0;
#X connect 24 0 25 0;
#X connect 24 1 26 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 26 1 12 0;
#X connect 27 0 12 0;
#X connect 30 0 31 0;
#X connect 32 0 21 0;
#X connect 33 0 32 0;
#X connect 33 1 1 1;
#X connect 33 1 2 1;
#X connect 33 1 3 1;
#X connect 33 1 6 1;
#X connect 33 1 7 1;
#X connect 34 0 35 0;
#X connect 35 0 20 0;
#X connect 36 0 9 0;
#X connect 39 0 20 1;
#X connect 39 0 34 1;
#X connect 39 0 35 1;
#X connect 40 0 8 0;
#X connect 41 0 40 0;
#N canvas 561 190 503 642 10;
#X obj 37 108 gemhead;
#N canvas 0 0 558 408 + 0;
#X obj 29 20 inlet;
#X obj 28 69 translateXYZ 0 0 0;
#X obj 29 46 rotateXYZ 0 0 30;
#X obj 105 19 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 3;
#X restore 68 472 pd +;
#N canvas 0 0 554 404 - 0;
#X obj 29 20 inlet;
#X obj 28 69 translateXYZ 0 0 0;
#X obj 29 46 rotateXYZ 0 0 -30;
#X obj 132 18 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 3;
#X restore 92 494 pd -;
#X obj 37 351 any;
#X obj 68 351 any;
#X obj 92 351 any;
#X obj 118 518 GEMglPushMatrix;
#X obj 146 545 GEMglPopMatrix;
#X obj 118 352 any;
#X obj 146 352 any;
#X floatatom 214 282 5 0 0 0 - - -;
#X obj 37 156 rotateXYZ 0 0 90;
#X floatatom 260 431 5 0 0 0 - - -;
#X obj 231 363 line;
#X floatatom 231 320 5 0 0 0 - - -;
#X msg 231 340 \$1 100;
#X floatatom 241 387 5 0 0 0 - - -;
#X msg 231 300 0.2;
#X obj 37 232 rule;
#N canvas 189 124 601 813 F 0;
#X obj 28 20 inlet;
#X obj 284 140 inlet;
#X obj 28 261 translateXYZ 0.05 0 0;
#X obj 28 288 rotateXYZ;
#X obj 337 143 inlet;
#X obj 385 146 inlet;
#X obj 28 189 rotateXYZ 0 90 0;
#X obj 28 238 rotateXYZ 0 -90 0;
#X obj 34 562 rotateXYZ;
#X obj 28 93 t a b;
#X obj 170 386 random 1000;
#X obj 170 465 *;
#X obj 248 387 random 1000;
#X msg 170 361 seed \$1;
#X obj 248 338 + 1;
#X msg 248 362 seed \$1;
#X obj 248 468 *;
#X obj 78 385 random 1000;
#X obj 78 331 r rand_seed;
#X obj 117 430 r rand;
#X obj 78 461 *;
#X msg 78 357 seed \$1;
#X obj 170 335 + 1;
#X obj 78 410 - 500;
#X obj 170 412 - 500;
#X obj 248 412 - 500;
#X obj 106 19 inlet;
#X obj 106 48 unpack f f;
#X text 175 46 size \, order;
#X obj 116 73 - 1;
#X obj 74 78 / 300;
#X obj 114 128 / 300;
#X obj 74 502 *;
#X obj 165 505 *;
#X obj 243 504 *;
#X obj 317 440 + 1;
#X obj 34 588 spigot;
#X msg 190 572 1;
#X msg 217 576 0;
#X obj 34 612 color 0 1 0;
#X obj 28 161 color 0.6 0.6 0.6;
#X obj 34 635 scaleXYZ 1 0.33 0.1;
#X obj 34 683 scaleXYZ 1 3 10;
#X obj 34 659 sphere 0.05;
#X obj 197 542 sel 1;
#X obj 111 99 max 1;
#X obj 28 214 tube 0.02 0.02 1 10;
#X connect 0 0 9 0;
#X connect 1 0 2 1;
#X connect 1 0 46 3;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 3 3;
#X connect 5 0 3 1;
#X connect 6 0 46 0;
#X connect 7 0 2 0;
#X connect 8 0 36 0;
#X connect 9 0 40 0;
#X connect 9 1 10 0;
#X connect 9 1 17 0;
#X connect 9 1 12 0;
#X connect 10 0 24 0;
#X connect 11 0 33 0;
#X connect 12 0 25 0;
#X connect 13 0 10 0;
#X connect 14 0 15 0;
#X connect 15 0 12 0;
#X connect 16 0 34 0;
#X connect 17 0 23 0;
#X connect 18 0 21 0;
#X connect 18 0 22 0;
#X connect 19 0 20 1;
#X connect 19 0 11 1;
#X connect 19 0 16 1;
#X connect 20 0 32 0;
#X connect 21 0 17 0;
#X connect 22 0 13 0;
#X connect 22 0 14 0;
#X connect 23 0 20 0;
#X connect 24 0 11 0;
#X connect 25 0 16 0;
#X connect 26 0 27 0;
#X connect 27 0 29 0;
#X connect 27 0 30 0;
#X connect 27 1 35 0;
#X connect 27 1 44 0;
#X connect 29 0 45 0;
#X connect 30 0 46 1;
#X connect 31 0 46 2;
#X connect 32 0 8 1;
#X connect 33 0 8 2;
#X connect 34 0 8 3;
#X connect 35 0 34 1;
#X connect 35 0 33 1;
#X connect 35 0 32 1;
#X connect 36 0 39 0;
#X connect 37 0 36 1;
#X connect 38 0 36 1;
#X connect 39 0 41 0;
#X connect 40 0 6 0;
#X connect 41 0 43 0;
#X connect 43 0 42 0;
#X connect 44 0 37 0;
#X connect 44 1 38 0;
#X connect 45 0 31 0;
#X connect 46 0 7 0;
#X restore 37 446 pd F ---------;
#X obj 37 182 t b a b;
#X obj 111 226 s rand_seed;
#X obj 223 170 s rand;
#X obj 223 148 / 1000;
#X floatatom 223 130 5 0 0 0 - - -;
#X floatatom 309 457 5 0 0 0 - - -;
#X obj 37 298 route F + - [ ];
#X obj 68 323 t b;
#X obj 92 323 t b;
#X obj 118 323 t b;
#X obj 146 324 t b;
#X obj 37 323 t b l;
#X msg 37 207 F 1 0;
#X msg 260 409 30;
#X msg 309 434 -30;
#X obj 37 275 rule;
#X obj 37 254 rule;
#X msg 214 259 0.24;
#X obj 37 133 translateXYZ 1 -3 0;
#X msg 111 205 15;
#X obj 38 11 gemhead;
#X obj 38 33 world_light;
#X msg 223 107 -34;
#X obj 214 231 loadbang;
#X obj 223 84 loadbang;
#X obj 38 82 gemwin;
#X msg 38 57 create \, 1 \, lighting 1;
#X text 43 594 same exemple as the previus one \, but with some random.
;
#X text 42 616 you nead a good graphyc card to load that patch.;
#X connect 0 0 38 0;
#X connect 3 0 19 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 8 0 6 0;
#X connect 9 0 7 0;
#X connect 10 0 19 2;
#X connect 11 0 20 0;
#X connect 12 0 1 1;
#X connect 13 0 19 3;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 19 4;
#X connect 17 0 14 0;
#X connect 18 0 36 0;
#X connect 20 0 32 0;
#X connect 20 1 3 1;
#X connect 20 1 4 1;
#X connect 20 1 5 1;
#X connect 20 1 8 1;
#X connect 20 1 9 1;
#X connect 20 2 39 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 25 0 2 1;
#X connect 26 0 31 0;
#X connect 26 1 27 0;
#X connect 26 2 28 0;
#X connect 26 3 29 0;
#X connect 26 4 30 0;
#X connect 27 0 4 0;
#X connect 28 0 5 0;
#X connect 29 0 8 0;
#X connect 30 0 9 0;
#X connect 31 0 3 0;
#X connect 31 1 19 1;
#X connect 32 0 18 0;
#X connect 33 0 12 0;
#X connect 34 0 25 0;
#X connect 35 0 26 0;
#X connect 36 0 35 0;
#X connect 37 0 10 0;
#X connect 38 0 11 0;
#X connect 39 0 21 0;
#X connect 40 0 41 0;
#X connect 42 0 24 0;
#X connect 43 0 37 0;
#X connect 43 0 17 0;
#X connect 44 0 42 0;
#X connect 46 0 45 0;
#N canvas 690 233 571 618 10;
#X obj 31 74 gemhead;
#N canvas 0 0 574 424 + 0;
#X obj 29 20 inlet;
#X obj 120 19 inlet;
#X obj 29 46 rotateXYZ 50 0 0;
#X connect 0 0 2 0;
#X connect 1 0 2 3;
#X restore 78 467 pd +;
#N canvas 0 0 566 416 - 0;
#X obj 29 20 inlet;
#X obj 126 18 inlet;
#X obj 29 46 rotateXYZ -30 0 0;
#X connect 0 0 2 0;
#X connect 1 0 2 3;
#X restore 101 489 pd -;
#X obj 43 414 any;
#X obj 78 414 any;
#X obj 101 414 any;
#X obj 124 511 GEMglPushMatrix;
#X obj 147 532 GEMglPopMatrix;
#X obj 124 414 any;
#X obj 147 414 any;
#N canvas 76 16 590 790 F 0;
#X obj 30 20 inlet;
#X obj 30 45 t a b;
#X obj 175 18 inlet;
#X obj 30 278 translateXYZ 0 0 0;
#X msg 465 109 0.1;
#X obj 30 220 rotateXYZ;
#X obj 30 305 rotateXYZ;
#X obj 216 182 * 0.03;
#X text 263 19 size \, order \, random \, random;
#X floatatom 367 133 5 0 0 0 - - -;
#X floatatom 234 79 5 0 0 0 - - -;
#X obj 175 97 + 1;
#X obj 30 195 color 0.5 0.3 0.12;
#X obj 175 132 / 100;
#X obj 213 159 / 100;
#X obj 30 331 spigot;
#X msg 191 293 1;
#X msg 232 295 0;
#X obj 30 694 color 0 1 0;
#X obj 191 270 sel 1;
#X obj 214 132 + 0;
#X obj 175 47 unpack f f f f;
#X obj 393 58 inlet;
#X obj 314 125 *;
#X obj 313 103 + 1;
#X floatatom 327 50 5 0 0 0 - - -;
#X obj 30 625 rotateXYZ;
#X obj 30 600 GEMglPushMatrix;
#X obj 30 742 GEMglPopMatrix;
#X obj 30 432 t a b;
#X obj 30 378 t a b;
#X obj 30 648 translateXYZ;
#X obj 444 510 random 100;
#X obj 444 537 - 50;
#X obj 444 563 / 100;
#X msg 139 433 seed 23;
#X msg 163 463 seed 34;
#X msg 192 486 seed 43;
#X msg 281 450 seed 65;
#X msg 305 472 seed 2;
#X msg 324 498 seed 53;
#X obj 30 717 square 0.04;
#X obj 30 671 rotateXYZ;
#X obj 140 508 random 150;
#X obj 163 532 random 150;
#X obj 191 558 random 150;
#X obj 277 520 random 110;
#X obj 304 545 random 110;
#X obj 325 571 random 110;
#X obj 309 72 * 20;
#X obj 30 406 repeat 30;
#X msg 444 484 seed 8;
#X obj 30 251 tube 0.02 0.02 1 10;
#X obj 465 82 loadbang;
#X connect 0 0 1 0;
#X connect 1 0 12 0;
#X connect 2 0 21 0;
#X connect 3 0 6 0;
#X connect 4 0 3 3;
#X connect 4 0 52 3;
#X connect 5 0 52 0;
#X connect 6 0 15 0;
#X connect 7 0 6 2;
#X connect 7 0 52 9;
#X connect 9 0 7 1;
#X connect 10 0 13 1;
#X connect 10 0 14 1;
#X connect 11 0 13 0;
#X connect 12 0 5 0;
#X connect 13 0 52 1;
#X connect 14 0 52 2;
#X connect 15 0 30 0;
#X connect 16 0 15 1;
#X connect 17 0 15 1;
#X connect 18 0 41 0;
#X connect 19 0 16 0;
#X connect 19 1 17 0;
#X connect 20 0 14 0;
#X connect 21 0 11 0;
#X connect 21 0 19 0;
#X connect 21 0 20 0;
#X connect 21 2 5 3;
#X connect 21 2 7 0;
#X connect 21 3 49 0;
#X connect 22 0 23 1;
#X connect 23 0 3 3;
#X connect 23 0 52 3;
#X connect 24 0 23 0;
#X connect 25 0 49 1;
#X connect 26 0 31 0;
#X connect 27 0 26 0;
#X connect 29 0 27 0;
#X connect 29 1 32 0;
#X connect 29 1 43 0;
#X connect 29 1 44 0;
#X connect 29 1 45 0;
#X connect 29 1 46 0;
#X connect 29 1 47 0;
#X connect 29 1 48 0;
#X connect 30 0 50 0;
#X connect 30 1 35 0;
#X connect 30 1 36 0;
#X connect 30 1 37 0;
#X connect 30 1 38 0;
#X connect 30 1 39 0;
#X connect 30 1 40 0;
#X connect 30 1 51 0;
#X connect 31 0 42 0;
#X connect 32 0 33 0;
#X connect 33 0 34 0;
#X connect 34 0 31 3;
#X connect 35 0 43 0;
#X connect 36 0 44 0;
#X connect 37 0 45 0;
#X connect 38 0 46 0;
#X connect 39 0 47 0;
#X connect 40 0 48 0;
#X connect 41 0 28 0;
#X connect 42 0 18 0;
#X connect 43 0 26 1;
#X connect 44 0 26 2;
#X connect 45 0 26 3;
#X connect 46 0 42 1;
#X connect 47 0 42 2;
#X connect 48 0 42 3;
#X connect 49 0 24 0;
#X connect 50 0 29 0;
#X connect 51 0 32 0;
#X connect 52 0 3 0;
#X connect 53 0 4 0;
#X restore 43 446 pd F ---------;
#X obj 43 362 route F + - [ ];
#X obj 78 391 t b;
#X obj 101 391 t b;
#X obj 124 391 t b;
#X obj 147 391 t b;
#X obj 43 391 t b l;
#N canvas 26 154 526 376 L_system 0;
#X obj 24 11 inlet;
#X msg 26 41 \; 1000-Ls F 8 0 309 -0.0012 \; 1000-Ls [ \; 1000-Ls -
\; 1000-Ls F 1 3 250 -0.008 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls +
\; 1000-Ls F 1 3 245 -0.0046 \; 1000-Ls ] \; 1000-Ls F 7 0 254 0.005
\; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 2 2 211 0.0066 \; 1000-Ls [
\; 1000-Ls - \; 1000-Ls F 1 3 154 -0.0078 \; 1000-Ls ] \; 1000-Ls [
\; 1000-Ls + \; 1000-Ls F 1 3 318 0.0078 \; 1000-Ls ] \; 1000-Ls F
1 2 204 -0.0054 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F
2 2 124 -0.0058 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 328 -0.0098
\; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 175 -0.0046
\; 1000-Ls ] \; 1000-Ls F 1 2 51 0 \; 1000-Ls ] \; 1000-Ls F 6 0 276
-0.007 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 98 -0.0062 \; 1000-Ls
] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 60 -0.0096 \; 1000-Ls
] \; 1000-Ls F 5 0 88 0.0022 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F
4 1 233 0.0064 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 50 0.0082
\; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 4 -0.0004 \;
1000-Ls ] \; 1000-Ls F 3 1 201 0.0046 \; 1000-Ls [ \; 1000-Ls - \;
1000-Ls F 2 2 240 -0.0008 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1
3 223 -0.0092 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1
3 267 0.0038 \; 1000-Ls ] \; 1000-Ls F 1 2 40 -0.0028 \; 1000-Ls ]
\; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 2 2 49 0.008 \; 1000-Ls [ \;
1000-Ls - \; 1000-Ls F 1 3 103 0.0062 \; 1000-Ls ] \; 1000-Ls [ \;
1000-Ls + \; 1000-Ls F 1 3 338 -0.0026 \; 1000-Ls ] \; 1000-Ls F 1
2 279 0.0024 \; 1000-Ls ] \; 1000-Ls F 2 1 264 -0.0098 \; 1000-Ls [
\; 1000-Ls - \; 1000-Ls F 1 3 61 0 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls
+ \; 1000-Ls F 1 3 109 0.0084 \; 1000-Ls ] \; 1000-Ls F 1 1 262 -0.0016
\; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 4 1 81 -0.0058
\; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 263 -0.0052 \; 1000-Ls ]
\; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 310 -0.0024 \; 1000-Ls ]
\; 1000-Ls F 3 1 346 0.0054 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F
2 2 77 0.0084 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 307 0.0038
\; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 77 -0.001 \;
1000-Ls ] \; 1000-Ls F 1 2 269 0.0084 \; 1000-Ls ] \; 1000-Ls [ \;
1000-Ls + \; 1000-Ls F 2 2 309 -0.0082 \; 1000-Ls [ \; 1000-Ls - \;
1000-Ls F 1 3 296 0.0058 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \;
1000-Ls F 1 3 278 -0.0014 \; 1000-Ls ] \; 1000-Ls F 1 2 48 0.0036 \;
1000-Ls ] \; 1000-Ls F 2 1 225 0.003 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls
F 1 3 115 0 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3
355 -0.005 \; 1000-Ls ] \; 1000-Ls F 1 1 152 0.0022 \; 1000-Ls ] \;
1000-Ls F 4 0 5 -0.01 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 140
0.001 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 210 -0.0018
\; 1000-Ls ] \; 1000-Ls F 3 0 236 -0.0048 \; 1000-Ls [ \; 1000-Ls -
\; 1000-Ls F 2 2 102 0 \; 1000-Ls [ \; 1000-Ls - \; 1000-Ls F 1 3 158
-0.0074 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls F 1 3 288
-0.0098 \; 1000-Ls ] \; 1000-Ls F 1 2 37 -0.0014 \; 1000-Ls ] \; 1000-Ls
[ \; 1000-Ls + \; 1000-Ls F 2 2 74 0.0092 \; 1000-Ls [ \; 1000-Ls -
\; 1000-Ls F 1 3 79 0.0034 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \;
1000-Ls F 1 3 222 0.0038 \; 1000-Ls ] \; 1000-Ls F 1 2 266 -0.003 \;
1000-Ls ] \; 1000-Ls F 2 0 280 -0.0076 \; 1000-Ls [ \; 1000-Ls - \;
1000-Ls F 1 3 291 0.001 \; 1000-Ls ] \; 1000-Ls [ \; 1000-Ls + \; 1000-Ls
F 1 3 358 0.0028 \; 1000-Ls ] \; 1000-Ls F 1 0 265 0.0094 \;;
#X connect 0 0 1 0;
#X restore 31 251 pd L_system;
#X obj 31 151 t b a;
#X obj 31 125 rotateXYZ -90 0 90;
#X floatatom 199 414 5 0 0 0 - - -;
#X msg 199 389 0.7;
#X obj 168 46 t b b;
#X obj 168 23 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 193 208 set \, add \,;
#N canvas 0 0 526 376 random 0;
#X obj 41 17 inlet;
#X obj 40 262 outlet;
#X obj 41 43 route F;
#X obj 41 92 unpack f f;
#X obj 41 66 t a b;
#X obj 80 127 random 360;
#X obj 157 129 random 100;
#X obj 157 152 - 50;
#X obj 41 206 pack f f f f;
#X msg 41 233 F \$1 \$2 \$3 \$4;
#X obj 157 179 / 5000;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 1 0;
#X connect 3 0 8 0;
#X connect 3 1 8 1;
#X connect 4 0 3 0;
#X connect 4 1 5 0;
#X connect 4 1 6 0;
#X connect 5 0 8 2;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 9 0 1 0;
#X connect 10 0 8 3;
#X restore 168 161 pd random;
#X msg 168 69 F 1 0;
#X obj 168 91 rule2 1;
#X obj 31 102 translateXYZ 0 -3 0;
#X obj 168 114 rule2 2;
#X obj 168 138 rule2 3;
#X obj 342 111 gemhead;
#X obj 342 136 world_light;
#X obj 188 21 loadbang;
#X text 132 251 <- in this exemple \, the Lsystem is geneated once
\, and store in this sub-patch;
#X obj 199 363 loadbang;
#X msg 342 181 create \, 1 \, lighting 1;
#X obj 342 206 gemwin;
#X text 254 18 <- create new tree;
#X obj 43 335 r \$0-Ls;
#X obj 168 183 prepend add \$0-Ls;
#X text 59 578 This patch nead a good graphic card;
#X connect 0 0 28 0;
#X connect 3 0 10 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 8 0 6 0;
#X connect 9 0 7 0;
#X connect 11 0 16 0;
#X connect 11 1 12 0;
#X connect 11 2 13 0;
#X connect 11 3 14 0;
#X connect 11 4 15 0;
#X connect 12 0 4 0;
#X connect 13 0 5 0;
#X connect 14 0 8 0;
#X connect 15 0 9 0;
#X connect 16 0 3 0;
#X connect 16 1 10 1;
#X connect 18 0 17 0;
#X connect 18 1 3 1;
#X connect 18 1 4 1;
#X connect 18 1 5 1;
#X connect 18 1 8 1;
#X connect 18 1 9 1;
#X connect 19 0 18 0;
#X connect 20 0 10 2;
#X connect 21 0 20 0;
#X connect 22 0 26 0;
#X connect 22 1 24 0;
#X connect 23 0 22 0;
#X connect 24 0 17 0;
#X connect 25 0 40 0;
#X connect 26 0 27 0;
#X connect 27 0 29 0;
#X connect 28 0 19 0;
#X connect 29 0 30 0;
#X connect 30 0 25 0;
#X connect 31 0 32 0;
#X connect 33 0 22 0;
#X connect 35 0 21 0;
#X connect 36 0 37 0;
#X connect 39 0 11 0;
#X connect 40 0 17 0;
#N canvas 116 405 493 423 10;
#X obj 32 17 inlet;
#X obj 69 308 outlet;
#X obj 32 43 route F;
#X obj 57 88 unpack f f;
#X obj 32 65 t b l;
#X obj 95 159 - 1;
#X obj 32 132 f;
#X text 166 211 Y \, \$1 \, 3X \, 3X-1;
#X obj 75 139 * 2;
#X obj 32 213 pack f \$1 f f;
#X msg 32 256 F \$3 \$1 \, [ \, - \, F 1 \$2 \, ] \, [ \, + \, F 1
\$2 \, ] \, F \$4 \$1;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 1 0;
#X connect 3 0 8 0;
#X connect 3 1 6 1;
#X connect 4 0 6 0;
#X connect 4 1 3 0;
#X connect 5 0 9 3;
#X connect 6 0 9 0;
#X connect 8 0 5 0;
#X connect 8 0 9 2;
#X connect 9 0 10 0;
#X connect 10 0 1 0;
#N canvas 414 159 634 536 10;
#X obj 31 22 inlet;
#X obj 25 340 outlet;
#X obj 31 48 route F;
#X obj 70 109 unpack f f;
#X obj 71 181 * 3;
#X obj 46 252 pack f f f f f;
#X obj 30 70 t b l;
#X obj 94 201 - 1;
#X obj 113 222 - 1;
#X obj 32 204 f;
#X obj 63 228 + 1;
#X obj 124 130 t f f;
#X text 165 253 Y \, Y+1 \, 3X \, 3X-1 \, 3X-2;
#X msg 44 282 F \$3 0 \, [ \, - \, F 2 0 \, F 1 1 \, ] \, F \$4 0 \,
[ \, + \, F 1 1 \, ] \, F \$5 1;
#X connect 0 0 2 0;
#X connect 2 0 6 0;
#X connect 2 1 1 0;
#X connect 3 0 4 0;
#X connect 3 1 11 0;
#X connect 4 0 5 2;
#X connect 4 0 7 0;
#X connect 5 0 13 0;
#X connect 6 0 9 0;
#X connect 6 1 3 0;
#X connect 7 0 5 3;
#X connect 7 0 8 0;
#X connect 8 0 5 4;
#X connect 9 0 5 0;
#X connect 10 0 5 1;
#X connect 11 0 9 1;
#X connect 11 1 10 0;
#X connect 13 0 1 0;