我有这个小提琴:http://jsfiddle.net/wQXCL/427/
效果很好。将图像定位在圆弧的末端。但这是因为我在定位图像时拿走了90度(Math.PI/2
)。
在取走90度之前:http://jsfiddle.net/wQXCL/428/
对我而言,它似乎是计算圆上点的公式:
x = cx + r * cos(a)
y = cy + r * sin(a)
起始角度是90度,这是正确的吗?
或者我是否错误地解释了整件事?
答案 0 :(得分:2)
D3的arc.startAngle()
指定为:
角度以弧度表示; 0对应于12点(负y)并顺时针进行,以2π重复。
相比之下,trigonometric functions on the unit circle的定义如下:
从原点(0,0)到(x,y)的光线与正x轴形成角度θ,(逆时针转动为正)
为了弥补这一点,你需要从弧的角度减去π/ 2 ,以便在三角计算中使用它们。