Generalized Cardioid Shape

3 4 4 4 3
     The a1, b1, c1, d1, e1 parameters correspond to the variable in the following mathematical formula:

       for (let phasea = 0; phasea <= 2 * Math.PI ; phasea += a1 * delta) {
         for (let theta = 0; theta <= 2 * Math.PI * b1 * d1; theta += delta) {

       x = radius * (1 - Math.cos(b1 / c1 * theta + phasea)) * Math.sin(d1 / e1 * theta + phaseb) * Math.cos(theta) ;

       y = radius * (1 - Math.cos(b1 / c1 * theta + phasea)) * Math.sin(d1 / e1 * theta + phaseb) * Math.sin(theta) ;