diff options
Diffstat (limited to 'tools')
28 files changed, 1233 insertions, 0 deletions
diff --git a/tools/fractal-tools.pd b/tools/fractal-tools.pd new file mode 100644 index 0000000..2170d6a --- /dev/null +++ b/tools/fractal-tools.pd @@ -0,0 +1,27 @@ +#N canvas 0 22 454 304 10; +#X obj 27 252 outlet; +#X msg 149 80 reset; +#X msg 158 101 show; +#X msg 167 122 param; +#X msg 175 143 lyapunov -100 100 1000; +#X msg 183 164 elyapunov; +#X msg 192 186 constrain; +#X msg 198 208 search; +#X obj 27 23 inlet; +#N canvas 0 22 454 304 iterator-tools 0; +#X obj 17 264 outlet; +#X text 17 19 This abstraction is intended to be used to iterate over +the parameter space. Repeatedly performs the following:; +#X text 46 65 1 'param' to set a centerpoint around which to search +; +#X text 46 80 2 'constrain <percent>' to limit the search area; +#X text 46 95 3 'search' to find a fractal within the area; +#X restore 48 53 pd iterator-tools; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; diff --git a/tools/help-attract1.pd b/tools/help-attract1.pd new file mode 100644 index 0000000..cb737b9 --- /dev/null +++ b/tools/help-attract1.pd @@ -0,0 +1,35 @@ +#N canvas 426 137 573 476 10; +#X obj 44 115 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 95 116 5 0 0 0 - - -; +#X floatatom 132 393 10 0 0 0 Y - -; +#X floatatom 44 393 10 0 0 0 X - -; +#X text 18 49 (This attractor is not continuous); +#X obj 44 132 metro 50; +#X obj 19 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 242 104 readme-fractals; +#X msg 87 245 search; +#X text 138 246 Find a random attractor set; +#X msg 98 266 show; +#X obj 44 316 attract1 0 0 -0.0239362 -0.67834 2.50703 -0.0138538 -1.44072 +2.47917; +#X msg 78 195 param -0.0239362 -0.67834 2.50703 -0.0138538 -1.44072 +2.47917; +#X text 20 18 Attract1 Attractor; +#X text 18 33 Chaos PD Externals - Copyright Michael McGonagle \, 2003 +; +#X obj 278 367 search-tools; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 11 0; +#X connect 6 0 11 0; +#X connect 8 0 11 0; +#X connect 10 0 11 0; +#X connect 11 0 3 0; +#X connect 11 1 2 0; +#X connect 11 2 15 0; +#X connect 11 3 15 1; +#X connect 11 4 15 2; +#X connect 12 0 11 0; +#X connect 15 0 11 0; diff --git a/tools/help-base.pd b/tools/help-base.pd new file mode 100644 index 0000000..bc0fd83 --- /dev/null +++ b/tools/help-base.pd @@ -0,0 +1,28 @@ +#N canvas 680 295 589 492 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X floatatom 43 332 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 20 154 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 436 18 readme-fractals; +#X text 21 19 Base Attractor; +#X obj 53 262 fractal-tools; +#X obj 43 285 base3 0.1 1.18939 2.24148; +#X msg 61 240 lyapunov 0 100 1000; +#X obj 126 320 search-tools; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 10 0; +#X connect 6 0 10 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 10 1 12 0; +#X connect 10 2 12 1; +#X connect 10 3 12 2; +#X connect 11 0 9 0; +#X connect 12 0 10 0; diff --git a/tools/help-gingerbreadman.pd b/tools/help-gingerbreadman.pd new file mode 100644 index 0000000..701b33e --- /dev/null +++ b/tools/help-gingerbreadman.pd @@ -0,0 +1,31 @@ +#N canvas 615 23 577 480 10; +#X obj 44 115 tgl 15 0 empty empty empty 0 -6 32 8 -262144 -1 -1 0 +1; +#X floatatom 95 116 5 0 0 0 - - -; +#X floatatom 131 348 10 0 0 0 Y - -; +#X floatatom 44 348 10 0 0 0 X - -; +#X text 17 48 (This attractor is not continuous); +#X obj 44 132 metro 50; +#X obj 19 131 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 242 104 readme-fractals; +#X msg 113 272 show; +#X msg 76 156 reset; +#X text 120 156 Reset to initial state from creation arguments; +#X text 19 33 Chaos PD Externals - Copyright Michael McGonagle \, 2003 +; +#X text 20 18 Gingerbreadman Attractor; +#X obj 44 316 gingerbreadman; +#X text 91 193 This fractal equation does not have any parameters \, +and thus does not allow the messages 'param' or any of the searching +functions.; +#X msg 96 235 param; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 13 0; +#X connect 6 0 13 0; +#X connect 8 0 13 0; +#X connect 9 0 13 0; +#X connect 13 0 3 0; +#X connect 13 1 2 0; +#X connect 15 0 13 0; diff --git a/tools/help-henon.pd b/tools/help-henon.pd new file mode 100644 index 0000000..87b06ce --- /dev/null +++ b/tools/help-henon.pd @@ -0,0 +1,30 @@ +#N canvas 473 208 581 484 10; +#X obj 43 81 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 82 5 0 0 0 - - -; +#X floatatom 71 372 10 0 0 0 Y - -; +#X floatatom 43 348 10 0 0 0 X - -; +#X text 18 49 (This attractor is not continuous); +#X obj 43 98 metro 50; +#X obj 18 97 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 88 209 param 1.4 0.3; +#X text 19 33 Chaos PD Externals - Copyright Ben Bogart 2002; +#X text 20 17 Henon Attractor; +#X obj 43 294 henon 1 1 1.4 0.3; +#X msg 75 176 reset; +#X text 120 176 Reset to initial state from creation arguments; +#X text 192 209 Modify parameters; +#X obj 90 318 search-tools; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 10 0; +#X connect 6 0 10 0; +#X connect 7 0 10 0; +#X connect 10 0 3 0; +#X connect 10 1 2 0; +#X connect 10 2 14 0; +#X connect 10 3 14 1; +#X connect 10 4 14 2; +#X connect 11 0 10 0; +#X connect 14 0 10 0; diff --git a/tools/help-hopalong.pd b/tools/help-hopalong.pd new file mode 100644 index 0000000..4b6433b --- /dev/null +++ b/tools/help-hopalong.pd @@ -0,0 +1,32 @@ +#N canvas 473 208 581 484 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 102 251 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X floatatom 115 419 10 0 0 0 Y - -; +#X floatatom 43 388 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X text 21 19 Hopalong Attractor; +#X msg 99 234 param -639.064 886.792 -150.226; +#X obj 43 348 hopalong 0.1 0.1 -639.064 886.792 -150.226; +#X obj 220 378 search-tools; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 4 0 14 0; +#X connect 9 0 14 0; +#X connect 10 0 14 0; +#X connect 13 0 14 0; +#X connect 14 0 6 0; +#X connect 14 1 5 0; +#X connect 14 2 15 0; +#X connect 14 3 15 1; +#X connect 14 4 15 2; +#X connect 15 0 14 0; diff --git a/tools/help-ikeda.pd b/tools/help-ikeda.pd new file mode 100644 index 0000000..b9d009c --- /dev/null +++ b/tools/help-ikeda.pd @@ -0,0 +1,33 @@ +#N canvas 23 245 569 472 10; +#X obj 44 115 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 95 116 5 0 0 0 - - -; +#X floatatom 86 379 10 0 0 0 Y - -; +#X floatatom 44 352 10 0 0 0 X - -; +#X text 18 49 (This attractor is not continuous); +#X obj 44 132 metro 50; +#X obj 19 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 92 215 param 0.4 0.9 6 1; +#X msg 92 193 param 0.4 0.8 20 1; +#X text 20 18 Ikeda Attractor; +#X text 19 33 Chaos PD Externals - Copyright Ben Bogart 2002; +#X obj 242 104 readme-fractals; +#X obj 44 316 ikeda 0.1 0.1 0.4 0.9 6 1; +#X msg 76 156 reset; +#X text 120 156 Reset to initial state from creation arguments; +#X text 226 193 Modify parameters; +#X obj 156 349 search-tools; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 12 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 8 0 12 0; +#X connect 12 0 3 0; +#X connect 12 1 2 0; +#X connect 12 2 16 0; +#X connect 12 3 16 1; +#X connect 12 4 16 2; +#X connect 13 0 12 0; +#X connect 16 0 12 0; diff --git a/tools/help-latoocarfian.pd b/tools/help-latoocarfian.pd new file mode 100644 index 0000000..ee592be --- /dev/null +++ b/tools/help-latoocarfian.pd @@ -0,0 +1,35 @@ +#N canvas 527 258 589 492 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 281 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X msg 111 243 param -0.966918 2.87988 0.756145 0.744728; +#X msg 111 264 param -2.90515 -2.03043 1.44055 0.70307; +#X floatatom 136 407 10 0 0 0 Y - -; +#X floatatom 43 367 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X obj 43 347 latoocarfian 0.1 0.1 -2.90515 -2.03043 1.44055 0.70307 +; +#X obj 283 376 search-tools; +#X connect 0 0 12 0; +#X connect 1 0 12 1; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 12 0 15 0; +#X connect 13 0 15 0; +#X connect 15 0 8 0; +#X connect 15 1 7 0; +#X connect 15 2 16 0; +#X connect 15 3 16 1; +#X connect 15 4 16 2; +#X connect 16 0 15 0; diff --git a/tools/help-latoomutalpha.pd b/tools/help-latoomutalpha.pd new file mode 100644 index 0000000..dda50f5 --- /dev/null +++ b/tools/help-latoomutalpha.pd @@ -0,0 +1,35 @@ +#N canvas 487 49 585 488 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 281 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X msg 111 243 param -0.966918 2.87988 0.756145 0.744728; +#X msg 111 264 param -2.90515 -2.03043 1.44055 0.70307; +#X floatatom 138 404 10 0 0 0 Y - -; +#X floatatom 43 367 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X obj 43 347 latoomutalpha 0.1 0.1 -2.90515 -2.03043 1.44055 0.70307 +; +#X obj 289 374 search-tools; +#X connect 0 0 12 0; +#X connect 1 0 12 1; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 12 0 15 0; +#X connect 13 0 15 0; +#X connect 15 0 8 0; +#X connect 15 1 7 0; +#X connect 15 2 16 0; +#X connect 15 3 16 1; +#X connect 15 4 16 2; +#X connect 16 0 15 0; diff --git a/tools/help-latoomutbeta.pd b/tools/help-latoomutbeta.pd new file mode 100644 index 0000000..775b542 --- /dev/null +++ b/tools/help-latoomutbeta.pd @@ -0,0 +1,35 @@ +#N canvas 527 258 585 488 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 281 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X msg 111 243 param -0.966918 2.87988 0.756145 0.744728; +#X msg 111 264 param -2.90515 -2.03043 1.44055 0.70307; +#X floatatom 136 399 10 0 0 0 Y - -; +#X floatatom 43 367 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X obj 43 347 latoomutbeta 0.1 0.1 -2.90515 -2.03043 1.44055 0.70307 +; +#X obj 283 373 search-tools; +#X connect 0 0 12 0; +#X connect 1 0 12 1; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 12 0 15 0; +#X connect 13 0 15 0; +#X connect 15 0 8 0; +#X connect 15 1 7 0; +#X connect 15 2 16 0; +#X connect 15 3 16 1; +#X connect 15 4 16 2; +#X connect 16 0 15 0; diff --git a/tools/help-latoomutgamma.pd b/tools/help-latoomutgamma.pd new file mode 100644 index 0000000..256b795 --- /dev/null +++ b/tools/help-latoomutgamma.pd @@ -0,0 +1,35 @@ +#N canvas 527 258 581 484 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 281 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X msg 111 243 param -0.966918 2.87988 0.756145 0.744728; +#X msg 111 264 param -2.90515 -2.03043 1.44055 0.70307; +#X floatatom 138 406 10 0 0 0 Y - -; +#X floatatom 43 367 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X obj 43 347 latoomutgamma 0.1 0.1 -2.90515 -2.03043 1.44055 0.70307 +; +#X obj 289 374 search-tools; +#X connect 0 0 12 0; +#X connect 1 0 12 1; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 12 0 15 0; +#X connect 13 0 15 0; +#X connect 15 0 8 0; +#X connect 15 1 7 0; +#X connect 15 2 16 0; +#X connect 15 3 16 1; +#X connect 15 4 16 2; +#X connect 16 0 15 0; diff --git a/tools/help-lorenz.pd b/tools/help-lorenz.pd new file mode 100644 index 0000000..0dc9b56 --- /dev/null +++ b/tools/help-lorenz.pd @@ -0,0 +1,32 @@ +#N canvas 683 22 577 480 10; +#X obj 43 105 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 106 5 0 0 0 - - -; +#X text 132 162 Reset To Initial Conditions; +#X floatatom 88 372 10 0 0 0 Y - -; +#X floatatom 43 350 10 0 0 0 X - -; +#X obj 43 122 metro 50; +#X obj 18 121 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 98 192 param 0.02 10 28 2.66667; +#X floatatom 133 399 10 0 0 0 Z - -; +#X text 20 18 Lorenz Attractor; +#X text 19 33 Chaos PD Externals - Copyright Ben Bogart 2002; +#X obj 20 62 readme-fractals; +#X obj 43 318 lorenz 0.1 0 0 0.02 10 28 2.66667; +#X text 275 194 Modify parameters; +#X msg 88 162 reset; +#X obj 184 345 search-tools; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 5 0 12 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 12 0 4 0; +#X connect 12 1 3 0; +#X connect 12 2 8 0; +#X connect 12 3 15 0; +#X connect 12 4 15 1; +#X connect 12 5 15 2; +#X connect 14 0 12 0; +#X connect 15 0 12 0; diff --git a/tools/help-martin-test.pd b/tools/help-martin-test.pd new file mode 100644 index 0000000..b8f294a --- /dev/null +++ b/tools/help-martin-test.pd @@ -0,0 +1,92 @@ +#N canvas 437 54 668 669 10; +#X obj 35 179 tgl 15 0 empty empty empty 0 -6 32 8 -262144 -1 -1 0 +1; +#X floatatom 86 180 5 0 0 0 - - -; +#X text 81 219 Reset To Initial Conditions; +#X text 94 261 Modify Parameters; +#X msg 80 236 reset 0.1 0.1; +#X floatatom 59 444 10 0 0 0 Y - -; +#X floatatom 32 464 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 35 196 metro 50; +#X obj 14 197 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X msg 98 307 search; +#X obj 34 392 martin; +#X msg 89 282 param 1; +#X msg 113 330 show; +#X msg 380 144 1000; +#X obj 336 202 until; +#X obj 279 384 route show search invalid; +#X obj 335 441 print search; +#X obj 279 460 print show; +#X obj 392 422 print invalid; +#X obj 449 403 print somethingelse; +#X msg 346 115 100; +#X msg 311 141 10; +#X msg 309 169 1; +#X obj 474 625 qlist; +#X msg 491 567 print; +#X msg 484 547 clear; +#X msg 474 527 rewind; +#N canvas 0 22 458 308 search 1; +#X floatatom 187 89 5 0 0 0 - - -; +#X obj 142 50 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 147 73 loop; +#X floatatom 186 15 5 0 0 0 - - -; +#X floatatom 192 31 5 0 0 0 - - -; +#X floatatom 198 47 5 0 0 0 - - -; +#X obj 31 259 outlet; +#X msg 48 167 param \$1; +#X msg 65 192 constrain 0.01; +#X obj 77 121 t b b f; +#X msg 82 218 search; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 2 1 0 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 2; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 9 1 8 0; +#X connect 9 2 7 0; +#X connect 10 0 6 0; +#X restore 45 119 pd search; +#X obj 52 146 print sit; +#X msg 136 357 lyapunov 0 10 100; +#X msg 465 504 add martin \$1 \$3 \$6; +#X connect 0 0 10 0; +#X connect 1 0 10 1; +#X connect 4 0 14 0; +#X connect 10 0 14 0; +#X connect 11 0 14 0; +#X connect 13 0 14 0; +#X connect 14 0 6 0; +#X connect 14 1 5 0; +#X connect 14 2 19 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 18 0 13 0; +#X connect 19 0 21 0; +#X connect 19 1 20 0; +#X connect 19 1 34 0; +#X connect 19 2 22 0; +#X connect 19 3 23 0; +#X connect 24 0 18 0; +#X connect 25 0 18 0; +#X connect 26 0 18 0; +#X connect 28 0 27 0; +#X connect 29 0 27 0; +#X connect 30 0 27 0; +#X connect 31 0 32 0; +#X connect 31 0 14 0; +#X connect 33 0 14 0; +#X connect 34 0 27 0; diff --git a/tools/help-martin.pd b/tools/help-martin.pd new file mode 100644 index 0000000..ef12d0d --- /dev/null +++ b/tools/help-martin.pd @@ -0,0 +1,38 @@ +#N canvas 203 283 593 496 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 32 8 -262144 -1 -1 0 +1; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 89 174 Reset To Initial Conditions; +#X text 102 216 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X floatatom 51 451 10 0 0 0 Y - -; +#X floatatom 42 427 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X obj 42 347 martin; +#X text 143 429 This fractal exhibits chaotic tendencies when A (param) +is in the vicinity of an odd multiple of PI.; +#X msg 97 237 param 3.14159; +#X text 21 19 Martin Attractor; +#X obj 68 379 search-tools; +#X obj 204 344 print vars; +#X obj 239 317 print param; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 4 0 12 0; +#X connect 9 0 12 0; +#X connect 10 0 12 0; +#X connect 12 0 6 0; +#X connect 12 1 5 0; +#X connect 12 2 16 0; +#X connect 12 3 16 1; +#X connect 12 3 17 0; +#X connect 12 4 16 2; +#X connect 12 4 18 0; +#X connect 14 0 12 0; +#X connect 16 0 12 0; diff --git a/tools/help-popcorn-test.pd b/tools/help-popcorn-test.pd new file mode 100644 index 0000000..cbfdc4b --- /dev/null +++ b/tools/help-popcorn-test.pd @@ -0,0 +1,62 @@ +#N canvas 575 260 589 492 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 160 8 -262144 -1 -1 0 +1; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 79 201 Reset To Initial Conditions; +#X text 99 246 Modify Parameters; +#X msg 76 184 reset 0.1 0.1; +#X floatatom 131 384 10 0 0 0 Y - -; +#X floatatom 43 384 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 21 19 Latoocarfian Attractor (from Cliff Pickover); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 13 150 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X msg 101 266 search; +#X obj 212 381 print; +#X msg 113 294 show; +#X msg 95 226 param 2.35155; +#X obj 43 347 popcorn 0.1 0 2.35155; +#N canvas 83 103 466 316 search 1; +#X floatatom 187 89 5 0 0 0 - - -; +#X obj 142 50 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 147 73 loop; +#X floatatom 186 15 5 0 0 0 - - -; +#X floatatom 192 31 5 0 0 0 - - -; +#X floatatom 198 47 5 0 0 0 - - -; +#X obj 31 259 outlet; +#X msg 48 167 param \$1; +#X obj 77 121 t b b f; +#X msg 82 218 search; +#X msg 65 192 constrain 0.001; +#X connect 1 0 2 0; +#X connect 2 0 8 0; +#X connect 2 1 0 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 2; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 8 2 7 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#X restore 229 286 pd search; +#X obj 236 313 print sit; +#X connect 0 0 10 0; +#X connect 1 0 10 1; +#X connect 4 0 17 0; +#X connect 10 0 17 0; +#X connect 11 0 17 0; +#X connect 13 0 17 0; +#X connect 15 0 17 0; +#X connect 16 0 17 0; +#X connect 17 0 6 0; +#X connect 17 1 5 0; +#X connect 17 2 14 0; +#X connect 18 0 19 0; +#X connect 18 0 17 0; diff --git a/tools/help-popcorn.pd b/tools/help-popcorn.pd new file mode 100644 index 0000000..119edea --- /dev/null +++ b/tools/help-popcorn.pd @@ -0,0 +1,35 @@ +#N canvas 492 119 593 496 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 79 201 Reset To Initial Conditions; +#X text 99 246 Modify Parameters; +#X msg 76 184 reset 0.1 0.1; +#X floatatom 78 398 10 0 0 0 Y - -; +#X floatatom 43 373 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 13 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X msg 95 226 param 2.35155; +#X obj 43 347 popcorn 0.1 0 2.35155; +#X text 98 441 This fractal seems to allow is sole parameter to range +over a large range. As the value of the parameter rises \, so does +the Lyapunov Exponent \, but it does not appear to be linear.; +#X text 21 19 Popcorn Attractor (from Cliff Pickover); +#X obj 126 373 search-tools; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 4 0 13 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 12 0 13 0; +#X connect 13 0 6 0; +#X connect 13 1 5 0; +#X connect 13 2 16 0; +#X connect 13 3 16 1; +#X connect 13 4 16 2; +#X connect 16 0 13 0; diff --git a/tools/help-quaruptwo-test.pd b/tools/help-quaruptwo-test.pd new file mode 100644 index 0000000..4fcc159 --- /dev/null +++ b/tools/help-quaruptwo-test.pd @@ -0,0 +1,69 @@ +#N canvas 559 82 589 492 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 160 8 -262144 -1 -1 0 +1; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 281 Modify Parameters; +#X floatatom 197 399 10 0 0 0 Y - -; +#X floatatom 43 399 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 160 8 -262144 +-1 -1; +#X obj 25 83 readme-fractals; +#X msg 117 303 search; +#X obj 327 394 print; +#X text 21 19 QuadrupTwo Attractor; +#X msg 111 243 param 0 1 2; +#X msg 177 335 show; +#X msg 88 191 reset; +#N canvas 0 22 470 320 search 0; +#X floatatom 187 89 5 0 0 0 - - -; +#X obj 142 50 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X obj 147 73 loop; +#X floatatom 186 15 5 0 0 0 - - -; +#X floatatom 192 31 5 0 0 0 - - -; +#X floatatom 198 47 5 0 0 0 - - -; +#X obj 31 259 outlet; +#X obj 77 121 t b b f; +#X msg 82 218 search; +#X msg 48 167 param 34 1 \$1; +#X msg 65 192 constrain 0.05; +#X msg 190 149 constrain; +#X msg 238 268 elyapunov; +#X msg 198 198 constrain 0 100 0 2 0 100; +#X msg 218 228 lyapunov 0 10 1000; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 2 1 0 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 2; +#X connect 7 0 8 0; +#X connect 7 2 9 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#X connect 11 0 6 0; +#X connect 12 0 6 0; +#X connect 13 0 6 0; +#X connect 14 0 6 0; +#X restore 165 96 pd search; +#X obj 172 123 print sit; +#X obj 43 363 quadruptwo 0.1 0.1 34 1 5; +#X connect 0 0 8 0; +#X connect 1 0 8 1; +#X connect 8 0 19 0; +#X connect 9 0 19 0; +#X connect 11 0 19 0; +#X connect 14 0 19 0; +#X connect 15 0 19 0; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 17 0 19 0; +#X connect 19 0 5 0; +#X connect 19 1 4 0; +#X connect 19 2 12 0; diff --git a/tools/help-quaruptwo.pd b/tools/help-quaruptwo.pd new file mode 100644 index 0000000..292b46e --- /dev/null +++ b/tools/help-quaruptwo.pd @@ -0,0 +1,32 @@ +#N canvas 527 258 585 488 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 114 263 Modify Parameters; +#X floatatom 78 414 10 0 0 0 Y - -; +#X floatatom 43 392 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X text 21 19 QuadrupTwo Attractor; +#X msg 111 243 param 0 1 2; +#X msg 88 191 reset; +#X obj 43 363 quadruptwo 0 0 34 1 5; +#X obj 126 390 search-tools; +#X connect 0 0 8 0; +#X connect 1 0 8 1; +#X connect 8 0 14 0; +#X connect 9 0 14 0; +#X connect 12 0 14 0; +#X connect 13 0 14 0; +#X connect 14 0 5 0; +#X connect 14 1 4 0; +#X connect 14 2 15 0; +#X connect 14 3 15 1; +#X connect 14 4 15 2; +#X connect 15 0 14 0; diff --git a/tools/help-standardmap.pd b/tools/help-standardmap.pd new file mode 100644 index 0000000..02fb992 --- /dev/null +++ b/tools/help-standardmap.pd @@ -0,0 +1,32 @@ +#N canvas 527 258 585 488 10; +#X obj 43 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 94 135 5 0 0 0 - - -; +#X text 91 208 Reset To Initial Conditions; +#X text 112 265 Modify Parameters; +#X msg 88 191 reset 0.1 0.1; +#X floatatom 61 452 10 0 0 0 Y - -; +#X floatatom 43 427 10 0 0 0 X - -; +#X text 19 50 (This attractor is not continuous); +#X text 20 34 Chaos PD Externals - Copyright Michael McGonagle 2003 +; +#X obj 43 151 metro 50; +#X obj 18 150 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 83 readme-fractals; +#X text 21 19 Standard Map; +#X obj 43 369 standardmap; +#X msg 110 242 param 0.89; +#X obj 70 398 search-tools; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 4 0 13 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 13 0 6 0; +#X connect 13 1 5 0; +#X connect 13 2 15 0; +#X connect 13 3 15 1; +#X connect 13 4 15 2; +#X connect 14 0 13 0; +#X connect 15 0 13 0; diff --git a/tools/loop.pd b/tools/loop.pd new file mode 100644 index 0000000..19896ab --- /dev/null +++ b/tools/loop.pd @@ -0,0 +1,43 @@ +#N canvas 640 438 490 340 10; +#X obj 52 26 inlet; +#X obj 93 26 inlet; +#X obj 134 26 inlet; +#X obj 52 262 outlet; +#X obj 52 44 route bang float; +#X obj 74 118 f; +#X obj 74 136 -; +#X obj 74 154 /; +#X obj 74 172 i; +#X obj 74 190 + 1; +#X obj 52 208 f; +#X obj 52 226 until; +#X obj 52 244 f; +#X obj 79 244 +; +#X obj 96 99 f; +#X obj 52 62 t b b b; +#X obj 130 262 outlet; +#X obj 74 81 t b f; +#X connect 0 0 4 0; +#X connect 1 0 5 1; +#X connect 2 0 13 1; +#X connect 2 0 7 1; +#X connect 4 0 15 0; +#X connect 4 1 17 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 1; +#X connect 9 0 16 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 0 3 0; +#X connect 13 0 12 1; +#X connect 14 0 12 1; +#X connect 15 0 10 0; +#X connect 15 1 5 0; +#X connect 15 2 14 0; +#X connect 17 0 5 0; +#X connect 17 1 14 1; +#X connect 17 1 6 1; diff --git a/tools/readme-frac-format.pd b/tools/readme-frac-format.pd new file mode 100644 index 0000000..950f56c --- /dev/null +++ b/tools/readme-frac-format.pd @@ -0,0 +1,22 @@ +#N canvas 171 208 685 432 10; +#X text 31 36 The format of this file is pretty simple (or tries to +be).; +#X text 55 69 Line 1: name - this is used as the 'c' identifier; +#X text 55 81 Line 2: <var_count> <param_count> - integer for each +; +#X text 55 93 Line 3-x: <name> <init> - var name and start state; +#X text 55 105 Line y-z: <name> <low> <high> <init> - param data; +#X text 55 131 Line c: '.' - file must end with a single period '.' +; +#X text 33 180 This file is used by 'gen_fractal_framework' to produce +the 'C' source for the external.; +#X text 62 225 ** - The pseudo-code must not have any spaces. Each +line in the pseudo-code is considered to be a single "assignment" statement. +There is no need to worry about creating storage for any intermediate +(calculated) variables \, as that is done by the translation program. +The pseudo-code represents variables and parameters with a '$' before +the variable name. Locals are allowed \, but are preceded with a '#'. +(Locals are used as 'intermediate' \, computed values that are not +retained from iteration to iteration.); +#X text 55 118 Line a-b: <code_fragment> - line(s) of frac 'pseudo-code' +**; diff --git a/tools/readme-fractals.pd b/tools/readme-fractals.pd new file mode 100644 index 0000000..2281c6a --- /dev/null +++ b/tools/readme-fractals.pd @@ -0,0 +1,54 @@ +#N canvas 495 74 487 362 10; +#X obj 56 202 readme-frac-format; +#X obj 56 221 readme-gen-fractal; +#X text 37 183 if you want to add new fractals:; +#X obj 56 144 readme-operation; +#X obj 56 164 readme-searching; +#X text 22 107 Additional Reading \,; +#X text 41 126 if you want to us existing fractals:; +#X obj 56 240 readme-parameter-ranges; +#X text 270 269 Developed using PD 0.36; +#X text 93 295 Copyright 2003 \, Ben Bogart and Michael McGonagle; +#X text 276 282 Released under GNU GPL; +#N canvas 302 96 575 579 available_fractals 0; +#X obj 157 264 henon; +#X obj 157 302 ikeda; +#X obj 157 321 latoocarfian; +#X obj 157 340 latoomutalpha; +#X obj 157 359 latoomutbeta; +#X obj 157 378 latoomutgamma; +#X obj 69 208 logistic; +#X obj 277 208 lorenz; +#X obj 69 227 mlogistic; +#X obj 277 246 rossler; +#X obj 157 473 standardmap; +#X obj 69 246 tent; +#X obj 277 265 three_d; +#X text 57 187 1 variable; +#X text 157 187 2 variables; +#X text 273 187 3 variables; +#X text 24 136 The remaining outputs represent the variables \, corresponding +from left to right as the variables from the '*.frac' data file.; +#X text 24 16 Below \, there is an object for each of the fractals +currently available in the ChaosII collection.; +#X text 23 55 All fractals share the same common structure \, in that +the right-most outlet is used as the "results" outlet. This is used +during the "Searching" operations to return the results of the search +to the user. see 'readme-searching' file for more info on the results +of a search.; +#X obj 157 207 attract1; +#X obj 157 226 dejong; +#X obj 157 245 gingerbreadman; +#X obj 157 283 hopalong; +#X obj 157 416 martin; +#X obj 277 227 pickover; +#X obj 157 435 popcorn; +#X obj 157 454 quadruptwo; +#X obj 157 492 strange1; +#X obj 157 511 tinkerbell; +#X obj 157 530 unity; +#X obj 157 397 lotkavolterra; +#X restore 43 78 pd available_fractals; +#X text 27 28 The Chaos Library provides a means to generate multiple +chaotic datastreams \, as well as the ability to search for new attractor +sets that produce other chaotic datastreams.; diff --git a/tools/readme-gen-fractal.pd b/tools/readme-gen-fractal.pd new file mode 100644 index 0000000..2af4657 --- /dev/null +++ b/tools/readme-gen-fractal.pd @@ -0,0 +1,6 @@ +#N canvas 0 22 478 328 10; +#X text 25 23 This will explain the usage of 'gen_fractal_framework' +\, once the program has become more "stable" and generates what would +be unique to each fractal. Currently \, there is still some redundancy +in the code.; +#X text 282 136 more later...; diff --git a/tools/readme-lyapunov.pd b/tools/readme-lyapunov.pd new file mode 100644 index 0000000..056e6bd --- /dev/null +++ b/tools/readme-lyapunov.pd @@ -0,0 +1,16 @@ +#N canvas 0 22 565 389 10; +#X text 74 61 Lyapunov Exponent; +#X text 25 82 This value is an estimate of the attractors potential +for chaos. It will not necessarily be the same for any given run using +any arbitrary fractal. The description below attempts to put "attractors" +into three catagories.; +#X text 48 262 Don't forget \, just because an "attractor" is not chaotic +\, it does not mean that it will not generate an interesting stream +of number \, if only until they converge.; +#X text 40 151 < 0; +#X text 78 151 These are not chaotic \, may produce a "short-term" +stream of intrest; +#X text 39 179 == 0; +#X text 80 179 Attractors converge to one or more points; +#X text 40 197 > 0; +#X text 80 198 Chaos begins. Higher values indicate "more" chaos.; diff --git a/tools/readme-operation.pd b/tools/readme-operation.pd new file mode 100644 index 0000000..be93969 --- /dev/null +++ b/tools/readme-operation.pd @@ -0,0 +1,34 @@ +#N canvas 159 133 675 651 10; +#X msg 56 219 reset <var-init>; +#X msg 56 240 param <param-data>; +#X text 36 280 As to the exact variable and parameter ranges to use +\, you will have to consult each fractals help file. You can also use +the "Searching" functions to randomly find a new attractor set \, and +then use those values in either a set of messages to the fractal \, +or in its creation arguments.; +#X msg 56 198 reset; +#X text 98 199 sets the variables back to their initial state **; +#X text 181 221 sets the variables to an explicit state ***; +#X text 195 242 sets parameters to explicit state ****; +#X text 34 26 Create a fractal with or without a set of variables and +parameters \, passed as creation arguments. Without the creation arguments +\, the class defaults will be used for the fractal. With the arguments +\, a new fractal is created using the arguments as the defaults.; +#X text 35 104 To use a fractal \, create the instance \, and optionally +pass it an initial state of variables and a set of parameters. Then +repeatedly 'bang' on the input to iterate thru the fractals variable +states. Using a 'reset' message will return the variables to their +initial state \, or to the explicit values passed.; +#X text 38 369 ** - The initial state can be explicitly set by passing +the arguments at creation time for the fractal \, or (without creation +arguments) the class default value will be used.; +#X text 37 414 *** - When setting the variables to an arbitrary state +\, the stream may not be in a "stable" state. You may need to iterate +the fractal several hundred (or thousand) times to obtain a "stable" +state. If you pass a set of variables that were taken from the 'search' +(or 'show') results \, the values most likely will be in a "stable" +condition.; +#X text 38 500 **** - Do remember that not all combinations of parameters +result in an attractor set.; +#X text 234 577 chaos \, version 2 by Ben Bogart and Michael McGonagle. +Copyright 2003; diff --git a/tools/readme-parameter-ranges.pd b/tools/readme-parameter-ranges.pd new file mode 100644 index 0000000..27fe5f0 --- /dev/null +++ b/tools/readme-parameter-ranges.pd @@ -0,0 +1,23 @@ +#N canvas 0 22 499 399 10; +#X text 33 275 The "classification" of an attractor set uses the full +range of the fractals acceptable parameter ranges. As this method of +"classification" is relative \, it will not describe each fractal uniquely +\, but rather can be used to compare attractor sets that have similar +(closely related) parameter values. NOTE: there needs to be a way to +increase the granularity of the classification system...; +#X text 35 21 Parameter Ranges - Once you have an operational fractal +external \, it is important to make sure that the assigned ranges for +each of the parameters are "optimized" to limit the random number generator +to those ranges. This is important when a variable can only range between +(-1 .. 1) and you have declared that it can range from (-100 .. 100). +Because of the much wider search space \, there is less likelyhood +of finding anything useful \, or at least make the search times longer +due to higher failure rates.; +#X text 35 147 If you are unsure of what the ranges are \, you can +either figure them out mathematically \, or use the "brute-force" method +and iterate over ranges of the defined parameters. The points that +return a fractal (even ones that converge) will give an indication +as to the acceptable ranges for each param. Once you have determined +those ranges \, adjust them in your '*.frac' file and re-make the external +for your fractal. (Or you can just edit the Macros in the C code \, +if you are comfortable with that.); diff --git a/tools/readme-searching.pd b/tools/readme-searching.pd new file mode 100644 index 0000000..0135779 --- /dev/null +++ b/tools/readme-searching.pd @@ -0,0 +1,101 @@ +#N canvas 39 41 1031 669 10; +#X msg 471 344 show; +#X msg 470 295 seed; +#X msg 470 314 seed number; +#X msg 469 234 elyapunov; +#X msg 467 118 constrain; +#X text 601 76 random search for an attractor; +#X text 508 345 displays info on attractor to console; +#X text 543 119 restores full param search area; +#X text 632 138 based on current params \, limits to percentage of +range; +#X msg 465 76 search <var-inits>; +#X msg 467 137 constrain <percentage>; +#X msg 467 156 constrain <param-limits>; +#X msg 468 200 lyapunov <low> <high> <failure>; +#X msg 465 57 search; +#X text 516 57 random search for an attractor \, variables use defaults +; +#X text 17 403 The search method implemented performs the following: +; +#X text 41 418 1 Set the params randomly based on allowed ranges; +#X text 41 432 2 Calculate the Lyapunov Exponent; +#X text 41 447 3 If the Lyapunov Exponent is within allowed range \, +return the attractor set; +#X text 19 39 Searching for an attractor set can be as simple as sending +a 'search' message to a fractal. This will search the fractals allowable +parameter limits for an attractor set.; +#X text 39 183 arg[1] = Lyapunov Exponent; +#X msg 469 265 classify <units>; +#X text 591 266 Used to set the "granularity" of the classification +; +#X text 17 323 The Lyapunov Exponent for the attractor set will indicates +one of three states \, (1) Convergence [a negative value] \, (2) Stability +[0 \, of values close to 0] \, and (3) Chaos [a positive value]. Each +class will have different ranges of Lyapunov Exponent.; +#X text 39 196 arg[2] = Classification String ****; +#X text 16 513 **** - The classification method was adopted from Julian +Sprott's method of classification. While it is an arbitrary system +\, and does not "uniquely" identify an attractor set \, it is used +to show a relationship with other attractor sets with similar values. +; +#X text 558 313 seeds search random number generator with number * +; +#X text 507 296 seeds search random number generator with time *; +#X text 543 235 calculates an extended Lyapunov Exponent **; +#X text 648 157 params are limited to explicit ranges ***; +#X text 473 419 * - all fractals of all classes currently share the +same random number generator.; +#X text 473 452 ** - this performs a Lyapunov Exponent calculation +for each variable in the attractor. Ideally \, all results should be +approximately the same. This is an experimental function.; +#X text 473 502 *** - expects there to be a low and high range limit +for each param in the fractal equation.; +#X text 483 217 sets search limits and failure count for Lyapunov Exponent +; +#X text 37 15 Searching - the art of chaos.; +#N canvas 0 22 464 316 simple_example 0; +#X obj 166 106 latoocarfian; +#X msg 173 38 search; +#X text 32 238 This example creates a 'latoocarfian' fractal with the +class defaults. When a search is performed \, the initial state for +the variables are set to the class defaults.; +#X obj 131 14 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X floatatom 166 211 10 0 0 0 X - -; +#X floatatom 185 194 10 0 0 1 Y - -; +#X msg 166 16 reset; +#X msg 183 61 show; +#X obj 205 173 print results; +#X obj 225 152 print vars; +#X obj 245 132 print params; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 0 2 8 0; +#X connect 0 3 9 0; +#X connect 0 4 10 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 286 18 pd simple_example; +#X text 39 210 arg[3] = failure rate before solution *****; +#X text 16 581 ***** - the failure rate is a percentage of the actual +number of failures until a solution is found over the total number +of times the search algorithm will be executed before giving up. This +limit is set via the 'lyapunov' message. This number will also be influenced +by the 'low' and 'high' ranges set.; +#X text 19 93 The values returned from a 'search' message use the 'search' +outlets. These three outlets encapsulate that three pieces of data +of interest. The first of the 'search' outlets holds a list of the +results. This includes:; +#X text 39 170 arg[0] = 'show' \, 'search' \, or 'invalid'; +#X text 18 269 Most likely \, you won't see any failures ('invalid') +\, unless you mess with the 'constrain' or 'lyapunov' messages. 'show' +is returned when you use the 'show' message.; +#X obj 153 376 readme-lyapunov; +#X text 43 475 4 If the Limit Count has been exceeded \, return 'invalid' +\, else goto 1; +#X text 18 154 Search Outlet 0:; +#X text 18 227 Search Outlet 1: list of current variables; +#X text 18 243 Search Outlet 2: list of parameter set; diff --git a/tools/search-tools.pd b/tools/search-tools.pd new file mode 100644 index 0000000..f00a011 --- /dev/null +++ b/tools/search-tools.pd @@ -0,0 +1,186 @@ +#N canvas 619 310 464 533 10; +#X obj -97 556 outlet; +#X obj -97 2 cnv 15 450 220 empty empty Searching_Commands 2 9 1 10 +-233017 -66577 0; +#X msg 104 83 constrain; +#X msg 104 104 constrain \$1; +#X text -77 104 % Constraint; +#X text -77 82 No Constraint; +#X msg 104 30 search; +#X obj 221 52 nbx 5 17 -1e+37 1e+37 0 0 \$0-search_v2 empty empty 0 +-6 1153 10 -262144 -1 -1 0 256; +#X obj 172 52 nbx 5 17 -1e+37 1e+37 0 0 \$0-search_v1 empty empty 0 +-6 1153 10 -262144 -1 -1 0 256; +#X text -78 48 Search w/ inits; +#X text -78 29 Search w/ default inits; +#X obj 86 143 bng 17 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text -76 142 Set Lyapunov Limits; +#X obj 287 143 nbx 5 17 -1e+37 1e+37 0 0 \$0-lyapunov_v3 empty failure +0 -6 1153 10 -262144 -1 -1 0 256; +#X obj 238 143 nbx 5 17 -1e+37 1e+37 0 0 \$0-lyapunov_v2 empty high +0 -6 1153 10 -262144 -1 -1 0 256; +#X obj 189 143 nbx 5 17 -1e+37 1e+37 0 0 \$0-lyapunov_v1 empty low +0 -6 1153 10 -262144 -1 -1 0 256; +#N canvas 0 22 509 236 lyapunov 0; +#X obj 42 26 inlet; +#X obj 83 26 r \$0-lyapunov_v1; +#X obj 101 61 pack f f f; +#X obj 203 27 r \$0-lyapunov_v2; +#X obj 320 27 r \$0-lyapunov_v3; +#X msg 101 84 lyapunov \$1 \$2 \$3; +#X obj 101 108 s \$0-outlet; +#X connect 0 0 2 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 2 1; +#X connect 4 0 2 2; +#X connect 5 0 6 0; +#X restore 106 143 pd lyapunov; +#X obj 86 52 bng 17 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 0 22 374 205 search 0; +#X obj 104 104 pack f f; +#X msg 104 127 search \$1 \$2; +#X obj 83 26 r \$0-search_v1; +#X obj 186 26 r \$0-search_v2; +#X obj 94 63 f; +#X obj 104 151 s \$0-outlet; +#X obj 18 26 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 2 0 4 1; +#X connect 3 0 0 1; +#X connect 4 0 0 0; +#X connect 6 0 4 0; +#X restore 104 52 pd search; +#X text -76 164 Extended Lyapunov; +#X msg 104 165 elyapunov; +#X msg 104 186 show; +#X text -75 198 Get Attractor Info; +#X obj 104 226 s \$0-outlet; +#X obj -97 535 r \$0-outlet; +#X obj -14 535 inlet; +#X obj -14 556 s \$0-inlet; +#X obj -97 226 cnv 15 450 300 empty empty Search_Results 2 9 1 10 -233017 +-66577 0; +#N canvas 48 644 700 296 get_results 0; +#X msg 5 39 set \$1; +#X obj 5 17 symbol; +#X obj 5 61 outlet; +#X obj 150 38 s \$0-lyapunov; +#X obj 190 89 s \$0-failure_rate; +#X obj 319 32 s \$0-v1; +#X obj 343 53 s \$0-v2; +#X obj 367 75 s \$0-v3; +#X obj 473 31 s \$0-p1; +#X obj 497 52 s \$0-p2; +#X obj 521 74 s \$0-p3; +#X obj 170 62 s \$0-classification; +#X obj 44 222 r \$0-classification; +#X msg 44 243 set \$1; +#X obj 44 264 outlet; +#X obj 5 -6 r \$0-inlet; +#X obj 80 117 print debug; +#X obj 131 11 unpack s 0 s 0; +#X obj 319 9 unpack 0 0 0 0 0 0; +#X obj 391 96 s \$0-v4; +#X obj 415 117 s \$0-v5; +#X obj 440 138 s \$0-v6; +#X obj 473 9 unpack 0 0 0 0 0 0; +#X obj 545 96 s \$0-p4; +#X obj 569 117 s \$0-p5; +#X obj 594 137 s \$0-p6; +#X obj 318 -12 r \$0-inlet_var; +#X obj 473 -11 r \$0-inlet_param; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 15 0 1 0; +#X connect 15 0 17 0; +#X connect 17 1 3 0; +#X connect 17 2 11 0; +#X connect 17 3 4 0; +#X connect 18 0 5 0; +#X connect 18 1 6 0; +#X connect 18 2 7 0; +#X connect 18 3 19 0; +#X connect 18 4 20 0; +#X connect 18 5 21 0; +#X connect 22 0 8 0; +#X connect 22 1 9 0; +#X connect 22 2 10 0; +#X connect 22 3 23 0; +#X connect 22 4 24 0; +#X connect 22 5 25 0; +#X connect 26 0 18 0; +#X connect 27 0 22 0; +#X restore -14 267 pd get_results; +#X msg -14 288 search; +#X msg 79 288 NOCBNS; +#X text 184 290 Classification; +#X obj 79 309 nbx 10 17 -1e+37 1e+37 0 0 empty \$0-lyapunov empty 0 +-6 577 10 -262144 -1 -1 -0.482697 256; +#X obj 79 330 nbx 10 17 -1e+37 1e+37 0 0 empty \$0-failure_rate empty +0 -6 577 10 -262144 -1 -1 0.005 256; +#X obj -14 371 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v1 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj -14 391 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v2 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj -14 411 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v3 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj 111 371 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p1 empty 0 -6 577 +10 -262144 -1 -1 0.17869 256; +#X obj 111 391 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p2 empty 0 -6 577 +10 -262144 -1 -1 0.437724 256; +#X obj 111 411 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p3 empty 0 -6 577 +10 -262144 -1 -1 -2.31304 256; +#X text 183 331 Failure Rate; +#X text 184 309 Lyapunov Exponent; +#X text 48 372 Var 1; +#X text 48 392 Var 2; +#X text 48 412 Var 3; +#X text 174 373 Param 1; +#X text 174 393 Param 2; +#X text 174 413 Param 3; +#X obj 188 164 readme-lyapunov; +#X obj 171 29 readme-searching; +#X obj -14 431 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v4 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj -14 451 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v5 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj -14 471 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-v6 empty 0 -6 577 +10 -262144 -1 -1 0 256; +#X obj 111 431 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p4 empty 0 -6 577 +10 -262144 -1 -1 -2.74459 256; +#X obj 111 451 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p5 empty 0 -6 577 +10 -262144 -1 -1 0.00541449 256; +#X obj 111 471 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-p6 empty 0 -6 577 +10 -262144 -1 -1 1.3485 256; +#X text 48 432 Var 4; +#X text 48 452 Var 5; +#X text 48 472 Var 6; +#X text 174 433 Param 4; +#X text 174 453 Param 5; +#X text 174 473 Param 6; +#X obj 62 535 inlet; +#X obj 166 535 inlet; +#X obj 62 556 s \$0-inlet_var; +#X obj 166 556 s \$0-inlet_param; +#X obj 198 104 nbx 5 17 -1e+37 1e+37 0 0 empty empty % 0 -6 1 10 -262144 +-1 -1 0 256; +#X connect 2 0 23 0; +#X connect 3 0 23 0; +#X connect 6 0 23 0; +#X connect 11 0 16 0; +#X connect 17 0 18 0; +#X connect 20 0 23 0; +#X connect 21 0 23 0; +#X connect 24 0 0 0; +#X connect 25 0 26 0; +#X connect 28 0 29 0; +#X connect 28 1 30 0; +#X connect 62 0 64 0; +#X connect 63 0 65 0; +#X connect 66 0 3 0; |