我有一个由球上的两个点(L 1 ,L 2 )和球体上的第三个点(P)定义的线段。我想找到投影P' P在线段上(L 1 ,L 2 )。
我在飞机上解决了这个问题但需要帮助这个球形版本。
理想的是C#-snipped就像我对2D版本一样:
private Coordinate ProjectOnEdge(Coordinate L1, Coordinate L2, Coordinate P) { // ... }
更正式一点:
我想要通过P的大圆的交点,并且通过L1和L2垂直于大圆。
答案 0 :(得分:0)
您可以组合latlong page的公式,以球坐标工作:
获取跨轨道角距离
XMLHttpRequest
使用它来获得沿轨道的角距离
δxt = asin( sin(δ13) ⋅ sin(θ13−θ12) )
从起点ti终点计算轴承
δat = acos( cos(δ13) / cos(δxt) )
最后使用“目的地点给定距离和起点承载”方法计算坐标:
θ = atan2( sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ )
最后两个步骤可能会改为“中间点”方法