Tal vez te interese
este artículo, que aunque está en inglés y los ejemplos son en C los conceptos matemáticos sirven igual.
Por cierto, ¿estás utilizando
Allegro.pas? Lo digo porque dentro de poco (un par de semanas o así) se va a publicar la cuarta beta con mogollón de correcciones y se necesitarán probadores.
[edit]
Por cierto, que para hacer una órbita elíptica basta con utilizar dos radios:
Código Delphi
[-]Point.x := Centro.X + Round (Radio.X * Cos (Angulo));
Point.y := Centro.Y + Round (Radio.Y * Sin (Angulo));