问题标签 [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.

0 投票
1 回答
402 浏览

python - 如何操作 3D 数组以将笛卡尔坐标转换为球坐标

所以我是 Python 新手,我想将包含笛卡尔坐标的 3D 数组转换为球坐标。我已经完成了计算转换的函数:

但是,如果我有一个随机数组 (N,N,N),例如

并将 x、y 和 z 坐标传递给我的函数以将笛卡尔坐标转换为球坐标

我不断得到错误的转换结果。我尝试了不同的方法,但仍然无法弄清楚我做错了什么。

0 投票
0 回答
13 浏览

spherical-coordinate - 如何从 0 到 9 波段获得笛卡尔坐标中的真实球谐函数?

如何从 0 到 9 波段获得笛卡尔坐标中的真实球谐函数?如下图:在此处输入图片描述

0 投票
0 回答
132 浏览

python-3.x - 在 Astropy 中使用 SphericalCircle 在 (-180, +180) 度之间包裹银河经度

我正在尝试使用 astropy 中的 SphericalCircle 模块在银河坐标系中绘制球面。我无法将银河经度角包裹在 (-180, 180) 度而不是默认的 (0, 360) 度之间。下面是我正在尝试做的一个例子。

更新 1:添加更多详细信息。行 gal_long = gal.l.wrap_at(180*u.deg).deg 将经度包裹在 (-180, 180) 之间,但看起来 SphericalCircle 默认将其更改回 (0, 360)。有没有办法强制 SphericalCircle 在 (-180, 180) 约定中返回圆?

0 投票
0 回答
188 浏览

python - 如何在 3D 球体上正确绘制 2D 数组

我在球坐标中定义了一个恒定半径的函数。(即二维数组)

我的目标是在球体上正确绘制它。我想使用 plotly 但由于我的计算机太新或由于内部问题,我不能,并且出现以下错误

错误:根:无法创建 GLX 上下文。中止。

无论如何,我按照这个例子选择了 Cartopy 库:在 Python 中在 3D 球体上绘制圆柱地图数据

这是我的代码:

我得到这个图像。

在此处输入图像描述

但是,我有几个问题即使在阅读 Cartopy 说明后也无法解决。你能帮我澄清一下吗?首先,我如何确定我的图像的经纬度与所需的一致?我想它在范围参数中,但如果我按照我的行空间输入:

我再也得不到了。我的第二个问题是如何检查指示了哪些标签。例如,在我的图像上显示了纬度,但我如何获得经度?我很难理解这种情节的传说是如何运作的。

当然,如果您有其他库来获得这种我感兴趣的东西。

0 投票
0 回答
47 浏览

3d - 计算投影在球体内部的矩形

想象一个投影仪位于半径为 r 的球体中心。我正在使用一个坐标系,其中 XY 是地平面,+ve Z 是“向上”。投影仪具有俯仰角(从 XY 平面仰角 +/-90 度)、偏航(围绕 Z 轴旋转 0-360 度)以及水平和垂直 FOV(hFOV 和 vFOV)。我要计算的是球体内部投影图像的球面矩形(我假设它包含四个由弧连接的顶点)。我的目标是在 3D 中绘制投影矩形,所以我想我还需要沿每个 FOV 进行插值以计算连接每个顶点的边弧。

为了让事情变得更有趣,这款(了不起的!)投影仪可以拥有高达 360 度的 hFOV 和高达 180 度的 vFOV。显然 360 度的 hFOV 将不再投影球形矩形,但我可以将其视为特殊情况。

我尝试将俯仰/偏航/fov视为极坐标,但是投影矩形的顶部和底部随着它们靠近Z轴极点而变小 - 直观地说,我希望投影图像在任何时候都具有相同的大小俯仰/偏航,前提是它具有相同的 FOV。

谁能解释我如何计算这个?我考虑计算 XY 平面中的 hFOV 位置,然后围绕与投影方向矢量正交的轴旋转它们,但我不禁想到有一种更简单的方法。

谢谢。

0 投票
2 回答
127 浏览

python - 将球面坐标转换为笛卡尔坐标然后再转换回笛卡尔坐标并不能提供所需的输出

我正在尝试编写两个函数来将笛卡尔坐标转换为球坐标,反之亦然。以下是我用于转换的方程式(也可以在此Wikipedia 页面上找到):

在此处输入图像描述

在此处输入图像描述

这是我的spherical_to_cartesian功能:

这是我的cartesian_to_spherical功能:

而且,这是驱动程序代码:

我无法弄清楚为什么我得到的thetaphi值与我的初始值不同(输出值甚至不接近输入值)。我是否在我的代码中犯了一个我看不到的错误?

0 投票
0 回答
50 浏览

image - 如何将位置从图像转换为球面/相机坐标系?

我可以使用以下关系将图像转换为球坐标系吗?

0 投票
2 回答
90 浏览

javascript - 我将如何编写一个程序来根据一个角度围绕一个球体旋转,就像绕着它走一样?

我正在做一个项目,我需要(作为 2d 点)绕着 3d 球体走动。我无法弄清楚如何在没有极性失真的情况下实现这一目标。基本上我想要前进、后退、左转和右转,以及左转和右转。我一直在尝试使用球坐标进行此操作,但我的功能似乎不正确。我该怎么做才能让它工作?(我正在使用 p5.js 库在 JavaScript 中制作这个)

目前,我正在尝试将 x 和 y 变量分别映射到球形空间的 phi 和 theta。但是,它似乎不起作用,而且我不确定正确实施该点是否会在大圈中移动。

我还使用角度变量将 x 和 y 移动 (cos(A), sin(A)),但我不确定这是否也有效。

我认为我需要做的是与大圆导航有关,但我不了解它背后的数学。

链接到我当前的版本:https ://editor.p5js.org/hpestock/sketches/FXtn82-0k

当前代码看起来像

0 投票
0 回答
27 浏览

geometry - 如何计算从 360 度相机拍摄的两个图像之间的旋转(在 Python 上)

我有两张由同一个 360° 相机拍摄的图像。感谢物体检测算法,我可以得到这两张图像上共轭点的像素坐标。所以我也有共轭点的球坐标。是否可以使用所有这些来计算相机的旋转?

从零旋转参考相机拍摄的图像

从旋转的相机拍摄的图像

正如您在模拟中看到的那样,第一张照片是从相机以 0 旋转拍摄的。第二张照片是通过改变同一台相机的方向获得的。图像中墙壁上看到的红色、蓝色和绿色标记由图像处理算法检测。例如,通过物体检测算法可以得到两幅图像中绿色标记的像素坐标和球坐标。我们还有标记的世界坐标。总而言之,我有两个图像中共轭标记的像素-球形-地面坐标。如何使用此信息计算相机的方向?

0 投票
0 回答
27 浏览

vector - 如何从 XYZ 度转换为法线向量?

我在 Blender 中做一些脚本来获取 3D 模型的横截面,给定一个平面在某个 XYZ 旋转。

但是,当对 3D 模型进行“二等分”或沿平面方向对其进行切割时,您必须提供切割平面旋转到的法线向量。

如何从 XYZ 旋转角度或弧度转换为法线向量?

例如...

为了这个问题,假设初始 XYZ 旋转是这样给出的:

...最终的矢量坐标如下所示:

先感谢您...