// // pbSpiralize3 script for Apophysis // (c)2005 by Piotr Borys // utak3r (at) o2 (dot) pl // // Feel free to use it for your own. // If you will make some modifications, // or some very cool stuff with it, // don't hesitate dropping me a note :) // // number of additional transforms n := 3; // angle to rotate each transform a := 10; // scale delta of each transform d := -0.1; // weight delta of each transform w := 0.2; // Ask user for above parameters InputQuery('Script parameter question', 'Number of additional transforms :', n); InputQuery('Script parameter question', 'Transform rotation angle :', a); // Take care of proper transforms count if n+Transforms > NXFORMS then n := NXFORMS-Transforms; // // Let's go! // SetActiveTransform(0); // Create some new transforms s := 1; for i := Transforms to Transforms+n-1 do begin AddTransform; Rotate(i * a); s := s + d; Scale(s); if i mod 2 > 0 then Transform.Symmetry := 1; else Transform.Symmetry := -1; end; // Set colors and weights for each transform for i := 0 to Transforms - 1 do begin SetActiveTransform(i); Transform.Color := i/Transforms; Transform.Weight := (1/Transforms) * i * w; end // Make a first transform a string-like // and set it to linear SetActiveTransform(0); with Transform do begin c := 0.05 d := 0.05 Weight := 0.1; for i := 0 To NVARS - 1 do begin Variation[i] := 0; end; Variation[0] := 1; end; Rotate(random*360); CalculateBounds; ResetLocation := true;