Die ersten Animationssysteme waren Key Framing Systeme. Ähnlich wie bei Zeichentrickfilmen werden an ausgewählten Zeitpunkten Key Frames oder Schlüsselbilder aufgenommen, die eine möglichst hohe Aussagekraft für die Gesamtbewegung haben. Für alle dazwischen liegenden Zeitpunkte werden die Bilder interpoliert. Key Framing spart dadurch Speicherplatz, zu Lasten eines höheren Rechenaufwandes.
Key Framing basiert auf der Grundüberlegung, daß in einer Animationsszene nicht jedes Momentanbild abgespeichert werden muß, sondern nur ausgewählte Keyframes oder Schlüsselbilder, die eine möglichst hohe Aussagekraft für die Gesamtbewegung haben. Die dazwischenliegenden Bilder werden durch Interpolation, sogenanntes Inbetweening berechnet.
In Abbildung 8-5 ist eine Animationssequenz mit 8 Schlüsselbildern eines Ballwurfes zu sehen. In den Bereichen der Parabel, in denen die Flugbahn nahezu geradlinig erfolgt, müssen nur wenige Schlüsselbilder festgehalten werden, im Kurvenbereich viele. Die Aufgabe eines Key Framing Algorithmus' wäre es in diesem Beispiel, die Flugbahn des Balles aufgrund der Stützstellen zu berechnen und die fehlenden Bilder zum Zeitpunkt der Animationswiedergabe zu ergänzen. Im einfachsten Fall können Stützstellen mit Geraden verbunden werden, in Bezug auf Abbildung 8-5 erhält man dann folgende Flugbahn:
Es gibt aber auch noch eine weitere Methode zwischen den Stützstellen die Funktion zu approximieren, dies ist die Approximation durch kubische Splines. Der Einfachheit halber wird hier eine Approximation durch kubische Splines nur mit äquidistanten Stützstellen hergeleitet. Es ist aber kein sehr aufwendiges Problem, die kubischen Splines auch für nicht äquidistante Stützstellen herzuleiten. Approximiert werden soll eine Funktion f(x) im Intervall [a,b] durch Vorgabe der Stützstellen.

Es sind beliebig viele Stützstellen möglich, die erste Stützstelle wird mit a bezeichnet, die letzte Stützstelle wird mit b bezeichnet, der Abstand zwischen zwei Stützstellen ergibt sich zu h.
Bei der Approximation durch Splines sucht man in jedem Teilintervall ein (i.a. verschiedenes) Näherungspolynom Sk(x) und sorgt dafür, daß die Polynome an den Intervallenden ''glatt'' aneinander anschließen. Üblich ist die Forderung nach Übereinstimmung von Funktionswert, sowie 1. und 2. Ableitung (d.h. Tangente und Krümmung). Dies ist möglich mit Polynomen ab Grad 3. Das bedeutet, die kubische Splinefunktion ist eine zweimal stetig differenzierbare Kurve, die aus Polynomsegmenten vom Grad 3 aufgebaut ist.
An dieser Stelle ist es vielleicht auch interessant zu erwähnen, daß die Approximation einer Funktion durch eine kubische Splinefunktion der Biegelinie eines elastischen Balkens entspricht. Spline heißt im Englischen elastische Platte, und wird seit jeher als Kurvenlineal im Schiffsbau zum Zeichnen von Biegelinien benutzt.
Im folgenden soll nun die allgemeine Berechnung der kubischen Splinefunktionen durchgeführt werden. Es sei Sk(x) das Splinepolynom im Intervall [xk,xk+1]. Dieser Sachverhalt ist auch in Abbildung 8-7 dargestellt. Das Polynom Sn(x) wird formal zur Berechnung definiert, auch wenn es nicht direkt in der Lösungsmenge benötigt wird. Für Sk(x) empfiehlt sich folgender Ansatz:

Für die im Approximationsbereich auftretenden n Polynome S0 bis Sn-1 sind insgesamt 4*n Koeffizienten zu bestimmen.
Bedingungen für die Splinepolynome:
(a) Interpolation am linken Rand: 
(b) Übergangsbedingungen:
(b1) Stetigkeit: 
(b2) 1. Ableitung: 
(b3) 2. Ableitung: 
In den Bedingungen (a), (b1) und (b3) wurde das Hilfspolynom Sn(x) mit verwendet. Hierdurch kann die Interpolationsbedingung am rechten Rand (siehe Bedingung (a) und (b1)) und eine Übereinstimmung der Krümmung am rechten Rand erreicht werden. Daraus resultiert aber auch, daß die Koeffizienten

des Hilfspolynoms bestimmt werden müssen. Insgesamt sind deshalb 4*n+2 Koeffizienten zu bestimmen. Die Bedingungen (a) und (b) liefern aber nur 4*n Gleichungen. Die noch fehlenden 2 Gleichungen werden durch die Randbedingungen an den Stellen a und b festgelegt. Bei natürlichen Splines fordert man zusätzlich am Rand den Übergang der Splinefunktionen in Geraden. Dadurch lassen sich folgende Zusatzbedingungen formulieren:
(c) Randbedingungen: 
Da der Übergang in Geraden erfolgen soll, ist die zweite Ableitung an diesen Stellen 0.
In der weiteren Ausarbeitung soll nun gezeigt werden, daß sich mit diesen 4*n+2 Bedingungen die Koeffizienten der Splinepolynome S0 bis Sn-1 eindeutig berechnen lassen.
Als erster Schritt werden die Gleichungen für die Koeffizienten aufgestellt:

Die entsprechenden Gleichungen für k-1 lauten:

Auf diese Gleichungen werden nun nacheinander alle Bedingungen angewandt:
Bedingung(a): Alle Koeffizienten ak müssen sich aus den y-Werten der Stützstellen ergeben

Bedingung(c): An den äußeren Rändern sollen die Splinefunktionen S0 und Sn in Geraden übergehen

Bedingung(b3):

Bedingung(b1):

Bedingung(b2) mit Einsetzen von Lösungsgleichungen nach Bedingung(b3)

Zusammengefasst ergeben sich 5 Gleichungssysteme, die eindeutig lösbar und numerisch gutartig sind. Um ein konkretes Beispiel zu rechnen, müssen nur noch die Gleichungssysteme der Reihe nach ausgewertet werden:

Um nun hinter diesem Formelwirrwarr auch eine Anwendung zu sehen, soll folgendes Beispiel durchgerechnet werden. Es soll die Flugbahn eines Balls nachgebildet werden, mit nur 3 Stützstellen. In Abbildung 8-8 ist die Flugbahn zu sehen, die durch die Approximation von Geraden erreicht wird. Wir werden sehen, daß sich dieses Ergebnis durch kubische Splines wesentlich verbessern läßt.
Gesucht sind die beiden Splinepolynome S0 und S1. Gegeben sind folgende Stützstellen:

Ansatz für die Splinepolynome:

für das Hilfspolynom S2(x) werden nur die Koeffizienten a2 und c2 benötigt:

Auswertung der Lösungsgleichung (1)

Auswertung der Lösungsgleichung (2)

Auswertung der Lösungsgleichung (5) liefert nur eine gültige Gleichung für k = 1

Auswertung der Lösungsgleichung (4)

Auswertung der Lösungsgleichung (3)

Daraus ergeben sich nun die folgenden Splinepolynome:

Mit diesen beiden Splinepolynomen sieht unsere Flugbahn folgendermaßen aus:
Die Approximation mit kubischen Splines ist erstaunlich gut, insbesondere, wenn man bedenkt, daß nur 3 Stützstellen verwendet wurden! Man beachte auch die exakte Symmetrie, denn die linke Hälfte der Flugbahn ist durch eine andere Funktion approximiert als die rechte Hälfte.