aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/4.data.structures/09.scaling.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/4.data.structures/09.scaling.pd')
-rw-r--r--pd/doc/4.data.structures/09.scaling.pd74
1 files changed, 74 insertions, 0 deletions
diff --git a/pd/doc/4.data.structures/09.scaling.pd b/pd/doc/4.data.structures/09.scaling.pd
new file mode 100644
index 00000000..8af7d6ff
--- /dev/null
+++ b/pd/doc/4.data.structures/09.scaling.pd
@@ -0,0 +1,74 @@
+#N struct template9b float x float y float w symbol s;
+#N struct template9a float x float y float a float b float c;
+#N canvas 387 17 573 330 12;
+#X text 319 276 updated for Pd version 0.39;
+#N canvas 1 11 363 341 data9 1;
+#X scalar template9b 222 157 26.3158 why? \;;
+#X scalar template9a 149 243 23 57.1429 32 \;;
+#X scalar template9a 84 80 100 20 32 \;;
+#X coords 0 341 1 340 0 0 0;
+#X restore 22 274 pd data9;
+#N canvas 48 362 604 524 template9a 0;
+#X obj 24 19 struct template9a float x float y float a float b float
+c;
+#X obj 31 380 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 31 402 t b b;
+#X obj 210 461 pointer;
+#X msg 60 430 traverse pd-data9 \, bang;
+#X obj 31 486 append template9a x y a b c;
+#X msg 31 462 50 50 30 20 40;
+#X obj 23 115 drawpolygon 0 1 0 10 0 a(0:100)(10:110) -5 a(0:100)(5:105)
+0 a(0:100)(10:110) 5 a(0:100)(5:105);
+#X obj 25 287 drawcurve 0 1 0 -2 0 3 5 3 5 -8 -13 -8 -13 21;
+#X obj 25 247 drawpolygon 0 1 10 0 c(0:100)(10:110) 0 c(0:100)(5:105)
+-5 c(0:100)(10:110) 0 c(0:100)(5:105) 5;
+#X obj 25 193 drawpolygon 0 1 7 7 b(0:100)(7:77) b(0:100)(7:77) b(0:100)(0:70)
+b(0:100)(7:77) b(0:100)(7:77) b(0:100)(7:77) b(0:100)(7:77) b(0:100)(0:70)
+;
+#X text 23 50 'a' controls an arrow pointing upward. The main segment
+goes from (0.10) to (0 \, a+10). Then we hike 5 units down and left
+\, back to the point \, and then 5 units down and right.;
+#X text 28 154 Slightly more complicated construction to make an arrow
+at 45 degrees:;
+#X text 25 330 It's a good practice to put a small patch like this
+one in each template that you can use to make the first one (and will
+often find yourself wanting to use again later):;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 5;
+#X connect 4 0 3 0;
+#X connect 6 0 5 0;
+#X restore 21 224 pd template9a;
+#N canvas 353 371 688 314 template9b 0;
+#X obj 351 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 351 196 t b b;
+#X obj 567 254 pointer;
+#X msg 360 227 traverse pd-data9 \, bang;
+#X obj 24 19 struct template9b float x float y float w symbol s;
+#X obj 37 54 filledpolygon 900 0 1 w(0:100)(0:38) w(0:100)(0:92) w(0:100)(0:92)
+w(0:100)(0:38) w(0:100)(0:92) w(0:100)(0:-38) w(0:100)(0:38) w(0:100)(0:-92)
+w(0:100)(0:-38) w(0:100)(0:-92) w(0:100)(0:-92) w(0:100)(0:-38) w(0:100)(0:-92)
+w(0:100)(0:38) w(0:100)(0:-38) w(0:100)(0:92);
+#X msg 351 257 50 50 30;
+#X obj 352 281 append template9b x y w;
+#X obj 36 171 drawsymbol s w(0:100)(10:-90) 10 0;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 3 0;
+#X connect 2 0 7 3;
+#X connect 3 0 2 0;
+#X connect 6 0 7 0;
+#X restore 21 248 pd template9b;
+#X text 35 7 Screen dimensions can be tailored to specific ranges by
+adding suffixes in the drawing instructions. For example \, in "template9a"
+\, a coordinate such as "b(0:100)(7:77)" instructs the drawpolygon
+object to rescale b from the range 0-100 to the range 7-77.;
+#X text 39 93 The application is to introduce an offset to a coordinate.
+For example \, the construction "a(0:100)(10:110)" just gives a+10.
+;
+#X text 35 147 Each of the three arrows of template9a is controlled
+by a single parameter (a \, b \, or c) and the entire red octagon in
+template9b likewise.;