将3D极坐标转换为笛卡尔坐标

乃柔

我一直在大量研究这种转换背后的数学原理,到目前为止,我能想到的最好的方法是:

x = sin(horizontal_angle) * cos(vertical_angle)
y = sin(horizontal_angle) * sin(vertical_angle)
z = cos(horizontal_angle)

对于任意角度,这都可以正常工作。我有问题的地方是旋转之一是0度。在0度(或180或360或...)下,sin()将为零,这意味着我从上述公式中得出的x和y坐标均为零,而与其他角度无关被设置为。

有没有更好的公式可以在某些角度上不会混乱?到目前为止,我的搜索还没有找到,但必须解决此问题。

更新:经过一些实验,我发现我的主要误解是我假设球坐标的极点是垂直的(例如行星上的经度和纬度),而实际上却是水平的(投影到屏幕上)。这是由于我在屏幕空间(x / y映射到屏幕,z投射到屏幕)中工作,而不是在传统的3D环境中工作,但以某种方式认为这不是一个重要因素。

对于我来说,正确确定两极的最终公式是:

x = cos(horizontal_angle) * sin(vertical_angle)
y = cos(vertical_angle)
z = sin(horizontal_angle) * sin(vertical_angle)
快乐戴夫

您的公式对所有角度都是正确的。但是您提供的角度名称可能不太正确。所谓的“水平角”是倾斜角-向量与z轴之间的角度。因此,如果“水平角”为0,则该点位于z轴上,这意味着x和y都为0是正确的。您所说的“垂直角”实际上是xy中的角度飞机。如果为0,则该点位于xz平面中,因此y正确设置为0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将图像从笛卡尔坐标转换为极坐标

来自分类Dev

将笛卡尔坐标转换为极坐标-Matlab

来自分类Dev

枫树,从极坐标转换为笛卡尔坐标?

来自分类Dev

如何在3D中将圆柱坐标转换为笛卡尔坐标以进行绘制?

来自分类Dev

霍夫变换:将极坐标转换回笛卡尔坐标,但仍无法绘制它们

来自分类Dev

将符号笛卡尔坐标转换为球形

来自分类Dev

如何将笛卡尔坐标转换为 360 图像上热点的球面坐标

来自分类Dev

使用imageR将图像从笛卡尔坐标映射到极坐标

来自分类Dev

opengl,从笛卡尔坐标转换球坐标

来自分类Dev

如何从极坐标中补偿笛卡尔坐标中的误差

来自分类Dev

如何将经度,纬度,高程转换为笛卡尔坐标?

来自分类Dev

gluProject将3D坐标转换为2D坐标不能正确转换2D Y坐标

来自分类Dev

笛卡尔坐标系中3d向量的方向是什么意思?

来自分类Dev

使用 n 维生成 3D 笛卡尔表面坐标

来自分类Dev

matplotlib结合极坐标和笛卡尔网格数据

来自分类Dev

如何在PostgreSQL中将球面坐标转换为笛卡尔坐标

来自分类Dev

MatOfPoint笛卡尔坐标

来自分类Dev

极坐标图中元素的matplotlib zorder叠加在笛卡尔坐标图上

来自分类Dev

将屏幕2D转换为世界3D坐标

来自分类Dev

阵列在 3d 球形极坐标中的数值积分

来自分类Dev

将3d钻孔轨迹转换为直角坐标并使用matplotlib进行绘制

来自分类Dev

使用GLM + Answer将屏幕转换为3D世界坐标后结果不佳

来自分类Dev

libgdx:如何将触摸坐标转换为相机NEAR平面上的3D点?

来自分类Dev

是否可以将3D阵列转换为坐标系?

来自分类Dev

如何将平面上的3D点转换为UV坐标?

来自分类Dev

libgdx:如何将触摸坐标转换为相机NEAR平面上的3D点?

来自分类Dev

有没有办法在 VB.net 中将像素坐标转换为笛卡尔坐标

来自分类Dev

在PyQT中将2D屏幕坐标转换为3D坐标

来自分类Dev

尝试将图像添加到极坐标图中会显示“错误:annotation_custom仅适用于笛卡尔坐标”

Related 相关文章

  1. 1

    将图像从笛卡尔坐标转换为极坐标

  2. 2

    将笛卡尔坐标转换为极坐标-Matlab

  3. 3

    枫树,从极坐标转换为笛卡尔坐标?

  4. 4

    如何在3D中将圆柱坐标转换为笛卡尔坐标以进行绘制?

  5. 5

    霍夫变换:将极坐标转换回笛卡尔坐标,但仍无法绘制它们

  6. 6

    将符号笛卡尔坐标转换为球形

  7. 7

    如何将笛卡尔坐标转换为 360 图像上热点的球面坐标

  8. 8

    使用imageR将图像从笛卡尔坐标映射到极坐标

  9. 9

    opengl,从笛卡尔坐标转换球坐标

  10. 10

    如何从极坐标中补偿笛卡尔坐标中的误差

  11. 11

    如何将经度,纬度,高程转换为笛卡尔坐标?

  12. 12

    gluProject将3D坐标转换为2D坐标不能正确转换2D Y坐标

  13. 13

    笛卡尔坐标系中3d向量的方向是什么意思?

  14. 14

    使用 n 维生成 3D 笛卡尔表面坐标

  15. 15

    matplotlib结合极坐标和笛卡尔网格数据

  16. 16

    如何在PostgreSQL中将球面坐标转换为笛卡尔坐标

  17. 17

    MatOfPoint笛卡尔坐标

  18. 18

    极坐标图中元素的matplotlib zorder叠加在笛卡尔坐标图上

  19. 19

    将屏幕2D转换为世界3D坐标

  20. 20

    阵列在 3d 球形极坐标中的数值积分

  21. 21

    将3d钻孔轨迹转换为直角坐标并使用matplotlib进行绘制

  22. 22

    使用GLM + Answer将屏幕转换为3D世界坐标后结果不佳

  23. 23

    libgdx:如何将触摸坐标转换为相机NEAR平面上的3D点?

  24. 24

    是否可以将3D阵列转换为坐标系?

  25. 25

    如何将平面上的3D点转换为UV坐标?

  26. 26

    libgdx:如何将触摸坐标转换为相机NEAR平面上的3D点?

  27. 27

    有没有办法在 VB.net 中将像素坐标转换为笛卡尔坐标

  28. 28

    在PyQT中将2D屏幕坐标转换为3D坐标

  29. 29

    尝试将图像添加到极坐标图中会显示“错误:annotation_custom仅适用于笛卡尔坐标”

热门标签

归档