Kod
var x = radius * Math.sin(degToRad(step));
var y = radius * Math.cos(degToRad(step));
var y = radius * Math.cos(degToRad(step));
to ruch po okręgu:

Kod
var x = radius * Math.sin(degToRad(step))*0.5;
var y = radius * Math.cos(degToRad(step));
var y = radius * Math.cos(degToRad(step));
po elipsie:

Ale nie mam pomysłu, w jaki sposób tę elipsę "pochylić":

Pogooglałem nieco i nigdzie nie znalazłem remedium; tylko rysowanie/torowanie po prostej elipsie. Może ktoś poratowałby wzorem/wskazówką byłego licealistę?

edit:
Hmm, wymodziłem coś takiego:
Kod
var angle = 30;
//so calculate x and y (converting angle into radians)
var y = -radius * Math.cos(degToRad(step))*Math.sin(degToRad(angle));
var x = -(radius * Math.sin(degToRad(step))+y)*(1-Math.sin(degToRad(angle)));
//so calculate x and y (converting angle into radians)
var y = -radius * Math.cos(degToRad(step))*Math.sin(degToRad(angle));
var x = -(radius * Math.sin(degToRad(step))+y)*(1-Math.sin(degToRad(angle)));
Ale chyba nie do końca to.