positionAt method

  1. @override
Vector3 positionAt(
  1. double t
)
override

The point on the curve at natural parameter t (clamped to 0..1).

Implementation

@override
Vector3 positionAt(double t) {
  final (segment, s) = _segmentOf(t, _segments);
  final base = segment * 3;
  final p0 = _points[base];
  final p1 = _points[base + 1];
  final p2 = _points[base + 2];
  final p3 = _points[base + 3];
  final u = 1.0 - s;
  return p0 * (u * u * u) +
      p1 * (3.0 * u * u * s) +
      p2 * (3.0 * u * s * s) +
      p3 * (s * s * s);
}