raup#

ktch.coiling.raup(w_r: float, t_r: float, d_r: float, delta_r: float = 0.0, gamma_r: float = 0.0, r0: float = 1.0, theta_range: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | None = None, phi_range: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str] | None = None, aperture=None, output: str = 'surface') ndarray[tuple[Any, ...], dtype[float64]][source]#

Generate a form from Raup’s model.

Raup’s logarithmic shell coiling model [Raup_1965] [Raup_1966] describes a shell by a trajectory of a generating curve that expands, rotates, and translates along a fixed coiling axis.

Parameters:
w_rfloat

Whorl expansion rate \(W_R\) (> 1).

t_rfloat

Translation rate \(T_R\). t_r = 0 gives a planispiral.

d_rfloat

Relative position of generating curve \(D_R\), in (-1, 1).

delta_r, gamma_rfloat, default = 0.0

Aperture orientation \((\Delta, \Gamma)\) (the global rotation is Rz(gamma_r) Rx(delta_r)). (0, 0) is the classical radial-axial aperture plane.

r0float, default = 1.0

Initial tube radius (scale).

theta_rangearray-like of shape (n_theta,), optional

Coiling-angle (radians). Defaults to four whorls.

phi_rangearray-like of shape (n_phi,), optional

Aperture-angle samples. Defaults to np.linspace(0, 2*pi, 90).

apertureNone

Aperture shape.

output{“surface”}, default = “surface”

Form representation to return. Only "surface" is implemented; other representations are reserved.

Returns:
Xndarray of shape (n_theta, n_phi, 3)

Surface coordinates.

References

[Raup_1965]

Raup, D.M., Michelson, A., 1965. Theoretical Morphology of the Coiled Shell. Science 147, 1294–1295.

[Raup_1966]

Raup, D.M., 1966. Geometric analysis of shell coiling: general problems. Journal of Paleontology 40, 1178–1190.