Generating Jellyfish

The Hat

We can approximate the jellyfish hat with an elliptic paraboloid. This is parametrized by:

x = a * sqrt(u) * cos(v)
y = b * sqrt(u) * sin(v)
z = u

Or, in Processing:

void drawEllipticParaboloid(int sides, float r1, float r2, float h)
{
    float angle = 360 / sides;
    beginShape(LINES);
    for (int h1 = 0; h1 < h; h1++) {
      for (int v = 0; v < sides + 1; v++) {
        float rdns = radians(v*angle);
        float x1 = r1 * sqrt(h1) * cos(rdns);
        float y1 = r2 * sqrt(h1) * sin(rdns);
        vertex(x1, y1, sin(rdns) * 0.05 + h1);
      }
    }
    endShape(CLOSE);
}

Tentacles: Jellyfish tentacles are formed around the rim of the hat. At first I tried approximating this with damped sine waves, but this didn't look jellyfish-like. Using a helix works out better.
Arms: These come from the center and can be approximated with damped sine waves.