问题标签 [spherical-coordinate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 球体上的高斯拟合
我在地球表面有一组空间数据 [lat,lon,intensity]。绘制数据surf(lon,lat,intensity)
显示表面是高斯形状的。我想将二维高斯函数拟合到数据中,以获得数据的中心和分布(均值和方差)。
很容易将数据的二元高斯函数拟合为 [x,y,intensity]。但是我的数据是在球体上采样的。纬度和经度不能被视为笛卡尔坐标中的 x 和 y。
c++ - 双鱼眼坐标到等角坐标的转换
以下链接表明我们可以使用以下等式将双鱼眼坐标转换为等角坐标:
我应用上述方程来编写我的源代码,如下所示:
不幸的是,我的数学不足以理解这一点,并且不确定我是否正确编写了上面的代码,我试图猜测 px、py 和 pz 的值。
假设我的相机 FOV 为 220 度,相机分辨率为 2880x1440,我希望重叠区域中后置摄像头的点 (358, 224) 和重叠区域中前置摄像头的点 (2563, 197) 都会映射到接近 (2205, 1009) 的坐标。然而实际映射点分别是(515.966370,1834.647949)和(1644.442017,1853.060669),它们都离(2205,1009)很远。请建议如何修复上述代码。非常感谢!
matlab - 笛卡尔网格中 Matlab 中的球面插值
我有一个 3D 图像。我需要对该图像进行球面波分解,因此我需要将笛卡尔网格中的 3d 图像转换为球坐标。
如果下面的内容太长而无法阅读,我想要的要点是我想要一个映射球面坐标的映射,这样,尤其是在我的原点附近,我没有很多缺失的信息。
首先,我进行球面转换。
从这里我被困住了。我如何使用我的 phis 和 thetas 以及 r 沿着弧线进行插值(我只是假设它是弧线,因为它是一个球体)。
我实际上对此进行了一些搜索,并将这段代码放在一起进行插值,但我无法验证它是否有效。主要是因为大部分是从类似的问题中复制和修改的。
python - 使用 matplotlib 在纵向截面中绘制流图
我有一个球壳模拟,想绘制一个纵向切片,如下所示,显示流线。
带流线的子午线截面
这里显示的虚线和实线是使用 matplotlib 绘制的,使用从径向和角速度获得的流函数的轮廓,vr
以及vtheta
。但是,我想使用流图来实现相同的目的。有人可以指导我如何做到这一点吗?
谢谢!
如果您需要更多信息或代码片段,请询问。
matlab - 如何对任意变量进行傅里叶变换?
我想采用以下形式的 FFT: 球坐标中的傅立叶
所以实际上,myf(theta,phi)
是一个 3D 图像体素,即它有 f(radius,theta,phi)。如果我必须对 dx 进行积分,那相当于只选择我的 IMG(ylocation,:,zlocation)=currentvoxel 并在其上运行 fft(currentvoxel)。但是,现在我只需要沿着 phi 进行 fft。这很难,因为它需要我找到所有具有 theta=currenttheta 的位置,并且对于每个 r=currentr,我必须找到所有的 phi 来获取 fft。
我什至不知道如何展开 phi 以获取 fft。当它是笛卡尔坐标时,这很容易,只需从 x=0,..x=end 开始并运行 fft。phi大小写一样吗?获取某个 r,theta 上的所有 phi 并将它们排序为 0 到 2pi并取 fft?
或者可能像这样的正弦/余弦变换: 余弦/正弦变换
如果这是 af(x,y),我认为在 MATLAB 中执行此操作的方法是采用 dct(f*(x.^2+y.^2))。换句话说,运行离散余弦变换。我对吗?
第二部分的额外说明:我感兴趣的积分是:bessel where j_l(kr):扩展 j_l 并 最终进一步扩展 F_(l)(t) 由前面给出:余弦/正弦变换
matlab - 使用 pdepe 的球形网格
我想知道是否可以使用 Matlab 的pdepe函数来制作球形网格?我的 pdes 系统是在一个球体中定义的,所以我想相应地解决。不幸的是,我的互联网搜索没有给出有用的结果。先感谢您!
fortran - 3d球面极坐标阵列的数值积分
我想在 r、theta 和 phi(球极)中整合一个 3d 阵列。对于 1d,我使用辛普森的 1/3 规则,但对于 3d,我对此感到困惑。另外,您想建议任何其他集成或子程序的方法吗?我正在使用 Fortran 95。
wolfram-mathematica - 带三角函数的 Mathematica 转换规则
我是一个偶尔的 Mathematica 用户,我正在尝试将表达式从球面坐标转换为笛卡尔坐标。
我的功能定义为:
我希望使用以下规则来转换该功能:
为了得到结果:
这是我用来执行此操作的代码:
我得到的结果是:
所以没有发生转变。
有没有我可以添加的函数或选项来帮助 Mathematica 确定转换是可能的?谢谢!
python - 绘制表面球谐函数的便捷方法?
有谁知道一个好的和简单的方法来做到这一点?
在线工具或 Python 脚本会很棒。
到目前为止,我发现的最好的是: https ://tex.stackexchange.com/questions/268830/drawing-spherical-harmonic-density-plots-on-the-surface-of-a-sphere-in-tikz- pgfp
但是,我无法安装mpl_toolkits.basemap
,然后漂亮的脚本就停止了。
python - 使用 Python 在球坐标中靠近大地线的点
我正在使用球坐标(经度/纬度,harsine 度量),并试图找到一种有效的方法来找到所有靠近大地线的点,并且它们的投影线在线上。我已经看到几个库可以进行空间索引或对几何执行操作,例如计算交点以及几何是否包含另一个几何,但我没有找到可以在球坐标中对几何进行空间索引和操作的库。因此,我自己尝试了一些东西。使用 scikit-learn 的 BallTree 进行空间索引和使用半正弦度量查询点,我执行了以下操作:
- 输入:点、line_point1、line_point2、distance_threshold
- 对点执行空间索引
- 通过在 line_point1 和 line_point2 之间进行 SLERPing,以最多 distance_threshold 的间隔查找线上的点
- 对于包括 line_point1 和 line_point2 在内的每个插值点,执行 sqrt(2)*distance_threshold 的半径查询(以保证没有误报)。删除重复项并在 query_points 中获取结果
- 删除 query_points 中距离线比 distance_threshold 更远的所有点,或者它们的投影线不在线上。可以通过简单的封闭式解决方案来完成。
我想知道是否存在不需要重新发明轮子的更有效和更简单的解决方案。
我在 10000 个坐标上测试了我的实现,这些坐标在 lon/lat -1 到 1 之间均匀分布在赤道周围。我附上了收到的输出图像。青色是线本身,蓝色是靠近线的点,橙棕色是不靠近线的点。