求球面两线的交点已知地球球面上两条线,知道每条线上各两点的经纬度,求这两条线在球面的交点的经纬度.

chongqing2105 1年前 已收到2个回答 举报

phsfp 幼苗

共回答了26个问题采纳率:80.8% 举报

如果学过立体解析几何的话这个问题其实很简单.
如果没有学过也没关系,只要有平面解析几何的基础就不难理解以下解法.

不妨把地球看为一个球体,地心设为球心O,设半径为R,
南北极所在线设为Z轴,那么赤道平面就可以看做xy轴平面了,
且本初子午线所在平面与赤道所在平面的交线设为X轴,
那么地球上任一点坐标(x,y,z)满足方程:
x^2+y^2+z^2=R^2

且任一点A(x,y,z)与经纬度坐标是对应的,
设某点纬度为θ,经度为ω,
那么有:
x=cos(ω)cos(θ)R,
y=sin(ω)cos(θ)R,
z=sin(θ)R

所以当给出两点的经纬度时A1(ω1,θ1),B1(ω2, θ2),
可以得到两点的立体坐标A1(x1,y1,z1), B1(x2,y2,z2),
且经过A1,B1的大圆所在平面经过原点,
所以利用三点坐标可以得到它们所在的平面方程(三点决定一个平面).
不妨设此平面方程为:
a1*x+b1*y+c1*z=0,

同理由另外两点的经纬度确定的平面方程为:
a2*x+b2*y+c2*z=0,

加上球面方程共三个方程
a1*x+b1*y+c1*z=0,
a2*x+b2*y+c2*z=0,
x^2+y^2+z^2=R^2
(a1,a2,b1,b2,c1,c2,R都是已知的参数)

求出交点坐标:(x0,y0,z0)(一般是关于地心对称的两个交点)
最后利用: x0=cos(ω)cos(θ)R,y0=sin(ω)cos(θ)R,z0=sin(θ)R
就可以得到相应的经纬度坐标了.

另外说明下:
1)设北极为Z轴正的方向,本初子午线与赤道交点为X轴正方向,
2)此处计算把常用的经纬度表示转化为了弧度制.
3)且ω∈[-π,π],当ω∈[-π,0)时为西经,当ω∈[0,π]时为东经,θ∈[-π/2,π/2],当θ∈[-π/2,0)时为南纬,当θ∈[0,π/2]时为北纬,

1年前

8

5232523 幼苗

共回答了6个问题 举报

只能提示你一下了,
建立一个空间坐标系,以地球的轴心为Z轴,旋转方向切向,为所在平面的X轴,垂直方向为Y轴,根据每条线上的两点经纬度,分别求出,每条直线所对应的圆的空间方程;
可得2个方程,解这2个方程的方程组就能得到对应的,2个交点坐标;...

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.033 s. - webmaster@yulucn.com