length method

double length()

Implementation

double length()
{
  int steps = 10;
  double length = 0.0;
  late double px;
  late double py;

  for (double i = 0.0; i <= steps; i += 1)
  {
    double t = i / steps;
    double cx = _point(
      t,
      x0,
      x1,
      x2,
      x3,
    );
    double cy = _point(
      t,
      y0,
      y1,
      y2,
      y3,
    );
    if (i > 0) {
      double xdiff = cx - px;
      double ydiff = cy - py;
      length += Math.sqrt((xdiff * xdiff) + (ydiff * ydiff));
    }
    px = cx;
    py = cy;
  }

  return length;
}