Dann würde ich sowas vorschlagen:
Delphi-Quellcode:
// Pos läuft von 0 bis n (n=Anzahl der Punkte)
// Points enthält alle Punkte die auf dem weg liegen sollen
function GetPos(pos: Single; Points: Array of TPoint):TPoint;
var
a, b: Integer;
x: Single;
begin
a := Trunc(pos);
b := Min(Ceil(pos), high(Points))
x := frac(pos);
Result := Points[a] * (1-x) + Points[b] * x;
end;
Das Addieren und multiplizieren von TPoint geht so nicht, aber du weist was ich meine
Das läuft aber umso schneller, je weiter die Punkte entfernt sind ...