I need to rotate one Shape component (ellipse) around the other one (circle). It's seems to me that it's better to do it with polar coordinates. So the rotation formula is:
X := Round(CenterX + SIN(Angle) * Radius);
Y := Round(CenterY + COS(Angle) * Radius);
where X, Y - ellipse coordinates, Radius - rotation radius; Angle is rotation angle; CenterX, CenterY - center of rotation.
Also I got that in Timer component I must write the following code:
Angle := Angle + 0.01;
if Angle> 2*Pi then Angle := Angle - 2*Pi;
And Shape must be redrawn.
It would look like this:

But I can't gather all in a bunch. I don't know how to organize this all. Thanx for any help.