Алгоритм прост.

Код AS3:
package ru.wolsh.display
{
import flash.display.DisplayObject;
import flash.geom.Point;
/* * * * * * * * * *
* *
* @author wolsh *
* *
\* * * * * * * * * */
public function pointRotate (object:DisplayObject, center:Point, angle:Number) : void
{
var ra:Number = angle * Math.PI / 180;
var dX:Number = center.x - object.x;
var dY:Number = center.y - object.y;
var dg:Number = Math.sqrt(dX * dX + dY * dY);
var da:Number = Math.asin(dX / dg);
object.rotation = angle;
object.x = center.x - dg * Math.sin(da - ra);
object.y = center.y - dg * Math.cos(da - ra);
}
}