球面距离
2016-03-12 15:32
281 查看
我们把这个弧长叫做两点的球面距离
求法如下:
如右图,设若角AOB(球心角)为θ,大球的半径为R,A点维度、经度为
,B点维度、经度为
,则球面距离为Rθ
球面距离计算公式:d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2))
cos(d/r)=sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2)
r*cos(d/r)=r*sin(x1)*sin(x2)+r*cos(x1)*cos(x2)*cos(y1-y2)
x1,y1是纬度\经度的弧度单位,r为地球半径
而当y1=y2时,公式就变为:
d=r*|x1-x2|
球面上有三个点A、B、C。A和B,A和C间的球面距离等于大圆周长的1/6,B和C间的球面距离等于大圆周长的1/4。如果球的半径是R,那么球心到截面ABC的距离等于多少?
AB,AC球面距离就是1/6*2πR = α*R,则AC与球心夹角为α=60°,同理BC与球心夹角为90°,
则BC=V2R,AB=AC=R,所以ABC是RT△,经过ABC的小圆半径就是斜边的一半,
小圆半径,大圆半径都知道了,球心距就很容易算出来了。
求法如下:
如右图,设若角AOB(球心角)为θ,大球的半径为R,A点维度、经度为
,B点维度、经度为
,则球面距离为Rθ
球面距离计算公式:d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2))
cos(d/r)=sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2)
r*cos(d/r)=r*sin(x1)*sin(x2)+r*cos(x1)*cos(x2)*cos(y1-y2)
x1,y1是纬度\经度的弧度单位,r为地球半径
而当y1=y2时,公式就变为:
d=r*|x1-x2|
球面上有三个点A、B、C。A和B,A和C间的球面距离等于大圆周长的1/6,B和C间的球面距离等于大圆周长的1/4。如果球的半径是R,那么球心到截面ABC的距离等于多少?
AB,AC球面距离就是1/6*2πR = α*R,则AC与球心夹角为α=60°,同理BC与球心夹角为90°,
则BC=V2R,AB=AC=R,所以ABC是RT△,经过ABC的小圆半径就是斜边的一半,
小圆半径,大圆半径都知道了,球心距就很容易算出来了。
相关文章推荐
- codeforces-611D-New Year and Ancient Prophecy【lcp+dp】【好题】
- android.os.DeadObjectException memory near r0: 异常处理
- STM32:STM32学习记录5: 外部中断
- 关于一个音频播放器在工作时,打开另一个播放器或者进来电话之类的处理
- Html5 手机wap开发、微信开发、APP开发的优缺点-创业者必知
- Java WebService 简单实例
- 编程的学习方法,轻松化,以及短期的学习编程经验总结
- stl部分容器学习及实现
- 6-1、Spark RDD
- 程序的命名规则
- PHPStrom使用SASS,SCSS和Compass
- C++ Primer 5th - 1.1 编写一个简单的C++程序
- 在Mac下配置Gradle命令
- 7. memcache 细节
- 谷歌浏览器debug工具
- STM32:STM32学习记录4:串口
- Scrollview嵌套EditText,使其滑动
- Redis批量删除key
- Redis批量删除key
- SRTM数据介绍与说明