With the addons you can create many different shapes. You just have to find out the right functions.
see GitHub - hofk/THREEf.js: three.js addon, to produce almost infinite many time-varying geometries / buffer geometries with functions (cylindrical coordinates) and http://sandbox.threejs.hofk.de/
In the forms library:
http://sandboxthreef.threejs.hofk.de/formLibrary.html
quite similar
//0020 curved shell @author hofk
radius: 80,
radiusSegments: 80,
rCircHeight: function ( u, v, t ) { return Math.sqrt( v ) },
topHeight: function ( u, t ) { return 0.8 + 0.2 * Math.sin( 16 * Math.PI * u ) }