# 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.