利用圆的方程,我有
x = rCos(theta)
y = rSin(theta)
现在我想计算。我有
x = -87.91
r = 14.63
的值是多少?使用
Math.acos(x/r)
From MDN
acos方法返回一个介于0和pi弧度之间的数值X在-1和1之间。如果number的值在此范围之外,则为返回NaN。
如果你有x = -87.91
,那么你有r >= 87.91
,所以你有问题。
在这种情况下最好的方法通常是theta = Math.atan2(y, x)
http://en.wikipedia.org/wiki/Atan2
正弦和余弦没有真正的逆,除非你限制它们的范围。因此,acos和asin方法仅在这些受限制的范围内定义(这些范围成为asin和acos的域)。
您必须确保theta
是以弧度为单位的值,并且这种情绪已经完全得到了响应。如果不想在输入值之前进行转换,则可以在计算x
和y
时使用转换公式。
x = rCos(theta * (3.14/180))
y = rSin(theta * (3.14/180))