From 9326d1df4dde05b6ce826d87dd9feef78b3fcb4b Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Apr 2007 04:43:57 +0000 Subject: whipped out the quartic function svn path=/trunk/externals/mapping/; revision=7557 --- help/quartic-help.pd | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++ quartic.pd | 23 +++++++++ 2 files changed, 156 insertions(+) create mode 100644 help/quartic-help.pd create mode 100644 quartic.pd diff --git a/help/quartic-help.pd b/help/quartic-help.pd new file mode 100644 index 0000000..bc527f3 --- /dev/null +++ b/help/quartic-help.pd @@ -0,0 +1,133 @@ +#N canvas 398 45 530 427 10; +#X obj 386 30 import mapping ggee; +#X obj 5 2 cnv 15 500 20 empty empty quartic 2 11 1 18 -233017 -66577 +0; +#X msg 471 2 pddp; +#X text 304 393 released under the GNU GPL; +#X text 128 345 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#X obj 158 167 hsl 50 15 0 1 0 1 \$0-y-slider \$0-y-slider-receive +y 5 9 0 11 -204800 -1 -1 1397 0; +#X floatatom 165 186 7 0 0 0 - - -; +#X obj 316 340 pddp/open mapping-about; +#X text 37 392 (C) Copyright 2007 Free Software Foundation; +#X obj 74 167 hsl 50 15 0 1 0 1 \$0-x-slider \$0-x-slider-receive x +5 9 0 11 -232576 -1 -1 3209 0; +#X floatatom 80 187 7 0 0 0 - - -; +#X obj 25 217 quartic; +#N canvas 273 69 478 411 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 66 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 254 / 200; +#X text 96 254 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 293 12 receive \$0-y-slider; +#X obj 294 50 trigger bang float; +#X obj 54 108 cyclone/speedlim 100; +#X obj 54 280 quartic; +#X connect 0 0 17 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 18 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 18 0; +#X connect 14 0 9 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 16 1 18 2; +#X connect 17 0 1 0; +#X connect 18 0 8 0; +#X restore 387 71 pd draw_array; +#X obj 282 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 282 103 graph; +#X obj 282 308 send \$0-x; +#X obj 424 307 send \$0-y; +#X text 17 39 This object curves the input range using the quartic +function with two control parameters.; +#X obj 186 367 pddp/pddplink http://en.wikipedia.org/wiki/Quartic_function +; +#X connect 5 0 15 0; +#X connect 6 0 7 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 9 0 15 2; +#X connect 13 0 14 0; +#X connect 13 0 15 1; +#X connect 15 0 6 0; +#X connect 17 0 19 0; +#X connect 17 1 20 0; diff --git a/quartic.pd b/quartic.pd new file mode 100644 index 0000000..0382d37 --- /dev/null +++ b/quartic.pd @@ -0,0 +1,23 @@ +#N canvas 213 136 569 383 10; +#X obj 52 10 inlet; +#X obj 387 9 inlet; +#X obj 52 324 outlet; +#X obj 300 10 loadbang; +#X obj 227 9 inlet; +#X obj 227 50 purepd/float_argument \$1; +#X obj 387 50 purepd/float_argument \$2; +#X obj 227 95 -; +#X msg 227 73 1 \$1; +#X obj 52 159 expr (1-2*$f2)*pow($f1 \, 2) + (2*$f2)*$f1; +#X obj 52 190 expr (1-2*$f2)*pow($f1 \, 2) + (2*$f2)*$f1; +#X connect 0 0 9 0; +#X connect 1 0 6 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 10 1; +#X connect 7 0 9 1; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; -- cgit v1.2.1