• 球面两点间的角距离应用


    问题1:给出目的地,计算自己所在地点到目的地的距离?

    通过GPRS,可以测量出自己所在地和目的地的经纬度。

    然后所在地,目的地和地心,这三点在同一平面上形成一个弧形。

    只要求出弧形的角度,即两点的角距离,就能求出弧形的弧长,即两点的球面距离。

    问题2:给出指定时间,计算出该时间点,某建筑的影子长度?(注:影子是切面影面,并不是球面影子)

    太阳入射点,指的是太阳连接地心的直线,与地面的交点的经纬度。

    通过指定时间,可以计算出太阳的入射点的经纬度。

    通过GPRS,可以测量出某建筑所在位置的经纬度。

    建筑所在切面上形的形子,与建筑构成直角三角形。

    太阳连接地心的直线与建筑点的切面有一个交点,这个交点到建筑点的连线,与建筑点到地心的连线构成直角三角形。

    两个三角形相似,只要求出太阳入射点与建筑点的角距离,就能求出影子长。

    问题3:已知两点的经纬度,如何求出两点的角距离?

    假设:两点A和B的经纬度分别为(α1,β1),(α2,β2)。

    在空间上,经纬度的含意是,点(0,r,0)先绕x轴旋转β度,再绕Z轴旋转α度,r是球体半径,即地球的半径。

    根据这个含意,可以得出坐标(x1,y1,z1):

      x1 = r*cos(β1)*cos(α1)

      y1 = r*cos(β1)*sin(α1)

      z1 = r*sin(β1)

    同理得出坐标(x2,y2,z2)。

    根据两点距离公式,可以得出:

      AO = r

      BO = r

      AB = r * √(2 - 2*cos(β1)*cos(β2)*cos(a1-a2) - 2*sin(α1)*sin(α2))

    已知三边,得出AOB:

      AOB = arccos( cos(β1)*cos(β2)*cos(a1-a2) + sin(α1)*sin(α2) )

    总结:

    两点间的球面距离公式:AB = r * ∠AOB,r为地球半径。

    建筑的切面影长公式:l = h * tan(∠AOB),h为建筑高度。

  • 相关阅读:
    django项目部署服务器后无法发送邮箱 错误信息:Connection unexpectedly closed
    python
    python
    获取当前时间减去 xx时,xx分,xx秒
    Python之List和Tuple类型(入门3)
    AndroidProjects个人项目归纳
    Android面试问题收集总结
    Python变量和数据类型(入门2)
    Python简单介绍以及Python环境搭建(入门1)
    Andriod ADB Interface驱动安装失败Configure USB Debug for Android
  • 原文地址:https://www.cnblogs.com/hvicen/p/6054628.html
Copyright © 2020-2023  润新知