From 4d57d8e06ca25de0946212fd90883425064f17b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pais?= Date: Tue, 21 Dec 2010 20:01:15 +0000 Subject: svn path=/trunk/abstractions/jmmmp/; revision=14670 --- bezier-help.pd | 40 +++++----- bezier.pd | 230 ++++++++++++++++++++++++--------------------------------- 2 files changed, 117 insertions(+), 153 deletions(-) diff --git a/bezier-help.pd b/bezier-help.pd index cc6f5c3..97528bc 100644 --- a/bezier-help.pd +++ b/bezier-help.pd @@ -1,8 +1,9 @@ -#N struct bez-array float x float y array bez-c-arr bez-c float p0x -float p0y float p0x. float p0y. float p1x float p1y float p1x. float -p1y. float p2x float p2y float p2x. float p2y. float p3x float p3y -float p3x. float p3y. float rpx float rpy float rpx. float rpy.; -#N struct bez-c float x float y; +#N struct 1026-bez-array float x float y array 1026-bez-c-arr 1026-bez-c +float p0x float p0y float p0x. float p0y. float p1x float p1y float +p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x +float p3y float p3x. float p3y. float rpx float rpy float rpx. float +rpy.; +#N struct 1026-bez-c float x float y; #N canvas 280 17 921 908 10; #X floatatom 415 741 5 0 0 0 - - -; #X obj 418 727 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856 @@ -15,13 +16,13 @@ float p3x. float p3y. float rpx float rpy float rpx. float rpy.; #X obj 135 504 pack; #X obj 145 484 t b f; #X obj 125 820 unpack; -#X msg 228 820 p0 0.142857 0.244898 \, p1 0.34 0.88 \, p2 0.9 0.4 \, -p3 0.85 0.73; +#X msg 228 820 p0 0.25 0.34 \, p1 0.34 0.88 \, p2 0.9 0.4 \, p3 0.85 +0.73; #X text 543 84 Arguments; #X obj 148 457 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1 --1 700 1; +-1 0 1; #X obj 148 471 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1 --1 1200 1; +-1 0 1; #X obj 128 840 hsl 50 10 0 1 0 0 empty empty X -16 6 0 12 -228856 -1 -1 4165 1; #X obj 128 854 hsl 50 10 0 1 0 0 empty empty Y -16 6 0 12 -228856 -1 @@ -43,7 +44,7 @@ of x is created.; #X text 542 385 But \, even with the points outside of the box \, the calculations will still work. You only loose mouse control of the graphic handles.; -#X obj 135 564 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 135 564 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 125 697 bezier; #X text 165 624 dump - Dump the coordinates of the control points through @@ -67,9 +68,6 @@ get formatted.; ; #X text 153 554 readpoint \$1 - Turn readpoint (red) display on or off. Readpoint shows the curent place in the buffer.; -#X text 543 536 READPOINT NAO FUNCIONA COM VARIOS OBJECTOS \, ENVIA -PARA BEZIER CRIADO PRIMEIRO \; TIRAR TODOS OS SENDS \, OU FAZER UM -LOCAL SEND; #X text 22 29 Create a transfer function between 0 and 1 \, using the four control points of a cubic bézier curve.; #X text 546 232 - floats [0 to 1] / commands (with parameters); @@ -97,30 +95,30 @@ the box - you won't be able to grab the graphic (see bug description) ; #X msg 125 583 readpoint \$1; #X msg 125 624 dump; -#X connect 0 0 52 0; +#X connect 0 0 51 0; #X connect 1 0 0 0; -#X connect 2 0 60 0; +#X connect 2 0 59 0; #X connect 3 0 27 0; #X connect 4 0 3 0; #X connect 5 0 1 0; #X connect 6 0 5 0; -#X connect 7 0 58 0; +#X connect 7 0 57 0; #X connect 8 0 7 0; #X connect 8 1 7 1; #X connect 9 0 14 0; #X connect 9 1 15 0; #X connect 12 0 7 0; #X connect 13 0 8 0; -#X connect 26 0 64 0; +#X connect 26 0 63 0; #X connect 27 0 9 0; #X connect 27 1 10 0; -#X connect 53 0 27 0; +#X connect 52 0 27 0; +#X connect 54 0 27 0; #X connect 55 0 27 0; #X connect 56 0 27 0; #X connect 57 0 27 0; -#X connect 58 0 27 0; +#X connect 59 0 27 0; #X connect 60 0 27 0; #X connect 61 0 27 0; -#X connect 62 0 27 0; +#X connect 63 0 27 0; #X connect 64 0 27 0; -#X connect 65 0 27 0; diff --git a/bezier.pd b/bezier.pd index 8d60eee..41bc9da 100644 --- a/bezier.pd +++ b/bezier.pd @@ -1,43 +1,11 @@ -#N struct bez-array float x float y array bez-c-arr bez-c float p0x -float p0y float p0x. float p0y. float p1x float p1y float p1x. float -p1y. float p2x float p2y float p2x. float p2y. float p3x float p3y -float p3x. float p3y. float rpx float rpy float rpx. float rpy.; -#N struct bez-c float x float y; #N canvas 0 0 855 754 10; -#X scalar bez-array 0 0 -2 -2 3 3 8 58 13 63 88 38 93 43 98 98 103 -103 98 98 103 103 \; 0 0 \; 0.26146 1.71676 \; 0.56528 3.38768 \; 0.91062 -5.01372 \; 1.29664 6.59584 \; 1.7225 8.135 \; 2.18736 9.63216 \; 2.69038 -11.0883 \; 3.23072 12.5043 \; 3.80754 13.8812 \; 4.42 15.22 \; 5.06726 -16.5216 \; 5.74848 17.7869 \; 6.46282 19.0169 \; 7.20944 20.2126 \; -7.9875 21.375 \; 8.79616 22.505 \; 9.63458 23.6035 \; 10.5019 24.6715 -\; 11.3973 25.71 \; 12.32 26.72 \; 13.2691 27.7024 \; 14.2437 28.6581 -\; 15.243 29.5881 \; 16.2662 30.4934 \; 17.3125 31.375 \; 18.381 32.2338 -\; 19.4708 33.0707 \; 20.5811 33.8867 \; 21.7111 34.6828 \; 22.86 35.46 -\; 24.0269 36.2192 \; 25.2109 36.9613 \; 26.4112 37.6873 \; 27.627 -38.3982 \; 28.8575 39.095 \; 30.1018 39.7786 \; 31.359 40.4499 \; 32.6283 -41.1099 \; 33.9089 41.7596 \; 35.2 42.4 \; 36.5007 43.032 \; 37.8101 -43.6565 \; 39.1274 44.2745 \; 40.4518 44.887 \; 41.7825 45.495 \; 43.1186 -46.0994 \; 44.4592 46.7011 \; 45.8035 47.3011 \; 47.1507 47.9004 \; -48.5 48.5 \; 49.8505 49.1008 \; 51.2013 49.7037 \; 52.5516 50.3097 -\; 53.9006 50.9198 \; 55.2475 51.535 \; 56.5914 52.1562 \; 57.9314 -52.7843 \; 59.2667 53.4203 \; 60.5965 54.0652 \; 61.92 54.72 \; 63.2363 -55.3856 \; 64.5445 56.0629 \; 65.8438 56.7529 \; 67.1334 57.4566 \; -68.4125 58.175 \; 69.6802 58.909 \; 70.9356 59.6595 \; 72.1779 60.4275 -\; 73.4063 61.214 \; 74.62 62.02 \; 75.8181 62.8464 \; 76.9997 63.6941 -\; 78.164 64.5641 \; 79.3102 65.4574 \; 80.4375 66.375 \; 81.545 67.3178 -\; 82.6318 68.2867 \; 83.6971 69.2827 \; 84.7401 70.3068 \; 85.76 71.36 -\; 86.7559 72.4432 \; 87.7269 73.5573 \; 88.6722 74.7033 \; 89.591 -75.8822 \; 90.4825 77.095 \; 91.3458 78.3425 \; 92.18 79.6259 \; 92.9843 -80.9459 \; 93.7579 82.3037 \; 94.5 83.7 \; 95.2097 85.1359 \; 95.8861 -86.6125 \; 96.5284 88.1305 \; 97.1358 89.691 \; 97.7075 91.295 \; 98.2426 -92.9434 \; 98.7402 94.6371 \; 99.1995 96.3771 \; 100 100 \; \;; #X obj 217 10 inlet; #N canvas 627 482 718 464 inside 0; #X obj 20 82 inlet; #X obj 346 282 s \$0-bezier-a; #N canvas 0 0 450 300 element 0; -#X obj 52 46 struct bez-c float x float y; -#X restore 20 322 pd element; +#X obj 52 46 struct \$0-bez-c float x float y; +#X restore 20 302 pd element; #N canvas 665 149 542 409 array 0; #X obj 11 87 route change click; #X obj 31 121 unpack p f; @@ -58,12 +26,12 @@ p0x. p0y p0x. p0y. p0x p0y. p0x p0y; p3x. p3y p3x. p3y. p3x p3y. p3x p3y; #X obj 166 171 r \$0-read-point-view; #X text 297 171 read point; -#X obj 11 15 struct bez-array float x float y array bez-c-arr bez-c -float p0x float p0y float p0x. float p0y. float p1x float p1y float -p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x -float p3y float p3x. float p3y. float rpx float rpy float rpx. float -rpy.; -#X obj 166 111 plot bez-c-arr 9 2 0 0; +#X obj 11 15 struct \$0-bez-array float x float y array \$0-bez-c-arr +\$0-bez-c float p0x float p0y float p0x. float p0y. float p1x float +p1y float p1x. float p1y. float p2x float p2y float p2x. float p2y. +float p3x float p3y float p3x. float p3y. float rpx float rpy float +rpx. float rpy.; +#X obj 166 111 plot \$0-bez-c-arr 9 2 0 0; #X obj 166 191 filledpolygon 900 900 1 rpx rpy rpx. rpy rpx. rpy. rpx rpy. rpx rpy; #X connect 0 0 1 0; @@ -74,7 +42,7 @@ rpy. rpx rpy; #X connect 5 0 3 0; #X connect 12 0 16 0; #X connect 14 0 0 0; -#X restore 20 342 pd array; +#X restore 20 322 pd array; #N canvas 257 223 482 660 calculate 0; #X obj 27 42 inlet; #X obj 27 202 until; @@ -106,17 +74,17 @@ a escalonar tudo? talvez nao; #X obj 47 122 t b f f; #X obj 27 272 *; #X obj 46 292 *; -#X obj 141 190 get bez-array p0x; -#X obj 151 210 get bez-array p1x; -#X obj 161 230 get bez-array p2x; -#X obj 171 250 get bez-array p3x; -#X obj 311 190 get bez-array p0y; -#X obj 320 210 get bez-array p1y; -#X obj 331 230 get bez-array p2y; -#X obj 341 250 get bez-array p3y; -#X obj 108 498 element bez-array bez-c-arr; -#X obj 27 538 set bez-c x; -#X obj 46 558 set bez-c y; +#X obj 141 190 get \$0-bez-array p0x; +#X obj 151 210 get \$0-bez-array p1x; +#X obj 161 230 get \$0-bez-array p2x; +#X obj 171 250 get \$0-bez-array p3x; +#X obj 311 190 get \$0-bez-array p0y; +#X obj 320 210 get \$0-bez-array p1y; +#X obj 331 230 get \$0-bez-array p2y; +#X obj 341 250 get \$0-bez-array p3y; +#X obj 108 498 element \$0-bez-array \$0-bez-c-arr; +#X obj 27 538 set \$0-bez-c x; +#X obj 46 558 set \$0-bez-c y; #X connect 0 0 11 0; #X connect 1 0 2 0; #X connect 2 0 9 0; @@ -168,8 +136,8 @@ a escalonar tudo? talvez nao; #X connect 34 0 19 0; #X connect 35 0 8 0; #X restore 20 362 pd calculate; -#X obj 55 182 outlet; -#N canvas 0 0 333 632 index 0; +#X obj 65 182 outlet; +#N canvas 161 314 333 632 index 0; #X obj 13 292 outlet; #X obj 208 142 r \$0-arrpoint; #X obj 13 62 inlet; @@ -200,15 +168,16 @@ a escalonar tudo? talvez nao; #X obj 68 252 0; #X obj 38 252 1; #X obj 13 102 f; -#X obj 106 82 getsize bez-array bez-c-arr; -#X obj 13 162 element bez-array bez-c-arr; -#X obj 13 182 get bez-c x y; -#X obj 137 402 set bez-array rpx; -#X obj 136 422 set bez-array rpy; -#X obj 123 482 get bez-array rpx; -#X obj 133 522 set bez-array rpx.; -#X obj 153 552 get bez-array rpy; -#X obj 163 592 set bez-array rpy.; +#X obj 106 82 getsize \$0-bez-array \$0-bez-c-arr; +#X obj 13 162 element \$0-bez-array \$0-bez-c-arr; +#X obj 13 182 get \$0-bez-c x y; +#X obj 136 402 set \$0-bez-array rpx; +#X obj 135 422 set \$0-bez-array rpy; +#X obj 123 482 get \$0-bez-array rpx; +#X obj 133 522 set \$0-bez-array rpx.; +#X obj 153 552 get \$0-bez-array rpy; +#X obj 163 592 set \$0-bez-array rpy.; +#X obj 233 217 inlet; #X connect 1 0 31 1; #X connect 2 0 29 0; #X connect 3 0 30 0; @@ -253,7 +222,8 @@ a escalonar tudo? talvez nao; #X connect 32 1 18 1; #X connect 35 0 13 0; #X connect 37 0 14 0; -#X restore 55 162 pd index; +#X connect 39 0 29 0; +#X restore 65 162 pd index; #N canvas 0 0 332 180 size 0; #X obj 18 17 inlet; #X obj 213 117 r \$0-arrpoint; @@ -262,7 +232,7 @@ a escalonar tudo? talvez nao; #X obj 18 37 moses 2; #X msg 18 57 2; #X text 111 16 size \, wenigstens 2 Punkte; -#X obj 18 137 setsize bez-array bez-c-arr; +#X obj 18 137 setsize \$0-bez-array \$0-bez-c-arr; #X connect 0 0 4 0; #X connect 1 0 7 1; #X connect 3 0 7 0; @@ -403,30 +373,30 @@ a escalonar tudo? talvez nao; #X connect 37 0 1 0; #X restore 52 546 pd convert-to-dump; #X obj 228 58 route p0 p1 p2 p3; -#X obj 480 236 set bez-array p3x; -#X obj 480 256 set bez-array p3y; -#X obj 340 236 set bez-array p2x; -#X obj 340 256 set bez-array p2y; -#X obj 199 236 set bez-array p1x; -#X obj 200 256 set bez-array p1y; -#X obj 60 236 set bez-array p0x; -#X obj 60 256 set bez-array p0y; -#X obj 47 362 get bez-array p0x; -#X obj 57 402 set bez-array p0x.; -#X obj 77 432 get bez-array p0y; -#X obj 87 472 set bez-array p0y.; -#X obj 267 472 set bez-array p1y.; -#X obj 257 432 get bez-array p1y; -#X obj 237 402 set bez-array p1x.; -#X obj 227 362 get bez-array p1x; -#X obj 407 362 get bez-array p2x; -#X obj 417 402 set bez-array p2x.; -#X obj 437 433 get bez-array p2y; -#X obj 447 472 set bez-array p2y.; -#X obj 626 472 set bez-array p3y.; -#X obj 616 432 get bez-array p3y; -#X obj 596 402 set bez-array p3x.; -#X obj 586 362 get bez-array p3x; +#X obj 480 236 set \$0-bez-array p3x; +#X obj 480 256 set \$0-bez-array p3y; +#X obj 340 236 set \$0-bez-array p2x; +#X obj 340 256 set \$0-bez-array p2y; +#X obj 199 236 set \$0-bez-array p1x; +#X obj 200 256 set \$0-bez-array p1y; +#X obj 60 236 set \$0-bez-array p0x; +#X obj 60 256 set \$0-bez-array p0y; +#X obj 47 362 get \$0-bez-array p0x; +#X obj 57 402 set \$0-bez-array p0x.; +#X obj 77 432 get \$0-bez-array p0y; +#X obj 87 472 set \$0-bez-array p0y.; +#X obj 267 472 set \$0-bez-array p1y.; +#X obj 257 432 get \$0-bez-array p1y; +#X obj 237 402 set \$0-bez-array p1x.; +#X obj 227 362 get \$0-bez-array p1x; +#X obj 407 362 get \$0-bez-array p2x; +#X obj 417 402 set \$0-bez-array p2x.; +#X obj 437 433 get \$0-bez-array p2y; +#X obj 447 472 set \$0-bez-array p2y.; +#X obj 626 472 set \$0-bez-array p3y.; +#X obj 616 432 get \$0-bez-array p3y; +#X obj 596 402 set \$0-bez-array p3x.; +#X obj 586 362 get \$0-bez-array p3x; #X connect 0 0 16 0; #X connect 1 0 43 0; #X connect 1 1 29 0; @@ -545,7 +515,7 @@ a escalonar tudo? talvez nao; #X connect 2 0 1 0; #X connect 3 0 5 0; #X connect 5 0 4 0; -#X restore 334 82 pd size-init; +#X restore 334 72 pd size-init; #N canvas 0 0 450 300 create-init 0; #X obj 129 118 pointer; #X obj 129 78 symbol \$0-bezier-a; @@ -554,7 +524,7 @@ a escalonar tudo? talvez nao; #X msg 129 98 traverse \$1 \, bang; #X obj 129 138 t b p; #X obj 129 58 inlet; -#X obj 129 178 append bez-array x y; +#X obj 129 178 append \$0-bez-array x y; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 7 0; @@ -563,7 +533,7 @@ a escalonar tudo? talvez nao; #X connect 5 1 7 2; #X connect 6 0 1 0; #X connect 7 0 2 0; -#X restore 351 62 pd create-init; +#X restore 351 52 pd create-init; #X obj 310 212 t f f; #X obj 310 232 pack; #X obj 300 152 route float list; @@ -584,7 +554,6 @@ dann muss man nicht die Grafik clicken.; #X restore 20 252 pd get-pointer; #X obj 20 212 t b f; #X msg 89 312 p0 0 0 \, p1 0.1 0.6 \, p2 0.9 0.4 \, p3 1 1; -#X obj 300 32 t b b b b; #N canvas 0 0 403 272 canvas-init 0; #X obj 68 104 sel 0; #X obj 68 124 110; @@ -620,62 +589,59 @@ und vielleicht y zu ber #X restore 300 132 pd canvas-init; #X obj 300 172 moses 20; #X msg 300 192 20; -#X obj 160 162 s \$0-read-point-view; +#X obj 200 262 s \$0-read-point-view; #X obj 20 112 route size float dump canvas readpoint; #X obj 245 132 t b a; #X obj 300 12 lbang; -#X obj 433 136 pointer; -#X obj 433 96 symbol \$0-bezier-a; -#X obj 433 156 s \$0-arrpoint; -#X msg 433 116 traverse \$1 \, next \, bang; -#X obj 469 63 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 377 24 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X text 330 357 ha demasiada accao a passar no patch \, optimizar; -#X text 366 43 depois apagar?; +#X obj 417 132 pointer; +#X obj 417 92 symbol \$0-bezier-a; +#X obj 417 152 s \$0-arrpoint; +#X msg 417 112 traverse \$1 \, next \, bang; +#X text 321 362 ha demasiada accao a passar no patch \, optimizar; #X text 323 386 botao para adicionar x curvas (p3 da anterior == p0 da seguinte) \, criando uma mega-curva \; tornar tudo variavel \, nr pontos do array... \; ajustar tamanha dos pontos kr de acordo com o tamanho do display; -#X connect 0 0 26 0; -#X connect 3 0 4 0; +#X obj 300 32 t b b b b; +#X obj 20 342 t b b; +#X connect 0 0 25 0; +#X connect 3 0 35 0; #X connect 6 0 5 0; #X connect 8 0 4 1; #X connect 8 1 9 0; #X connect 11 0 10 0; -#X connect 12 0 26 0; +#X connect 12 0 25 0; #X connect 14 0 15 0; #X connect 14 1 15 1; #X connect 15 0 17 0; -#X connect 16 0 23 0; +#X connect 16 0 22 0; #X connect 16 1 17 0; #X connect 17 0 1 0; #X connect 19 0 18 0; #X connect 19 1 7 0; #X connect 20 0 8 0; -#X connect 21 0 22 0; -#X connect 21 1 20 0; -#X connect 21 2 12 0; -#X connect 21 3 30 0; -#X connect 22 0 16 0; -#X connect 23 0 24 0; -#X connect 23 1 14 0; -#X connect 24 0 14 0; -#X connect 26 0 19 0; -#X connect 26 1 6 0; -#X connect 26 2 11 0; -#X connect 26 3 16 0; -#X connect 26 4 25 0; -#X connect 26 5 27 0; -#X connect 27 0 6 1; -#X connect 27 1 8 0; -#X connect 28 0 21 0; +#X connect 21 0 16 0; +#X connect 22 0 23 0; +#X connect 22 1 14 0; +#X connect 23 0 14 0; +#X connect 25 0 19 0; +#X connect 25 1 6 0; +#X connect 25 2 11 0; +#X connect 25 3 16 0; +#X connect 25 4 24 0; +#X connect 25 5 26 0; +#X connect 26 0 6 1; +#X connect 26 1 8 0; +#X connect 27 0 34 0; +#X connect 28 0 30 0; #X connect 29 0 31 0; -#X connect 30 0 32 0; -#X connect 32 0 29 0; -#X connect 33 0 30 0; -#X connect 34 0 13 0; +#X connect 31 0 28 0; +#X connect 34 0 21 0; +#X connect 34 1 20 0; +#X connect 34 2 12 0; +#X connect 34 3 13 0; +#X connect 35 0 4 0; +#X connect 35 1 6 2; #X restore 217 30 pd inside; #X obj 287 10 namecanvas \$0-bezier-a; #X obj 217 50 outlet; @@ -707,7 +673,7 @@ in the documentation and/or other materials provided with the distribution. #X text 8 7 Copyright 2010 \, Joćo Pais; #X restore 11 721 pd license; #X text 8 703 (C) 2010 Joćo Pais - jmmmpais@googlemail.com; -#X connect 1 0 2 0; -#X connect 2 0 4 0; -#X connect 2 1 5 0; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 4 0; #X coords -20 120 120 -20 110 110 2 0 0; -- cgit v1.2.1