select -all; delete; // creates 25 nurbsplanse_ for($npx=0; $npx<5; $npx++){ for($npy=0; $npy<5; $npy++){ // creation nurbsPlane -p 0 0 0 -ax 0 0 1 -w 5 -lr 1 -d 2 -u 5 -v 5 -ch 1 -n ("nPlaneX"+$npx+"Y"+$npy); move -r (5*$npx)(5*$npy) 0 ; } }; // moves the nurbsplanes in z for($npx=0; $npx<5; $npx++){ for($npy=0; $npy<5; $npy++){ $actualPlane=("nPlaneX"+$npx+"Y"+$npy); for($cvx=0; $cvx<=6; $cvx++){ for($cvy=0; $cvy<=6; $cvy++){ select -r ($actualPlane+".cv["+$cvx+"]["+$cvy+"]") ; move -r 0 0 (($cvx*$cvy)/40.0) ; } } } }; // creates random "puzzlepieces" for($npx=0; $npx<4; $npx++){ for($npy=0; $npy<5; $npy++){ $leftPlane=("nPlaneX"+$npx+"Y"+$npy); $rightPlane=("nPlaneX"+($npx+1)+"Y"+$npy); for($cvy=0; $cvy<=6; $cvy++){ $xMove=rand(-0.5,0.5); select -r ($leftPlane+".cv[6]["+$cvy+"]") ; move -r $xMove 0 0 ; select -r ($rightPlane+".cv[0]["+$cvy+"]") ; move -r $xMove 0 0 ; } } }; // creates similar "puzzlepieces" for($npx=0; $npx<4; $npx++){ for($npy=0; $npy<5; $npy++){ $leftPlane=("nPlaneX"+$npx+"Y"+$npy); $rightPlane=("nPlaneX"+($npx+1)+"Y"+$npy); for($cvy=2; $cvy<=4; $cvy++){ $xMove=2.5; select -r ($leftPlane+".cv[6]["+$cvy+"]") ; move -r $xMove 0 0 ; select -r ($rightPlane+".cv[0]["+$cvy+"]") ; move -r $xMove 0 0 ; } } }; // interpolation for($npx=0; $npx<5; $npx++){ for($npy=0; $npy<5; $npy++){ $plane=("nPlaneX"+$npx+"Y"+$npy); for($cvy=0; $cvy<=6; $cvy++){ float $cpLeft[]=getAttr ( $plane+".cp[0][" +($cvy)+ "]" ); float $cpRight[]=getAttr ( $plane+".cp[6][" +($cvy)+ "]" ); $xLeft=$cpLeft[0]; $xRight=$cpRight[0]; $xDelta=($xRight-$xLeft+5.0)/10.0; //print ($xLeft+" "+$xRight+" "); for($cvx=1; $cvx<=5; $cvx++){ select -r ($plane+".cv["+$cvx+"]["+$cvy+"]") ; move -a -os -x (-2.5+$xLeft+$xDelta+(2.0*($cvx-1)*$xDelta)); } } } }; ;