Dar*_*ton 7 svg trigonometry raphael
我正在开发一个小型的webapp,我需要在其中旋转形状.我想通过抓住圆上的一个点然后拖动它来旋转图像来实现这一点.
这是一个快速说明,以帮助解释事情:

我的主圆可以在画布上的任何位置拖动.我知道它的半径(r)和12点(p0)总是(cx,cy - r).我需要知道的是p1的度数(0-360º)所以我可以用Raphael.rotate()相应地旋转主圆的内容.
我已经通过一系列不同的JavaScript配方来找到这个(示例),但似乎没有一个给我0-360之间的值,而我的基本数学技能都非常不足.
在颜色选择器演示(滑动沿右边的环光标)有我想要的行为,但即使钻研的源代码后,我似乎无法准确地复制它.
任何指向我正确方向的东西将不胜感激.
// Angle between the center of the circle and p1,
// measured in degrees counter-clockwise from the positive X axis (horizontal)
( Math.atan2(p1.y-cy,p1.x-cx) * 180/Math.PI + 360 ) % 360
Run Code Online (Sandbox Code Playgroud)
圆心和p0之间的角度始终为+ 90°.有关Math.atan2详细信息,请参阅