2012-03-12 142 views
1

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

我该怎么做?对不起,这么少的信息,但我现在完全失去了...

回答

1

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

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

采取的步骤:

  1. 创建只是东经矩阵(大小相同原件)。
  2. 对于只是纬度(在此之后,您应该有3个与您的原始大小相同的矩阵 - 纬度,经度,高度)。
  3. 确保那些纬度和经度矩阵是 弧度,不度
  4. 确保您的高度信息是从的 中心球体
  5. 使用sph2cart来获得X,Y,Z矩阵。
  6. 使用surf(X,Y,Z)来绘制结果
  7. 从文档sph2cart

注:

[X,Y,Z] = sph2cart(方位角,仰角,R )将球面坐标数组的相应元素转换为笛卡尔坐标或xyz, 坐标。方位角,仰角和r必须全部大小相同(或者其中任何一个都可以是标量)。方位角和仰角分别为角度为 的平移位移,分别为正x轴和平面的弧度位移。