![]() |
1
32
这与
Justin Peel
请注意,正如评论中所建议的,我已经
更改了仰角的定义
从你原来的功能。在我的机器上,用
|
![]() |
2
11
下面是我为这个写的一个简单的Cython代码:
我花了300万分从62.4秒降到1.22秒。那不算太寒酸。我相信还有其他的改进可以做。 |
|
3
8
TLDR编号: 我已经用VPython测试过了,用atan2表示theta(elev)是错误的,用 我推荐sympy1.0acos函数(它甚至不抱怨r=0的acos(z/r))。 http://mathworld.wolfram.com/SphericalCoordinates.html 如果我们把它转换成物理系统(r,θ,phi)=(r,elev,方位角),我们得到:
未优化但 对的
您可以使用以下函数自己测试它:
一些象限的其他测试数据:
|
![]() |
4
7
为了完成前面的答案,这里有一个 Numexpr 实现(可能回退到Numpy),
对于大型数组,这允许比纯的Numpy实现提高2倍的速度,并且可以与C或Cython速度相媲美。当前的numpy解决方案(与
尽管尺寸较小,
|