半正矢 ⇐ 文章草稿
初步文章
1767965281
Anonymous
[h4]
“半正矢公式”是球面三角学中的一个方程,可用于根据地理经度和地理纬度计算球面上两点之间的大圆距离。它在导航中非常重要,代表了更一般的半正矢定律的一个特例,该定律涉及球面三角形的边和角。
==历史==
===早期开发===
半正矢函数于 1801 年由西班牙天文学家 José de Mendoza y Ríos 首次在导航表中使用,数学历史学家 Florian Cajori 对此进行了记录。Florian Cajori:“数学符号史”。第2卷,第3版。开放法庭出版公司,芝加哥,1952 年,第 14 页。 172.Mendoza y Ríos 发表了各种表格,使用半正矢方法(他的发明)来简化航海天文学和导航的计算。José de Mendoza y Ríos:“Memoria sobre algunos métodos nuevos de calular la longitud por las distances Lunares”。 Imprenta Real,马德里,1801 年。 他的表格有助于使用月球距离计算经度 - 这是 18 世纪和 19 世纪初最重要的导航方法之一。
第一个已知的英语半和弦表由 James Andrew 于 1805 年出版,名为“Squares of Natural Semi-Chords”。James Andrew:“天文和航海表”。伦敦 1805 年。 此名称指的是函数的几何意义,即弦长一半的平方。
===命名与分发===
“半正矢”一词于 1835 年由詹姆斯·英曼 (James Inman) 在其著作《航海与航海天文学:供英国海员使用》第三版中创造。詹姆斯·英曼:“航海与航海天文学:供英国海员使用”。第三版。 W. Woodward, C. & J. Rivington,伦敦,1835 年。 他引入了这个新表格,以简化使用球面三角法计算地球表面两点之间距离的过程。这个名字由“ha”(“half”)和“versine”组成,因此意思是“half Versine”。
詹姆斯·英曼(James Inman,1776-1859 年)是英国数学家和天文学家、朴茨茅斯皇家海军学院数学教授,也是《英曼航海表》的作者。《牛津国家传记词典》。牛津大学出版社,2004 年。 他对半正矢函数的介绍极大地简化了球面三角函数的公式,他的表格被所有航海家广泛使用。
===历史意义===
在计算机出现之前,事实证明,消除两倍的除法和乘法非常方便,以至于 19 世纪和 20 世纪初的导航和三角学教科书中都包含了半正矢值和对数表。Glen Robert van Brummelen:“天堂数学:被遗忘的球面三角学艺术”。普林斯顿大学出版社,2013 年,ISBN 978-0-691-14892-2,第 123-125 页。 1984 年,在《Sky & Telescope》杂志(“半正矢的优点”)中,Roger Sinnott 描述了如何在简单的 TRS-80 计算机上用 BASIC 对半正弦公式本身进行编程,以精确计算恒星之间的角距离。R. W. Sinnott:“半正矢的美德”。在:“天空和望远镜”。第 68 卷,第 2 期,1984 年,第 19 页。 159.
== 数学基础 ==
=== 半正弦函数 ===
半正弦函数定义为:
\operatorname{hav}(\theta) = \sin^2\left(\frac{\theta}{2}\right) = \frac{1 - \cos(\theta)}{2}
半正弦函数计算角度 θ 的半正弦或单位圆(球体)上角度的半弦长的平方。Eric W. Weisstein:“半正弦”。数学世界。 9 号检索。 2025 年 1 月。 它与旧的 Versine 函数相关:
\operatorname{versin}(\theta) = 1 - \cos(\theta) = 2 \cdot \operatorname{hav}(\theta)
=== 半正矢公式 ===
对于球体上坐标为 (φ₁, λ₁) 和 (φ2, λ2) 的两个点(其中 φ 表示纬度,λ 表示经度),半正弦公式为:Chris Veness:“在 JavaScript 中使用半正弦公式计算两个纬度/经度点之间的距离和方位”。可移动字体脚本,2019 年。
a = \sin^2\left(\frac{\Delta\varphi}{2}\right) + \cos(\varphi_1) \cdot \cos(\varphi_2) \cdot \sin^2\left(\frac{\Delta\lambda}{2}\right)
c = 2 \cdot \arcsin\left(\sqrt{a}\right)
d = r \cdot c
这是:
* ''d'' 寻找的距离
* ''r'' 是球体的半径(地球约6371公里)
* Δφ = φ2 - φ₁(纬度差)
* Δλ = λ2 - λ₁(经度差)
=== 半正矢定律 ===
对于由连接三点 u、v 和 w 的大圆定义的单位球体表面上的“三角形”,半正矢定律指出:Smart, W. M.:“球面天文学教科书”。第 6 版。剑桥大学出版社,剑桥,1977 年,ISBN 0-521-29180-1,第 12–14 页。
\operatorname{hav}(c) = \operatorname{hav}(a-b) + \sin(a) \cdot \sin(b) \cdot \operatorname{hav}(C)
其中“a”、“b”和“c”是球面三角形的边长,“C”是与边“c”相对的角度。
== 数值属性 ==
===数值稳定性===
半正矢公式的一个关键优点是其数值稳定性,特别是对于小距离。B. Hofmann-Wellenhof、H. Lichtenegger、J. Collins:“GPS - 理论与实践”。 Springer,维也纳 2001,ISBN 3-211-83534-2。 由于半正弦公式使用正弦函数,因此它避免了使用球面余弦定律时可能出现的抵消问题。
根据球余弦定律,当点靠近时(例如,地球上相距一公里),可能会产生 cos(d/R) = 0.99999999,从而导致结果不准确。Sinnott, R. W.:“半正弦的优点”。在:“天空和望远镜”。第 68 卷,第 2 期,1984 年,第 19 页。 159.半正矢公式通过使用正弦函数来解决这个问题,正弦函数对于小角度来说在数值上更加稳定。
=== 准确度限制 ===
半正矢公式只是应用于地球时的近似值,因为它不是一个完美的球体。Snyder, J. P.:“地图投影 - 工作手册”。美国地质调查局专业论文 1395。美国政府印刷局,华盛顿特区,1987 年,第 16–17 页。“地球半径”R 从两极的 6356.752 公里到赤道的 6378.137 公里不等。更重要的是,地球表面南北线的曲率半径在两极(约 6399.594 公里)比在赤道(约 6335.439 公里)大 1%,因此半正弦公式不能保证精确到 0.5% 以上。Rapp, Richard H.:“几何大地测量学,第一部分”。俄亥俄州立大学,1991 年,第 18-19 页。
文森蒂公式和其他大地距离|地理距离公式给出了考虑地球椭圆率的更精确的方法。
==与其他方法的比较==
=== 半正矢 vs. 文森蒂 ===
半正矢公式和 Vincenty 公式是计算地球表面距离的两种最常用的方法:Vincenty, T.:“应用嵌套方程的椭球上测地线的正解和逆解”。在:“调查回顾”。第 23 卷,第 176 期,1975 年 4 月,第 88–93 页。
示例:使用半正矢公式计算浦那(印度)和悉尼(澳大利亚)之间的距离为 6236.243 英里,使用 Vincenty 公式计算为 6231.892 英里。GeeksforGeeks:“使用半正矢公式查找球体上两点之间的距离”。 2022 年。检索于 9 日。 2025 年 1 月。
==实际应用==
===导航和交通===
半正弦公式利用球体表面上两点的纬度和经度来计算球体上两点之间的最短距离,这对于导航非常重要。海军部导航手册。第 1 卷。文具局,1987 年,ISBN 0-11-772880-3。 它用于:
* 航空:飞行路线和距离的计算
* 航海:确定航线
* GPS导航:导航设备中的路线计算
===地理信息系统===
半正矢公式用于天文学、大地测量学和导航等各个领域。de Smith, M. J.、Goodchild, M. F.、Longley, P. A.:“地理空间分析”。第 6 版。 The Winchelsea Press,2018。 现代应用包括:
* 地图应用和地理空间数据分析
* 基于位置的服务
* 数据库中的距离计算
===实施===
PHP 中的实现示例:Rosetta 代码:“Haversine 公式”。检索日期:2025 年 1 月 9 日。
Mobile version