Many sea shells grow without changing shape: each turn is a scaled copy of the last. The rule is a logarithmic spiral, r = a·e^(bφ), with the tube’s size and the spire’s drop both proportional to r. You will place a circle square to the spiral at each step and loft through them, then mark every ring with a growth line.
Reference: choose on the canvas toolbar to load the finished definition.
Build it
The spiral
-
Place six sliders: Turns: 3 (1 – 5), Start radius: 1 (0.5 – 5), Spire: 1.6 (0 – 3) and Opening: 0.7 (0.2 – 0.9) with Decimals
2; Rings: 60 (20 – 120) with Decimals0; and Growth: 0.14 (0.05 – 0.25) with Decimals3. -
Place an Expression (Maths), End angle,
2*pi*x, with Turns → x. Place a Range (Maths), φ, with End angle → E and Rings → N. -
Place an Expression, Spiral radius,
y*exp(z*x), with φ → x, Start radius → y and Growth → z. -
Place three Expression components for the ring centres: X
x*cos(y)and Yx*sin(y)(Spiral radius → x, φ → y), and Z-x*y(Spiral radius → x, Spire → y). Wire them into a Construct Point (Vector).
Rings square to the spiral
-
Place three Expression components for the tangent, the derivative of the centre with respect to φ:
-
Tangent X:
x*(z*cos(y) - sin(y)). -
Tangent Y:
x*(z*sin(y) + cos(y)). -
Wire Spiral radius → x, φ → y and Growth → z on both.
-
Tangent Z:
-x*y*z, with Spiral radius → x, Spire → y and Growth → z. -
Wire all three into a Vector XYZ (Vector).
-
-
Place a Multiplication (Maths) and wire Spiral radius → A and Opening → B: each ring’s radius.
-
Place a Circle CNR (Curve). Wire Construct Point → C, Vector XYZ → N and the Multiplication → R: 61 rings, each square to the spiral.
Shell and growth lines
-
Place a Loft (Surface), wire the circles → C and tick Flatten on C.
-
Place a Multiplication with B
0.05after the ring radius, and a Pipe (Surface), Growth lines: Circle → C, the Multiplication → R. Each ring gets a ridge proportional to its size. -
Turn Preview off on Construct Point and Circle CNR.
What is happening
Everything is proportional to r: the distance from the axis, the drop down the spire (z = −Spire·r) and the tube’s radius (Opening·r). Multiplying r by a constant therefore scales the whole cross-section about the apex, which is what makes the shell self-similar. Each turn multiplies r by e^(2πb); with the defaults that is 2.4, and with Opening at 0.7 each whorl nearly touches the one before. The geometry tests check the growth ratio between neighbouring rings and that every ring’s centre sits at z = −Spire·r.
The tangent is the derivative of the centre’s position, so each circle is square to the spiral and the loft does not twist. The shell updates in about a second.
Things to try
-
Set Spire to 0 and Opening to 0.3 for a flat, ammonite-like coil (with a wider opening the flat whorls run into each other), or Spire to 3 for a tall turret shell.
-
Lower Opening to 0.4: the whorls separate into an open horn.
-
Raise Growth to 0.2 and lower Turns to 2 for a fast-flaring shell like a conch.
-
Delete the growth lines for a smooth, porcelain shell.