For the first time, I came across three.js in January 2016. Since September I have been working on this issue.
In three.js core elementary geometries are defined.
When designing my “Bumblebee Mara” I needed other shapes and produced them by deformation of sphere and cylinder. http://codepen.io/hofk/pen/eWdZMb
Additionally inspired by https://threejs.org/examples/js/ParametricGeometries.js ( @author zz85 )
I have programmed a three.js addon.
It produces almost infinite many time-varying geometries with currently only 9 properties, 18 functions and 2 arrays. This is easy by specifying the properties, functions and arrays.
A forms library is in process (excerpt):
On my own site is a sandbox, where you can easily create the extended geometry.
http://sandbox.threejs.hofk.de/ Currently only with Firefox.
The bumblebee is there at http://threejs.hofk.de/
Note! At the beginning I even called the variables in German. Later only the comments. This is because I have presented the things in a German forum. The link is at the top.
After a note from Mugen87 I will try to expand THREEf.js to BufferGeometry.
A further idea is to use polar coordinates instead of the cylinder coordinates r, u, v. Now the geometries are based on a cylinder default, then on a sphere.
I am not sure with the name:
THREEaf.js (array, function)