Ja, im Array stehen die Koeffizienten. Wenn du dir in den Sources die Funktion getCubicSplineAt anschaust dann siehst du die kubische Funktion:
Result := K[I*4+0] + (K[I*4+1] + (K[I*4+2] + K[I*4+3]*p)*p)*p; // p := t-I-1
d.h. ausgeschrieben:
Result := K[I*4+0] + K[I*4+1]*p + K[I*4+2]*p^2 + K[I*4+3]*p^3
Sind also genau die Koeffizienten. Zwei Dinge muss man beachten:
1. Die Funktionen sind so konstruiert, als ob eine Stützstelle bei 0 wäre. Das Teilstück ist also verschoben und muss beim Zusammensetzen an die richtige Stelle gebracht werden. Dahinter stecken numerische Überlegungen.
2. Das lineare Gleichungssystem der Matrix berechnet nicht direkt alle a, b, c, d. Sondern erst mal nur die b's. Die restlichen Koeffizienten kann man direkt aus den restlichen Gleichungen bekommen. Das passiert in den letzten 4 for-Schleifen in der Funktion createCubicSpline. Die genauen Formeln dafür entnehme man den Herleitungen (siehe Links unten).
In deinem Dokument habe ich gesehen, dass du den allgemeinen Fall rechnest mit beliebigen h's. Bei meinen Splines werden alle h = 1 gesetzt, um die Rechnung zu vereinfachen (ergibt einen äquidistanten kubischen Spline).
Herleitungen
Eine Kurzherleitung (äquidistanter k. Spline) findest du hier:
mathworld.wolfram.com/CubicSpline.html - hier wird jedoch eine etwas andere Matrix aufgestellt. Ohne nachgerechnet zu haben glaube ich, dass die Herleitung äquivalent ist. Der Unterschied wird durch entsprechend andere Formeln für die c's und d's "ausgeglichen".
Für eine dieser Implementation entsprechende, aber umfangreichere Herleitung, siehe z.B.
numerik.iwr.uni-heid...es/num0/numerik0.pdf Abschnitt 2.3