getPoint( t, optionalTarget = new THREE.Vector3() ) {

			const point = optionalTarget;
			t = 2 * Math.PI * t;
			const x = - 0.22 * Math.cos( t ) - 1.28 * Math.sin( t ) - 0.44 * Math.cos( 3 * t ) - 0.78 * Math.sin( 3 * t );
			const y = - 0.1 * Math.cos( 2 * t ) - 0.27 * Math.sin( 2 * t ) + 0.38 * Math.cos( 4 * t ) + 0.46 * Math.sin( 4 * t );
			const z = 0.7 * Math.cos( 3 * t ) - 0.4 * Math.sin( 3 * t );
			return point.set( x, y, z ).multiplyScalar( 20 );

		}
A bunch of parametric curves

Formulas collected from various sources
http://mathworld.wolfram.com/HeartCurve.html
http://mathdl.maa.org/images/upload_library/23/stemkoski/knots/page6.html
http://en.wikipedia.org/wiki/Viviani%27s_curve
http://mathdl.maa.org/images/upload_library/23/stemkoski/knots/page4.html
http://www.mi.sanu.ac.rs/vismath/taylorapril2011/Taylor.pdf
https://prideout.net/blog/old/blog/index.html@p=44.html