2
球面多余的三角形
球面多余的三角形 众所周知,任何平面三角形的角度之和等于180度。 但是,对于球形三角形,角度之和始终大于 180度。球面三角角之和与180度之间的差称为球面过剩。任务是计算具有给定顶点坐标的三角形的球面超出量。 一些背景 球形三角形是球的三个大圆所定义的球的一部分。 球面三角形的两边和角度都是用角度测量来测量的,因为每一边都可以看作是球体与某个顶角位于球体中心的平面的交集: 每三个不同的大圆定义8个三角形,但我们只需要适当的三角形考虑在内,即。角度和侧面尺寸满足的三角形 根据地理坐标系定义三角形的顶点很方便。在给定端圆的经度λ和纬度Φ的情况下,要计算圆弧的长度,我们可以使用以下公式: ,在哪里 或更明确地: (来源:https : //en.wikipedia.org/wiki/Haversine_formula) 可用于求解球形三角形的两个基本公式是: 余弦定律: 罪法: (来源:https : //en.wikipedia.org/wiki/Spherical_trigonometry#Cosine_rules_and_sine_rules) 给定三个边,使用余弦规则很容易计算角度: 最后,定义一个三角形的球面多余部分: 三角形的球面过盈量与其面积之间的关系有趣的是: 因此,在单位球面上,三角形的多余部分等于该三角形的面积! 任务 编写一个函数或程序,在给定三角形顶点坐标的情况下,以度为单位计算三角形的球面超出量。顶点坐标是根据地理坐标系提供的。 每个顶点都应以形式传递[latitude in degrees][N|S][longitude in degrees][E|W]。当纬度为90时,可以跳过经度和E或。,,,是正确的顶点描述,同时或不是。W 90N90S10N100E30S20W80N55S 在测试案例中,纬度和经度始终是整数。 误差小于1度的答案将被接受(如下例所示)。因此,可以根据实际情况将结果呈现为实数或整数。 例子 输入值 90N0E 0N0E 0N90E 输出量 89.999989 输入值 90N 0N0E 0N90E 输出量 89.999989 输入值 0N0E 0N179E …