interpolator function
Creates a function that interpolates from start
to stop
.
Implementation
Interpolator interpolator(List<Point> start, List<Point> stop,
{bool closed = true}) {
start = _normalize_line(start);
stop = _normalize_line(stop);
if (closed) {
var prepared = closed_line.prepare(start, stop);
start = prepared[0];
stop = prepared[1];
} else {
var prepared = open_line.prepare(start, stop);
start = prepared[0];
stop = prepared[1];
}
List<Point> interpolator(num t) {
t = _normalize_parameter(t);
List<Point> result = [];
for (var i = 0; i < start.length; i++) {
result.add(math.pointAlong(start[i], stop[i], t));
}
return result;
}
return interpolator;
}