The basic idea of the algorithm is to simulate a shell shape by rotating a growing ellipse around the z-axis, and simultaneously displacing it from the z-axis. This results in a flat spiral. If we move the ellipse along the z-axis while rotating, a shell like shape will appear. The curve determined by all centers of all ellipses is a so called helico-spiral.
The parameters of this process are divided into 5 groups. Parameters that need to be given in degrees are marked with an asterisk ("*").
These parameters change the shape of the
helico-spiral ("alpha"
* and "beta"
*) and the tilt of
the ellipse against the axes of the local coordinate system of the ellipse
("phi"
*, "my"
*, "omega"
*). Note, that "alpha"
* does
determine the growth rate of the ellipse too.
"alpha2"
* is a new parameter that has been introduced
with V2.2. It works much like "alpha"
* but it only changes the
growth rate of the generating curve. At its default setting
of 90.0, no change to the original growth rate takes place. At a higher
value it will decrease the growth rate determined by "alpha"
*
and vice versa. Due to the dependence from "alpha"
* you have
to find a new value for "alpha2"
* every time "alpha"
* is changed!
See the new "Snail.shy"
for an example.
They change the size (and shape) of the
ellipse ("a"
, "b"
) and the distance of the first ellipses
center from the z-axis ("A"
).
They set how many ellipses are calculated
("omin"
*, "omax"
*, "od"
*), and how many points
on each ellipse are calculated ("smin"
*, "smax"
*, "sd"
*).
Finally, a global scale-factor, independent from all file format specific
scaling, might be applied using "Scale"
.
Change all aspects of nodules, position on the
ellipse ("P"
*), size ("W1"
*, "W2"
*), length ("L"
),
number of nodules per whorl ("N"
) and starting point on
the spiral ("Nstart"
*).
There are three independent groups of nodules.
Add a "2"
to each nodule parameter to set parameters
of the second nodule group. Length of second nodule is therefore "L2"
.
Do the same for the third nodule, with a "3"
.
There are two more parameters to control an offset between the three groups
of nodules, "Off2"
* is the offset between nodule 1 and nodule 2 and
"Off3"
* is the offset between nodule 1 and nodule 3.
"Scano"
, "Scans"
, "Hdo"
,
"Hds"
refer to section
Calculation Modi
for information on these parameters.
"wall"
defines the thickness
of the wall in terms of "a"
and "b"
and "wlen"
*
defines how many degrees into the interior of the shell
the wall should be computed. A simple trick allows the calculation of
the inner walls:
At the aperture of the shell "a"
and "b"
are multiplied with "wall"
and then the shell generator computes
the interior with negative "od"
.
The wall feature is a big win for realism, now even direct views of the aperture of the shell do not reveal the synthetic nature of the shell easily.
Unfortunately, simple scaling of the generating curve does not yield best results in every case, namely the GCURVE-mode. For best results, try to center the custom generation curves.
The most influential parameters wrt. the shell shape are
"alpha"
, "beta"
, "A"
, "a"
and "b"
.
Here are some hints on how certain values change the shape of the shell.