#N canvas 581 205 584 778 10; #X obj 4 368 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 5 728 cnv 15 550 40 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 8 5 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 14 388 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 14 643 cnv 15 75 15 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 4 586 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 4 621 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 7 75 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 5 678 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 5 698 cnv 15 550 30 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 12 75 Examples:; #X text 9 368 Inlets:; #X text 19 387 - Left:; #X text 10 585 Arguments:; #X text 11 621 Outlets:; #X text 19 678 See Also:; #X text 74 47 Full Name:; #N canvas 56 110 262 70 Related_Objects 0; #X obj 3 10 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 3 30 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 5 10 Externals and libraries; #X obj 44 37 pmpd2d; #X obj 140 37 pmpd3d; #X restore 122 735 pd Related_Objects; #N canvas 537 397 524 302 init 0; #X msg 89 187 Xmax 127 \, Xmin 0; #X obj 89 215 t a; #X obj 89 33 loadbang; #X msg 143 100 mass fix 0 10 0; #X obj 89 241 s \$0-in; #X obj 89 59 t b b b b b; #X msg 161 80 reset; #X obj 44 13 inlet; #X msg 125 120 mass mob 1 10 0 \, mass mob 1 10 0 \, mass mob 1 10 0; #X msg 107 143 link souple 1 0 1 0.5 \, link souple 1 2 1 0.5 \, link souple 3 2 1 0.5; #X connect 0 0 1 0; #X connect 1 0 4 0; #X connect 2 0 5 0; #X connect 3 0 1 0; #X connect 5 0 0 0; #X connect 5 1 9 0; #X connect 5 2 8 0; #X connect 5 3 3 0; #X connect 5 4 6 0; #X connect 6 0 1 0; #X connect 7 0 5 0; #X connect 8 0 1 0; #X connect 9 0 1 0; #X restore 17 155 pd init; #X obj 17 343 s \$0-out; #X obj 17 294 r \$0-in; #X obj 261 183 vsl 15 127 0 127 0 0 empty empty Drag-----> -70 60 1 10 -262144 -1 -1 0 1; #X obj 292 183 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 261 344 s \$0-in; #X msg 261 321 posX fix \$1; #N canvas 561 581 355 193 compute 0; #X obj 159 37 inlet; #X obj 159 74 metro 20; #X obj 159 135 s \$0-in; #X msg 159 104 bang \, massesPosL; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 3 0 2 0; #X restore 17 223 pd compute; #X obj 17 206 tgl 15 0 empty empty ON/OFF 25 10 1 10 -262144 -1 -1 1 1; #X obj 261 106 r \$0-out; #X obj 17 138 bng 15 250 50 0 empty empty reset 25 10 1 10 -262144 -1 -1; #X obj 261 130 route massesPosL; #X obj 311 183 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 330 183 vsl 15 127 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 261 151 unpack f f f f; #X text 160 476 To set the model parameters after creation.; #X text 160 457 To create the model masses and links.; #X text 103 601 None; #X text 18 642 - Left:; #X text 101 643 Outputs the model parameters asked with the attributes messages.; #X text 101 419 Messages - Different messages are used to control the msd object. They are of three types :; #X text 9 699 CATEGORY: control; #X text 111 678 01_msdtest.pd; #X text 12 7 HELP: pmpd; #X text 12 19 DESCRIPTION: physical modeling for pd \, based on msd. ; #X obj 17 318 pmpd; #X text 266 735 - Cyrille Henry \, 2011; #X text 283 751 based on MSD by Nicolas Montgermont; #X obj 17 186 loadbang; #N canvas 173 157 617 876 links_attributes 0; #X obj 5 3 cnv 15 590 15 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 9 241 cnv 15 170 190 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 9 221 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X text 7 2 ATTRIBUTES Messages; #X text 12 221 Lists :; #X obj 11 460 cnv 15 170 200 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 11 439 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X text 277 411 \$1 (optional): Masses Id; #X text 284 800 \$2 (optional): Masses Id; #X text 283 787 \$1 : table name; #X text 14 439 tables :; #X text 189 253 Output all links center positions in a list on outlet No 1; #X text 183 469 Output all links center positions in a table (\$1) ; #X obj 8 95 cnv 15 170 100 empty empty empty 20 12 0 14 -233017 -66577 0; #X msg 16 103 linkPos [\$1]; #X msg 16 138 linkEnd [\$1]; #X obj 8 74 cnv 15 590 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X text 11 74 generic :; #X text 216 116 linkPos symbolId number center; #X text 216 144 linkEnd symbolId number posX1 posX2; #X obj 11 664 cnv 15 170 190 empty empty empty 20 12 0 14 -233017 -66577 0; #X msg 18 672 linkEndT \$1 [\$2]; #X msg 27 692 linkEnd1T \$1 [\$2]; #X msg 27 711 linkEnd2T \$1 [\$2]; #X msg 27 730 linkEndXT \$1 [\$2]; #X msg 27 749 linkEnd1XT \$1 [\$2]; #X msg 27 768 linkEnd2XT \$1 [\$2]; #X msg 27 787 linkEndYT \$1 [\$2]; #X msg 27 806 linkEnd1YT \$1 [\$2]; #X msg 27 825 linkEnd2YT \$1 [\$2]; #X text 216 703 table is posX1 posY1 posX2 posY2 ....; #X msg 18 251 linkPosL (\$1); #X msg 18 270 linkPosXL (\$1); #X msg 19 293 linkLengthL (\$1); #X msg 19 312 linkLengthXL (\$1); #X msg 18 336 linkPosSpeedL (\$1); #X msg 18 355 linkPosSpeedXL (\$1); #X msg 18 379 linkLengthSpeedL (\$1); #X msg 18 398 linkLengthSpeedXL (\$1); #X msg 15 465 linkPosT \$1 (\$2); #X msg 15 484 linkPosXT \$1 (\$2); #X msg 16 512 linkLengthT \$1 (\$2); #X msg 16 531 linkLengthXT \$1 (\$2); #X msg 16 562 linkPosSpeedT \$1 (\$2); #X msg 16 581 linkPosSpeedXT \$1 (\$2); #X msg 16 612 linkLengthSpeedT \$1 (\$2); #X msg 16 631 linkLengthSpeedXT \$1 (\$2); #X text 15 30 The attributes messages ask the object to output some of its internal parameters. They can be output as lists for positions and forces of links; #X text 79 205 \$1 : Id float or symbol of masses (nothing for all) ; #X text 187 99 output a message for every link :; #X text 189 297 Output all links length in a list on outlet No 1; #X text 191 343 Output all links center speed in a list on outlet No 1; #X text 191 379 Output all links length deformation speed in a list on outlet No 1; #X text 181 515 Output all links length in a list on outlet No 1; #X text 183 563 Output all links center speed in a list on outlet No 1; #X text 184 612 Output all links length deformation speed in a list on outlet No 1; #X text 187 672 Put position of the 2 link end on a table [\$1] \, filter on link Id is possible; #X msg 14 172 linkLength [\$1]; #X text 216 174 linkLength symbolId number length; #X restore 12 516 pd links_attributes ___; #N canvas 153 141 997 789 dynamic 0; #X obj 5 3 cnv 15 900 15 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 10 85 cnv 15 130 650 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 4 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 465 86 cnv 15 130 650 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 458 62 cnv 15 450 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X text 20 62 Masses :; #X text 471 62 Links :; #X text 17 2 DYNAMIC SETTINGS Messages; #X text 148 149 Add force on mass(es); #X msg 21 152 forceX \$1 \$2; #X text 188 212 \$1 : Value; #X text 187 109 \$1 : Id (symbol) or No; #X text 188 164 \$1 : Id (symbol) or No; #X msg 20 244 setMobile \$1; #X msg 20 265 setFixed \$1; #X text 146 94 Set position of fixed mass(es); #X text 187 125 \$2 : Value; #X text 147 196 Set minimimum and maximum position of all masses; #X text 147 244 Set mass to mobile or fixed; #X msg 471 150 setD \$1 \$2; #X msg 470 99 setK \$1 \$2; #X text 607 100 Set rigidity of link(s); #X text 606 156 Set damping of link(s); #X text 639 118 \$1 : Id (symbol) or No; #X text 639 174 \$1 : Id (symbol) or No; #X text 639 225 \$1 : Id (symbol) or No; #X text 189 261 \$1 : Id (symbol) or No; #X msg 21 610 setDEnv \$1; #X text 148 612 Change environement damping; #X msg 472 347 setLinkId \$1 \$2; #X text 608 348 Change the Id of a link; #X text 639 365 \$1 : link (number or Id); #X text 639 382 \$2 : New Id; #X msg 472 404 setLKTab \$1 \$2; #X text 606 404 change the table (K) size of a non linear link; #X text 637 424 \$1 : link (number or Id); #X text 638 441 \$2 : New KL; #X text 637 474 \$1 : link (number or Id); #X msg 472 461 setLDTab \$1 \$2; #X text 606 461 change the table (D) size of a non linear link; #X text 638 484 \$2 : New DL; #X text 190 401 \$2 : New Id; #X msg 22 367 setMassId \$1 \$2; #X text 148 367 Change the Id of a mass; #X text 191 384 \$1 : mass (number or Id); #X msg 22 428 setForce \$1 \$2; #X msg 22 496 setSpeed \$1 \$2; #X msg 21 559 addPos \$1 \$2; #X text 185 448 \$1 : Id (symbol) or No; #X text 185 466 \$2 : Value; #X text 148 431 set force on mass(es); #X text 184 515 \$1 : Id (symbol) or No; #X text 184 533 \$2 : Value; #X text 147 498 set speed of a mass(es); #X text 183 576 \$1 : Id (symbol) or No; #X text 183 594 \$2 : Value; #X text 147 559 add pos of a mass(es); #X text 147 299 grab a mass \, and move it; #X text 187 317 \$1 : position; #X text 187 333 \$2 : grab or not (0 or 1); #X msg 20 300 grabMass \$1 \$2; #X msg 22 96 SetPosX \$1 \$2; #X msg 22 116 SetPos \$1 \$2; #X msg 21 172 force \$1 \$2; #X msg 21 195 minX \$1; #X msg 21 217 maxX \$1; #X msg 81 195 min \$1; #X msg 81 217 max \$1; #X text 182 675 \$1 : Id (symbol) or No; #X msg 19 659 setDEnvOffset \$1 \$2; #X text 145 659 Change environement damping offset; #X msg 22 448 setForceX \$1 \$2; #X msg 22 516 setSpeedX \$1 \$2; #X msg 21 579 addPosX \$1 \$2; #X text 637 293 \$1 : Id (symbol) or No; #X msg 472 274 setLCurrent \$1 [\$2]; #X text 637 311 \$2 : mix between link size (0) and curent length (1) ; #X text 636 566 \$1 : link (number or Id); #X text 635 522 \$1 : link (number or Id); #X msg 472 546 setActive \$1 \$2; #X msg 472 502 setInactive \$1 \$2; #X text 603 546 compute the link at each bang; #X text 631 633 \$1 : link (number or Id); #X msg 471 590 setOverdamp \$1 \$2; #X text 633 690 \$1 : link (number or Id); #X msg 473 671 setEnd \$1 \$2 \$3; #X text 632 706 \$2 : mass number for end 1; #X text 602 673 Change the masses a link is connected to; #X text 631 722 \$3 : mass number for end 2; #X msg 493 694 setEnd1 \$1 \$2; #X msg 493 716 setEnd2 \$1 \$2; #X text 10 25 Dynamic settings messages allow the user to redefine internal parameters of links and masses.; #X text 636 329 if no \$2 arg is provided \, then L is set to curent length; #X text 489 750 if only 1 argument is provided \, message generally uses this argument as the value applayed to all masses (or link); #X text 604 502 do not compute a link anymore; #X text 603 591 Change the overdamp of a link. i.e a strange parametter that amplifies forces that oppose to movment. Use at your own risk. ; #X text 611 275 Set initial length of link(s); #X text 639 136 \$2 : New value (float or table); #X text 639 192 \$2 : New value (float or table); #X text 639 242 \$2 : New value (float or table); #X text 631 647 \$2 : overdamp value (float or table); #X text 183 690 \$2 : damping (float or table); #X text 184 629 \$1 : damping (float or table); #X text 188 179 \$2 : Value (float or symbol); #X msg 472 205 setL \$1 \$2 [\$3]; #X msg 472 225 addL \$1 \$2 [\$3]; #X text 602 209 Set initial length of link(s) / add value to link length ; #X text 639 255 [\$3] : optional multiplicator value to the table; #X restore 12 476 pd dynamic settings ___; #N canvas 569 195 571 697 creation____________ 0; #X obj 11 95 cnv 15 100 60 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 5 75 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 5 3 cnv 15 550 15 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 7 2 CREATION Messages; #X obj 9 191 cnv 15 240 140 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 4 167 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X obj 10 361 cnv 15 240 330 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 3 338 cnv 15 550 15 empty empty empty 20 12 0 14 -158509 -66577 0; #X msg 32 104 reset; #X text 262 197 Add a mass; #X text 290 220 \$1 : Id (symbol); #X text 289 240 \$2 : fixed or mobile (0/1); #X text 289 258 \$3 : mass; #X msg 23 197 mass \$1 \$2 \$3 \$4; #X text 289 276 \$4 : initial position; #X text 7 167 Masses :; #X text 7 74 Reset :; #X text 129 105 Delete all masses \, links and internal variables; #X text 6 338 Links :; #X text 291 390 \$1 : Id (symbol); #X text 291 390 \$1 : Id (symbol); #X text 291 443 \$4 : rigidity; #X text 291 408 \$2 : creation No/Id of mass1; #X text 291 426 \$3 : creation No/Id of mass2; #X text 266 371 Add link(s); #X text 291 461 \$5 : damping; #X text 10 28 Creation messages are used to define the structure of the model. Messages create links and masses or destroy them.; #X msg 20 549 tabLink \$1 \$2 \$3 \$4 \$5 \$6 \$7; #X text 292 565 \$1 : Id (symbol); #X text 292 565 \$1 : Id (symbol); #X text 292 583 \$2 : creation No/Id of mass1; #X text 292 601 \$3 : creation No/Id of mass2; #X text 261 549 Add non linear link(s); #X text 292 618 \$4 : table name for the rigidity; #X text 292 636 \$5 : length of the table; #X text 292 654 \$6 : table name for the damping; #X text 292 672 \$7 : length of the table; #X msg 33 130 print; #X msg 19 371 link \$1 \$2 \$3 \$4 \$5 [\$6 [\$7 [\$8 ]]]; #X text 128 130 post current physical model topology; #X text 287 498 [\$7] : minimum lenght of link; #X text 288 515 [\$8] : maximum lenght of link; #X text 288 479 [\$6] : Power of the rigidity distance; #X restore 12 456 pd creation____________; #N canvas 50 82 901 640 More_Info 0; #X text 96 12 pmpd : mass - spring - damper model; #X obj 426 -5 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 426 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #N canvas 0 50 450 300 (subpatch) 0; #X array rigidity1 4 float 1; #A 0 -1 0 1 2; #X array - 4 float 1; #A 0 0 0 0 0; #X coords 0 3 3 -3 200 150 1; #X restore 31 428 graph; #X text 89 585 L0; #N canvas 113 82 956 727 figure 0; #X obj 284 53 loadbang; #X msg 293 125 \; rigidity1 resize 1 \; rigidity1 resize 4 \; rigidity1 bounds 0 3 3 -3 \; rigidity1 0 -1 0 1 2 \; rigidity1 ylabel -0.5 \; rigidity1 xlabel -3.5 \; rigidity1 xticks 0 1 1 \; rigidity1 yticks 0 0.1 5; #X obj 388 574 sqrt; #X obj 316 651 tabwrite rigidity3; #X obj 343 464 - 20; #X obj 316 609 f; #X obj 316 579 t b f; #X obj 343 494 moses 0; #X obj 343 517 * -1; #X obj 343 538 sqrt; #X obj 343 559 * -1; #X obj 481 479 - 20; #X obj 453 662 f; #X obj 453 632 t b f; #X obj 481 509 moses 0; #X obj 481 532 * -1; #X obj 480 612 * -1; #X obj 528 622 *; #X obj 480 591 *; #X obj 525 590 t f f; #X obj 480 564 t f f; #X obj 453 683 tabwrite rigidity4; #X obj 181 235 t b b; #X obj 620 552 f; #X obj 620 522 t b f; #X obj 620 623 tabwrite rigidity2; #X msg 763 574 0; #X obj 679 437 - 50; #X obj 751 491 moses 40; #X obj 681 510 moses -40; #X obj 620 586 * 1.5; #X obj 680 462 moses 10; #X obj 680 488 moses -10; #X msg 55 419 \; rigidity2 resize 101 \; rigidity2 xticks 1 10 5 \; rigidity2 yticks 0 5 5 \; rigidity3 resize 51 \; rigidity3 xticks 0 1 5 \; rigidity3 yticks 0 1 5 \; rigidity4 resize 51 \; rigidity4 xticks 0 1 5 \; rigidity4 yticks 0 100 5; #X obj 631 315 f; #X obj 648 394 + 1; #X obj 632 367 t f f; #X obj 375 333 f; #X obj 375 360 moses 50.5; #X obj 392 411 + 1; #X obj 376 384 t f f; #X obj 176 141 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 371 310 0; #X msg 627 286 0; #X obj 631 343 moses 100.5; #X connect 0 0 1 0; #X connect 0 0 22 0; #X connect 2 0 5 1; #X connect 4 0 7 0; #X connect 5 0 3 0; #X connect 6 0 5 0; #X connect 6 1 3 1; #X connect 7 0 8 0; #X connect 7 1 2 0; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 10 0 5 1; #X connect 11 0 14 0; #X connect 12 0 21 0; #X connect 13 0 12 0; #X connect 13 1 21 1; #X connect 14 0 15 0; #X connect 14 1 19 0; #X connect 15 0 20 0; #X connect 16 0 12 1; #X connect 17 0 12 1; #X connect 18 0 16 0; #X connect 19 0 17 0; #X connect 19 1 17 1; #X connect 20 0 18 0; #X connect 20 1 18 1; #X connect 22 0 42 0; #X connect 22 1 33 0; #X connect 22 1 43 0; #X connect 23 0 30 0; #X connect 24 0 23 0; #X connect 24 1 25 1; #X connect 26 0 23 1; #X connect 27 0 31 0; #X connect 28 0 23 1; #X connect 28 1 26 0; #X connect 29 0 26 0; #X connect 29 1 23 1; #X connect 30 0 25 0; #X connect 31 0 32 0; #X connect 31 1 28 0; #X connect 32 0 29 0; #X connect 32 1 26 0; #X connect 34 0 44 0; #X connect 35 0 34 0; #X connect 36 0 35 0; #X connect 36 1 27 0; #X connect 36 1 24 0; #X connect 37 0 38 0; #X connect 38 0 40 0; #X connect 39 0 37 0; #X connect 40 0 39 0; #X connect 40 1 4 0; #X connect 40 1 6 0; #X connect 40 1 13 0; #X connect 40 1 11 0; #X connect 41 0 22 0; #X connect 42 0 37 0; #X connect 43 0 34 0; #X connect 44 0 36 0; #X restore 27 304 pd figure; #X text 105 375 Rigidity; #N canvas 0 50 450 300 (subpatch) 0; #X array rigidity2 101 float 1; #A 0 0 0 0 0 0 0 0 0 0 0 -60 -58.5 -57 -55.5 -54 -52.5 -51 -49.5 -48 -46.5 -45 -43.5 -42 -40.5 -39 -37.5 -36 -34.5 -33 -31.5 -30 -28.5 -27 -25.5 -24 -22.5 -21 -19.5 -18 -16.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 16.5 18 19.5 21 22.5 24 25.5 27 28.5 30 31.5 33 34.5 36 37.5 39 40.5 42 43.5 45 46.5 48 49.5 51 52.5 54 55.5 57 58.5 0 0 0 0 0 0 0 0 0 0 0; #X array - 101 float 1; #A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 100 100 -100 200 150 1; #X restore 449 428 graph; #X text 547 583 L0; #X text 466 374 Rigidity with Lmin and Lmax; #X text 563 583 Lmin; #X text 625 582 Lmax; #N canvas 0 50 450 300 (subpatch) 0; #X array rigidity3 51 float 1; #A 0 -4.47214 -4.3589 -4.24264 -4.12311 -4 -3.87298 -3.74166 -3.60555 -3.4641 -3.31662 -3.16228 -3 -2.82843 -2.64575 -2.44949 -2.23607 -2 -1.73205 -1.41421 -1 0 1 1.41421 1.73205 2 2.23607 2.44949 2.64575 2.82843 3 3.16228 3.31662 3.4641 3.60555 3.74166 3.87298 4 4.12311 4.24264 4.3589 4.47214 4.58258 4.69042 4.79583 4.89898 5 5.09902 5.19615 5.2915 5.38516 5.47723; #X array - 51 float 1; #A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 6 50 -6 200 150 1; #X restore 241 428 graph; #X text 314 581 L0; #X text 257 375 Rigidity with power = 1/2; #N canvas 0 50 450 300 (subpatch) 0; #X array rigidity4 51 float 1; #A 0 0 -400 -361 -324 -289 -256 -225 -196 -169 -144 -121 -100 -81 -64 -49 -36 -25 -16 -9 -4 -1 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841; #X array - 51 float 1; #A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 1000 50 -1000 200 150 1; #X restore 657 428 graph; #X text 730 582 L0; #X text 688 373 Rigidity with power = 2; #X text 571 12 The equations are :; #X text 497 36 if Lmin<|L[n]-L[0]|