split method

List<CubicBezier> split(
  1. double t
)

Split curve at parameter t into two cubic beziers (de Casteljau)

Implementation

List<CubicBezier> split(double t) {
  final ab = _lerpPt(start, control1, t);
  final bc = _lerpPt(control1, control2, t);
  final cd = _lerpPt(control2, end, t);
  final abc = _lerpPt(ab, bc, t);
  final bcd = _lerpPt(bc, cd, t);
  final mid = _lerpPt(abc, bcd, t);
  return [
    CubicBezier(start: start, control1: ab, control2: abc, end: mid),
    CubicBezier(start: mid, control1: bcd, control2: cd, end: end),
  ];
}