Next Previous Contents

6. Calculation Modi

This section documents special calculation modi of ShellyLib.

6.1 The Nodule Mode

The parameters "od" and "sd" determine the resolution of the generated shell. But if the shell contains nodules that are thin and long you would have to use very small "od" and "sd" values in order to exactly capture the shape of the nodules. This would lead to a real waste of memory, because between the nodules the high resolution is not necessary. To minimize memory complexity, a special nodule calculation mode has been introduced. This mode adapts both "od" and "sd" while calculating the shell, so that small distances between the calculated points are only used when needed, in the steep regions of the nodules. This process may be controlled with the parameters "Scano", "Scans", "Hdo" and "Hds". "Scano" determines the smallest possible distance of two points in O direction, the same does "Scans" for the S direction. "Hdo" defines the smallest possible difference in height between two points in O direction, the same does "Hds" for the S direction. The difference in height is being calculated using the height of the nodule. The nodule mode may be invoked by the "NODULE" keyword.

"Hdo" and "Hds" are multiplied by the nodule height of the first nodule group, before they are passed to "libshelly", when using the example frontends. Thus, the height difference value is depending on the nodule height. It is now easier to estimate the effect of a certain value, e.g. 0.1 means a tenth of the nodule height, no matter how high the nodule actually is. Note again, that this multiplication is not done by "libshelly".

Unfortunately, the result of this mode is of irregular structure. This means the only possible output type is triangles. No spline output, neither B-spline nor Bezier patches, may be generated using this mode.

6.2 The GenCurve Mode

The original algorithm of M.B. Cortie is limited to ellipsoid generation curves. ShellyLibV2.x allows the user to define any generation curve, using the "GenCurve" mode. This is useful for Cones or the "Miraculous Thatcheria", which were impossible to generate with the old algorithm.

The curve needs to be specified as a list of points with the "GCx:" and "GCy:" keywords. The parameters "a" and "b" still scale the curve as they do it in the other modes with the ellipse, and "A" moves the curve. However note, "smin", "smax" and "sd" have no influence on the shell shape in "GenCurve" mode, the generation curve completely takes over these parameters!

Nodules are possible within this mode, but the result depends highly on the number of points of the generation curve.

Note, that the resolution of the shell depends directly on the list of points. The spaces between the points are not interpolated. The curves provided in the example data files in the "shy" directory are meant to be used with spline output formats like "RPL" or "RIB", because the curves contain only few points. Note that not every output format is possible within this mode at present. You may use: "RPL", "RIB", "BEZ", "SCB".

Switch to this calculation mode with the "GCURVE" keyword.


Next Previous Contents