hi pom NICE work
i was trying somthing similayr but not come sofare like you
BUT :try to go in a fast circle around it and you will see it's laking
that was one of the reason why i give up this thougt
and my hase 1 big advantage (if somebody need it

) you can now how many time you go around the object
PHP Code:
var drag:Number = 8;
R = Q1=QQ1=Q2=QQ2=0;
needle_mc.onEnterFrame = function() {
var distX:Number = this._x-this._parent._xmouse;
var distY:Number = this._y-this._parent._ymouse;
var radians:Number = Math.atan2(distY, distX);
targetRotation = ((radians/Math.PI)*180);
if (targetRotation<0) {
Q1 += (targetRotation-QQ1);
}
QQ1 = targetRotation;
if (targetRotation>0) {
Q2 += (targetRotation-QQ2);
}
QQ2 = targetRotation;
if (Q3-180>targetRotation) {
Q1 += 360;
}
Q3 = targetRotation;
if (Q4+180<targetRotation) {
Q2 -= 360;
}
Q4 = targetRotation;
Q5 = Q1+Q2;
rotateAmt = (Q5-this._rotation)/drag;
R += (Q5-R)/drag;
this._rotation = R;
/////////////////////////////
_root.createEmptyMovieClip("C", 1);
C._x = needle_mc._x;
C._y = needle_mc._y;
for (Q6=0; Q6>R; Q6--) {
C.lineStyle(2, 0xFF0000);
z = 100+Q6*.05;
x = z*Math.cos((Q6-180)*Math.PI/180);
y = z*Math.sin((Q6-180)*Math.PI/180);
C.moveTo(x, y+1);
C.lineTo(x, y);
}
for (Q6=0; Q6<R; Q6++) {
C.lineStyle(2, 0x0000FF);
z = 100-Q6*.05;
x = z*Math.cos((Q6-180)*Math.PI/180);
y = z*Math.sin((Q6-180)*Math.PI/180);
C.moveTo(x, y+1);
C.lineTo(x, y);
}
};

Q is my favorite in the moment