The Biconcave script is a 2d curve generator, which creates a curve in one quadrant of the xy plane.

Repeating the script with Bottom and Left checkboxes puts curves in different quadrants.

Other parameters create different curves. The "bottom" or "left" curves can be different.

Using 500 points results in end tangents perpendicular to x or y axis. ( In the ranges tested ) Rebuild is recommended.

Revolve about the y axis yields a solid resembling an erythrocyte, (red blood cell), for the default parameters in the .htm file.

The Parametric equations are from the paper "Modeling Human Erythrocyte Shape and Size Abnormalities"

http://arxiv.org/ftp/q-bio/papers/0507/0507024.pdf
The source document also modifies the parameters, resulting in deformations resembling Microcytes, Macrocytes, and Stomatocytes.

The sin, cos, and angle phi in the equations are not needed.

This script uses the three Jacobi elliptic functions, sn, cn, and dn, which were previously used in the SeiffertCurve script. q.v.

The Jacobi elliptic functions sn(u|m), cn(u|m), and dn(u|m) are calculated by using AGM, (arithmetic geometric mean,) plus recurrence relation.

Source: Boost and Abramowitz and Stegun, Page 571.

http://www.math.hkbu.edu.hk/support/aands/toc.htm
The parameter "m" is equal to the modulus "k" squared. (k may also equal the eccentricity of some ellipse.)

The parameter "m" is limited to the interval (0,1), which excludes 0 and 1.0. Entries of 0 or 1.0 are set by code to .001 or .9999.

A trial of values of "m" between 1 and 10 yielded "pseudo ellipses", so the code excludes those values also.

The parameter u ranges in value in the interval of [0,U] inclusive, and is used to plot points on the curve.

U = IK = K(k). (Some papers call it K(m)) K(k) is the Complete elliptic integral of the first kind.

U will limit the curve to the first quadrant of the xy plane, for positive height and length.

http://en.wikipedia.org/wiki/Quarter_period
k is the modulus, but m = k*k is used here.

U is calculated with another version of the arithmetic geometric mean, Landen's_transformation.

http://www.robertobigoni.eu/Matematica/Integrali/IntegraliEllittici/Elliptic.html (e = k)

http://en.wikipedia.org/wiki/Landen's_transformation
IE is the Complete elliptic integral of second kind. (Not used)

I also tried a Blend, which created a heart shape.

Bowling pins have a different specification.

The tolerance is "tuned up" to avoid the last two points being incorrect.

- Brian

Edit, deleted version 02, uploaded version 03 with height bulge slider.

Edit, Version 04 is faster, with code in .htm, and the slider works "continuously," with 1/2 second flicker.