The radius of the column can now vary as a function of the hight:
The program draws a series of cones of height dh+e on top of each other.
They overlap by e=0.02 so that we will get a continious object without internal, paralell faces. The lower radius of the cone is taken at a height of: i(h/nh) and its upper radius at a height of (i+1/nh)(h/nh), where h is the total height, nh is the number of slices(=cones) in h, and i runs from 0 to 1.
rn(i) are the radi of the sample colums,
r0, the basic radius
a, the strength of the modulation funktion in r
Replace the r-function to make your own shapes.
// define the radius of the column for every height i (i runs from 0 to 1)
// the 'trivial case of a straight column
// a quadratic or parabel column: concave
// (the zero point of the modulation function is at i=0.5
// a quadratic or parabel column: convex
// a sinus function with half a period
// a sinus function with a frequency of 5'Hz', resulting in 5/2=2.5 bloobs
// this 1/x function has is divergend at i=0.5 (meaning the value would be infinity and
// openSCAD stops drawing here)
// the divergence is shifted to 0.55 (0.45, respectatly) and then drawn only for
// the values i=0 to 0.5 (i=0.5 to 1, respectatly)
If someone could give me the formular for greek/roman colums I will make .stl files for them