通常,极坐标从 0 到π到 2π(实际上就在 2π 之前,因为它又等于 0)。然而,当使用 JavaScriptatan2()
函数,我得到了一个不同的、奇怪的范围:
Cartesian X | Cartesian Y | Theta (θ)
===========================================================
1 | 0 | 0 (0 × π)
1 | 1 | 0.7853981633974483 (0.25 × π)
0 | 1 | 1.5707963267948966 (0.5 × π)
-1 | 1 | 2.356194490192345 (0.75 × π)
-1 | 0 | 3.141592653589793 (1 × π)
-1 | -1 | -2.356194490192345 (-0.75 × π)
0 | -1 | -1.5707963267948966 (-0.5 × π)
1 | -1 | -0.7853981633974483 (-0.25 × π)
正如你所看到的,达到后π(180°),它会跳到 –π (–180°),然后返回到 0。我怎样才能让它使用这个范围{0, ..., 2π}代替{–π, ..., π}?我一直在尝试考虑每一个计算来“修复”这些值,但我也想知道为什么 JavaScript 选择这个范围而不是典型的极坐标范围。谢谢!
这是相当标准的atan2
返回该范围内的角度;例如,这就是atan2
C 标准库中确实如此。
如果您想要 0..2pi 而不是 -pi..pi,请测试结果是否为负数,如果是则添加 2pi。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)