0

如何通过两点、半径、圆心来计算扇区的角度。我试试这个:(p1,p2 - 圆中的点,中心 - 圆的中心)

startAngle = (int)(180 / Mathf.PI * Mathf.Atan2(p1.y - center.y, p1.x - center.x));
endAngle = (int)(180 / Mathf.PI * Mathf.Atan2(p2.y - center.y, p2.x - center.x));
4

2 回答 2

1

您可以使用叉积和标量积找到向量到第一个点和第二个点之间的角度。这种方法给出了有符号(有向)角。

dy1 = p1.y - center.y;
dx1 = p1.x - center.x;
dy2 = p2.y - center.y;
dx2 = p2.x - center.x;
SectorAngle = Mathf.Atan2(dx1*dy2-dx2*dy1, dx1*dx2+dy1*dy2)
于 2016-04-06T16:13:42.910 回答
1

假设你想测量绕 x 轴逆时针方向的角度,你所拥有的对我来说看起来不错。

这里是 Latex,下标零数量是圆的中心。

于 2016-04-06T13:13:25.190 回答