Math 求地球上一点相对于中心的法向量

Math 求地球上一点相对于中心的法向量,math,3d,geolocation,geometry,Math,3d,Geolocation,Geometry,给定地球上的一个大地坐标位置,我试图找到相对于地球中心点的法向量。我已经找到了从大地坐标到ECEF(一个从地心到点的向量)的转换方程,反之亦然,但我不太确定如何找到法向量。谢谢 地球表面上的任何矢量都垂直于地球半径(从地球中心到点的矢量)。切线始终垂直于半径向量到切点。查找法向量: 交叉积 叉积返回与其操作数垂直的向量,因此: 拿你的点A和两个接近点B,C(不是一行) 所以你得到了大地测量位置A(lon,lat)B(lon+d,lat)和C(lon,lat+d) 将A、B、C转换为ECEF或C

给定地球上的一个大地坐标位置,我试图找到相对于地球中心点的法向量。我已经找到了从大地坐标到ECEF(一个从地心到点的向量)的转换方程,反之亦然,但我不太确定如何找到法向量。谢谢

地球表面上的任何矢量都垂直于地球半径(从地球中心到点的矢量)。切线始终垂直于半径向量到切点。

查找法向量:

  • 交叉积

    • 叉积返回与其操作数垂直的向量,因此:
    • 拿你的点
      A
      和两个接近点
      B,C
      (不是一行)
    • 所以你得到了大地测量位置
      A(lon,lat)
      B(lon+d,lat)和
      C(lon,lat+d)
    • A、B、C
      转换为ECEFCartessian
    • 创建向量
      u=B-A
      v=C-A
    • normal=交叉(u,v)
    • 您应该将
      normal
      向量规格化为单位大小
      normal=normal/| normal |
    • 此方法适用于任何类型的曲面(不仅仅适用于球体和椭球体)
    • d
      越小,得到的正常值越精确(但必须是
      d>0
  • 球体

    • 在圆心为
      C
      的球体上,垂直于任何曲面点
      A
      都很容易
    • 因为法线位于穿过点
      A
      和中心
      C
    • 这两个点都应位于ECEF或卡特尔西亚
    • normal=A-C
    • 如果球体未使用
      radius=1.0
    • normal=normal/| normal |
    • 如果椭球体非常接近球体,并且不需要极高的精度,那么也可以用这种方法计算法线
  • 如果您有ECEF或Cartessian方程的大地测量(lon、lat、alt)

    • 然后法向量指向上,所以:
    • A(lon,lat,alt)
      成为你的重点
    • B(lon,lat,alt+d)
      位于
      a
    • d=1
      使点之间的距离为1个单位,因此:
    • A、B
      转换为ECEFCartessian
    • normal=B-A
    • 由于
      d=1
      您不需要进行规范化
  • [附注]

    • 看,你可能也会感兴趣

    地球表面上的任何向量如何垂直于地球半径?切面垂直于半径。这个平面上的任何向量也是法向的。对于“球面”向量也是如此。但是你的问题看起来很奇怪——可能,它的公式是不正确的……我不理解“相对于地球中心到那个点的法向量”。是否希望点处的法线指向椭球体?或者假设地球是球形的,在这种情况下,从中心到点的矢量垂直于球体。