Procedural Inkblot Generator: Refinements

I wasn't totally satisfied with the inkblot distortion algorithm I wrote yesterday, so I decided to refine it today. I wanted something that had the effect of more ink splatter and better edges that would trigger more interesting interpretations. 

I took out my "distort" function and realized it would be much easier to just draw the shapes distorted in the first place using perlin noise to map to an amplification value. 

Here's the basic key to making that work (full code available for download on GitHub):

    for (float a = 0; a < TWO_PI; a += TWO_PI/resolution) { //for each section of the ellipse
      float n = noise(t); //generate a perlin noise value at value t (will always be between 0 and 1)
      float multiplier = map(n,0,1,.5,1.5); //map the noise to an "amplitude" multiplier
      wiggler.vertex(xpos+cos(a)*ellipseWidth*multiplier, ypos+sin(a)*ellipseWidth*multiplier); //go from 0 to TWO_PI in increments and draw a circle with an added amplitude distortion
      wiggler2.vertex(width-(xpos+cos(a)*ellipseWidth*multiplier), ypos+sin(a)*ellipseWidth*multiplier);  //go from 0 to TWO_PI in increments and draw a circle with an added amplitude distortion
    
    t += .1; //increment the timer to vary the noise (smaller values = smoother, less irregular shapes. larger values = spikier shapes. recommended val = .1)
    }

I think the results came out much better!