aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/13.recursion/04.binary_tree.pd
diff options
context:
space:
mode:
Diffstat (limited to 'Gem/examples/13.recursion/04.binary_tree.pd')
-rw-r--r--Gem/examples/13.recursion/04.binary_tree.pd168
1 files changed, 90 insertions, 78 deletions
diff --git a/Gem/examples/13.recursion/04.binary_tree.pd b/Gem/examples/13.recursion/04.binary_tree.pd
index 01dcd99..89cf3d8 100644
--- a/Gem/examples/13.recursion/04.binary_tree.pd
+++ b/Gem/examples/13.recursion/04.binary_tree.pd
@@ -1,4 +1,4 @@
-#N canvas 6 61 602 516 10;
+#N canvas 6 61 602 553 10;
#X declare -lib Gem;
#X obj 14 66 gemwin;
#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
@@ -9,92 +9,104 @@
#X text 170 17 A tutorial on recursion in Gem;
#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claude@mathr.co.uk>
;
-#X obj 24 163 r \$0-recurse;
-#X obj 68 133 v \$0-depth;
-#X obj 14 113 t a b;
-#X floatatom 91 96 5 0 0 2 max-depth - -;
-#X obj 14 253 t a a;
-#X obj 59 253 circle;
-#X obj 14 223 separator;
-#X obj 36 473 s \$0-recurse;
-#X obj 14 353 t b a b;
-#X obj 99 383 v \$0-depth;
-#X obj 99 403 - 1;
-#X obj 99 423 max 0;
+#X obj 24 233 r \$0-recurse;
+#X obj 88 213 v \$0-depth;
+#X obj 14 193 t a b;
+#X floatatom 111 176 5 0 17 2 max-depth - -;
+#X obj 14 293 t a a;
+#X obj 14 273 separator;
+#X obj 36 533 s \$0-recurse;
+#X obj 14 413 t b a b;
#X obj 99 443 v \$0-depth;
-#X obj 36 453 spigot;
-#X obj 14 383 v \$0-depth;
-#X obj 14 423 v \$0-depth;
-#X obj 14 403 + 1;
-#X obj 184 253 t a a;
-#X obj 229 253 circle;
-#X obj 206 473 s \$0-recurse;
-#X obj 184 353 t b a b;
-#X obj 269 383 v \$0-depth;
-#X obj 269 403 - 1;
-#X obj 269 423 max 0;
+#X obj 99 463 - 1;
+#X obj 99 483 max 0;
+#X obj 116 533 v \$0-depth;
+#X obj 36 513 spigot;
+#X obj 14 443 v \$0-depth;
+#X obj 14 483 v \$0-depth;
+#X obj 14 463 + 1;
+#X obj 184 293 t a a;
+#X obj 206 533 s \$0-recurse;
+#X obj 184 413 t b a b;
#X obj 269 443 v \$0-depth;
-#X obj 206 453 spigot;
-#X obj 184 383 v \$0-depth;
-#X obj 184 423 v \$0-depth;
-#X obj 184 403 + 1;
-#X obj 184 223 separator;
-#X obj 14 183 t a a;
-#X obj 184 303 translate 1.5 0 1 0;
-#X obj 184 323 scale 0.5;
-#X obj 14 323 scale 0.5;
-#X obj 14 303 translate 1.5 0 1 0;
-#X obj 14 283 rotate -30 0 0 1;
-#X obj 184 283 rotate 30 0 0 1;
-#X obj 68 113 f 4;
-#X text 170 77 The simplest recursive branching structure is one that
+#X obj 269 463 - 1;
+#X obj 269 483 max 0;
+#X obj 286 533 v \$0-depth;
+#X obj 206 513 spigot;
+#X obj 184 443 v \$0-depth;
+#X obj 184 483 v \$0-depth;
+#X obj 184 463 + 1;
+#X obj 184 273 separator;
+#X obj 14 253 t a a;
+#X obj 184 363 translate 1.5 0 1 0;
+#X obj 14 363 translate 1.5 0 1 0;
+#X obj 14 343 rotate -30 0 0 1;
+#X obj 184 343 rotate 30 0 0 1;
+#X obj 88 193 f 4;
+#X text 211 77 The simplest recursive branching structure is one that
splits into two at each branch. Essentially what we are creating is
a circle \, plus two transformed copies of the whole structure \, limited
to a maximums depth of recursion.;
-#X text 170 137 Be careful not to increase the max-depth too much:
+#X text 211 137 Be careful not to increase the max-depth too much:
the splitting at each recursion leads to an exponential increase in
the number of circles to be drawn.;
#X obj 497 15 declare -lib Gem;
+#X obj 259 506 t a a;
+#X obj 89 506 t a a;
+#X obj 14 135 scale 0.4 0.4 1;
+#X obj 14 383 scale 0.95 0.95 1;
+#X obj 184 383 scale 0.95 0.95 1;
+#X obj 259 316 circle;
+#X obj 59 316 circle;
+#X obj 59 293 color 1 0 0;
+#X obj 259 293 color 0 0 1;
+#X obj 14 114 translateXYZ 2 -1 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
-#X connect 4 0 9 0;
-#X connect 7 0 37 0;
-#X connect 9 0 37 0;
-#X connect 9 1 44 0;
-#X connect 10 0 44 1;
-#X connect 11 0 42 0;
-#X connect 11 1 12 0;
-#X connect 13 0 11 0;
-#X connect 15 0 21 0;
-#X connect 15 1 20 0;
-#X connect 15 2 16 0;
+#X connect 4 0 53 0;
+#X connect 7 0 35 0;
+#X connect 9 0 35 0;
+#X connect 9 1 40 0;
+#X connect 10 0 40 1;
+#X connect 11 0 38 0;
+#X connect 11 1 51 0;
+#X connect 12 0 11 0;
+#X connect 14 0 20 0;
+#X connect 14 1 19 0;
+#X connect 14 2 15 0;
+#X connect 15 0 16 0;
#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 18 0 20 1;
-#X connect 20 0 14 0;
-#X connect 21 0 23 0;
-#X connect 23 0 22 0;
-#X connect 24 0 43 0;
-#X connect 24 1 25 0;
-#X connect 27 0 33 0;
-#X connect 27 1 32 0;
-#X connect 27 2 28 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 30 0 32 1;
-#X connect 32 0 26 0;
-#X connect 33 0 35 0;
-#X connect 35 0 34 0;
-#X connect 36 0 24 0;
-#X connect 37 0 13 0;
-#X connect 37 1 36 0;
-#X connect 38 0 39 0;
-#X connect 39 0 27 0;
-#X connect 40 0 15 0;
-#X connect 41 0 40 0;
-#X connect 42 0 41 0;
-#X connect 43 0 38 0;
-#X connect 44 0 8 0;
+#X connect 17 0 45 0;
+#X connect 19 0 13 0;
+#X connect 20 0 22 0;
+#X connect 22 0 21 0;
+#X connect 23 0 39 0;
+#X connect 23 1 52 0;
+#X connect 25 0 31 0;
+#X connect 25 1 30 0;
+#X connect 25 2 26 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 44 0;
+#X connect 30 0 24 0;
+#X connect 31 0 33 0;
+#X connect 33 0 32 0;
+#X connect 34 0 23 0;
+#X connect 35 0 12 0;
+#X connect 35 1 34 0;
+#X connect 36 0 48 0;
+#X connect 37 0 47 0;
+#X connect 38 0 37 0;
+#X connect 39 0 36 0;
+#X connect 40 0 8 0;
+#X connect 44 0 30 1;
+#X connect 44 1 29 0;
+#X connect 45 0 19 1;
+#X connect 45 1 18 0;
+#X connect 46 0 9 0;
+#X connect 47 0 14 0;
+#X connect 48 0 25 0;
+#X connect 51 0 50 0;
+#X connect 52 0 49 0;
+#X connect 53 0 46 0;