Um das Verhalten der Rakete etwas intelligenter zu machen, könntest du auch die zukünftige Positon des Zielobjekts abschätzen lassen (vorausgesetzt es handelt sich um ein bewegliches Ziel) und die Rakete darauf ausrichten.

Beispielsweise so: (ungetestet)
Code:
var dist = vec_dist(&rakekte->x, &ziel->x);

// Geschätzte Zeit, die benötigt wird, um das Ziel zu erreichen.
var zeit = dist / (rakete->maxGeschwindigkeit + ziel->aktuelleGeschwindigkeit);

// Geschätzte Position, die das Ziel in der Zukunft haben wird.
// Info: 'vecGeschwindigkeit' ist ein Richtungsvektor, der in die
//       Bewegungsrichtung des Ziels zeigt und dessen Länge gleich der
//       aktuellen Geschwindigkeit des Ziels ist.
VECTOR ziel_pos;
vec_set(&ziel_pos, &ziel->vecGeschwindigkeit);
vec_scale(&ziel_pos, zeit);
vec_add(&ziel_pos, &ziel->x);

// TODO: Rakete auf 'ziel_pos' zufliegen lassen.