【问题标题】:Cylindrical projection to sphere圆柱投影到球体
【发布时间】:2012-03-12 10:56:21
【问题描述】:

我有一个包含高度信息的二维数组 (lat*long)。我想将此圆柱投影映射到半径为 r 的实际球体并绘制它。

我该怎么做?抱歉,信息太少了,但我现在完全迷路了......

【问题讨论】:

    标签: matlab geometry


    【解决方案1】:

    经纬度不是柱坐标;相反,它们相当于球坐标中的方位角和仰角。在每个纬度和经度上,您都有一个高度(如果它不是真正的高度距中心,则可能需要添加球体的平均半径)。

    查看sph2cart 函数,该函数将球坐标转换为笛卡尔坐标。您必须先将度数转换为弧度。

    采取的步骤:

    1. 使用仅经度创建矩阵(与原始大小相同)。
    2. 只对纬度进行同样的操作(在此之后,您应该有 3 个与原始矩阵大小相同的矩阵 - 纬度、经度、高度)。
    3. 确保那些纬度和经度矩阵在 弧度,而不是度数
    4. 确保您的身高信息来自 球心
    5. 使用sph2cart 获取x、y、z 矩阵。
    6. 使用surf(x,y,z) 绘制结果

    文档中关于 sph2cart 的注释:

    [x,y,z] = sph2cart(azimuth,elevation,r) 变换对应的 将球坐标数组的元素转换为笛卡尔坐标或 xyz, 坐标。方位角、仰角和 r 的大小必须相同(或 它们中的任何一个都可以是标量)。方位角和仰角是有角度的 从正 x 轴和从 x-y 以弧度表示的位移 飞机,分别。

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2011-04-12
      相关资源
      最近更新 更多