大圆弧 通过两断点经纬度确定,已知大圆弧上一点的纬度 求这个点经度
转化为 两个平面求交点的问题 大圆弧是一个平面 纬度所在纬度圈为一个平面 两者会相交成一条直线
a1x+b1y+c1z=0(大圆弧平面过原点(0,0,0),d=0)
a2x+b2y+c2z+d2=0
其中 x y z 是空间直角坐标系 又有
x = Rcos(B)cos(L)
y = Rcos(B)sin(L)
z = Rsin(B)
其中 a1到d2这些参数很容易通过三个点确定平面参数得到 大圆弧的三个点分别是 原点(0,0,0) 大圆弧两个端点(φ1,λ1)(φ2,λ2)==>两个空空间直角坐标系
对于纬线圆 过小圆圆心(0,0,R*sinφ)R为地球半径 和任意两个纬度等于φ的点(φ,λ1)(φ,λ2)两个空空间直角坐标系
所以上面五个方程 只有一个未知数 即L经度 易得结果
算法有误 其实对于小圆弧形成的方程是一个恒等式
因此只需要运用
a1x+b1y+c1*z=0(大圆弧平面过原点(0,0,0),d=0)
x = Rcos(B)cos(L)
y = Rcos(B)sin(L)
z = Rsin(B)
四个方程即可得到结果 需要利用三角函数的辅助角公式 其中要注意 a1=0和a2=0的特殊情况