球面上过两点的圆的方程是什么?在球坐标中,已知两点的经纬度,longitude_a,latitude_a,longitu

球面上过两点的圆的方程是什么?
在球坐标中,已知两点的经纬度,longitude_a,latitude_a,longitude_b,latitude_b,如何得到以a 点为中心,a到b为半径的圆的方程?
结果最好是参数方程形式
lon=f(xx),lat=g(xx)
设大球半径为R,a到b的距离为小球半径为r,需要求的圆为两个球面的相交圆
已知条件为:大球半径R,由于a,b两点的经纬度已知,故a(xa,ya,za),b(xb,yb,zb)都已经知道,
xa=Rcos(longitude_a)cos(latitude_a),
ya=Rcos(longitude_a)sin(latitude_a),
za=Rsin(latitude_a)
ab的距离r也可以计算出来,以大球中心为坐标原点,
可得大球方程为x^2+y^2+z^2=R^2,
小球方程为(x-xa)^2+(y-ya)^2+(z-za)^2=r^2
大球方程减去小球方程得:2xa*x+2ya*y+2za*z-xa^2-ya^2-za^2=R^2-r^2;
现在问题是我想得到此圆的参数方程,并且结果为经度,纬度,而不是三角坐标里面方程.
如:经度=f(t),纬度=g(t),0
miaowuawu 1年前 已收到3个回答 举报

依然yy 春芽

共回答了27个问题采纳率:96.3% 举报

xa=longitude

1年前

10

ee 幼苗

共回答了113个问题 举报

先把经纬度坐标换算成空间直角坐标啊
在根据空间直角坐标求出半径,从而求出圆的方程,似乎还需已知球的半径 R
而且你问题表述有问题,a为中心,ab为半径不只一个圆,而是一个球体,你要求哪个圆呢?
坐标换算如下
x_a=R*coslongitude_a
y_a=R*sinlongitude_a
z_a=R*sinlatitude_a
同理求出b的...

1年前

2

取个名字真的好难 幼苗

共回答了7个问题 举报

先把经纬度坐标换算成空间直角坐标啊
在根据空间直角坐标求出半径,从而求出圆的方程,似乎还需已知球的半径 R
坐标换算如下x_a=R*coslongitude_a,y_a=R*sinlongitude_a z_a=R*sinlatitude_a
同理求出b的

1年前

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