code: function getBezierCoordinate(t, c1, c2) {
    // Special case start and end.
    if (t === 0 || t === 1) {
      return t;
    }
  
    // Step one - from 4 points to 3
    let ic0 = t * c1;
    let ic1 = c1 + t * (c2 - c1);
    const ic2 = c2 + t * (1 - c2);
  
    // Step two - from 3 points to 2
    ic0 += t * (ic1 - ic0);
    ic1 += t * (ic2 - ic1);
  
    // Final step - last point
    return ic0 + t * (ic1 - ic0);
  }
docs: Compute a single coordinate at a position point between 0 and 1.
  c1 and c2 are the matching coordinate on control points P1 and P2, respectively.
  Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
  Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
  @param {number} t
  @param {number} c1
  @param {number} c2
  @return {number}