Algorithm 从观测到的日出计算二维地形的算法

Algorithm 从观测到的日出计算二维地形的算法,algorithm,terrain,Algorithm,Terrain,南美洲的一组人站在赤道上彼此等角距离的点上(从地球中心测量)。由于多山的地形,他们站在不同的高度。我们的目标是使用手表确定它们的高度 在春分点,当太阳从正东升起时,每个人都会聚精会神地等待并记录(以令人印象深刻的精确性)太阳尖端第一次出现的准确时间。对一些人来说,这是它出现在可爱的南大西洋地平线上的时候。对其他人来说,这是它在山顶的山脊上窥视的时候 给出一个元组列表,将观察者的经度与他们第一次看到太阳的时间配对,你能对沿赤道的特定高度采样做出具体的断言吗?你必须知道第一个观察者的海拔高度吗(在这

南美洲的一组人站在赤道上彼此等角距离的点上(从地球中心测量)。由于多山的地形,他们站在不同的高度。我们的目标是使用手表确定它们的高度

在春分点,当太阳从正东升起时,每个人都会聚精会神地等待并记录(以令人印象深刻的精确性)太阳尖端第一次出现的准确时间。对一些人来说,这是它出现在可爱的南大西洋地平线上的时候。对其他人来说,这是它在山顶的山脊上窥视的时候

给出一个元组列表,将观察者的经度与他们第一次看到太阳的时间配对,你能对沿赤道的特定高度采样做出具体的断言吗?你必须知道第一个观察者的海拔高度吗(在这种情况下,高于海平面0’,脚趾在海滩上的水里)?你需要一个团队的人完全覆盖赤道,环绕的风格吗?如果你不能用这个仅有数百人的团队来解决这个问题,你能用几乎无限多的观察者来解决吗


不,这不是家庭作业问题。

可推断的事实:准确的格林尼治标准时间可以用来计算在海平面上没有障碍物的情况下太阳与观众的角度

为了充分理解这一点,让我们看看“孤立”案例。如果一个人给你他们的经度和他们第一次看到太阳的GMT时间,你只能得到第一次看到太阳的角度。这意味着在那个角度有一个障碍物,但上面什么也没有。我们不知道我们在哪里,我们有多高,但我们知道相对于我们的位置,远处的某物遮挡了太阳

让我们来看两个主要案例。第一个人站在海洋中,看到太阳为我们提供了时间和海拔的基线。第二个人站在更远的地方(可能在更高的海拔),可能会先看到太阳

从这里有两个案例。人员2可以看到人员1:如果是这种情况,则人员1和人员2之间的地形是非阻塞性的。如果第二个人同时或在第一个人之前看到太阳,我们就知道这一点。通过trig,我们可以确定person 2的高程变化,因为我们已经创建了一个三角形,并且知道足够的角度和足够的边来解决它

另一种情况是无法解决的。如果人员2看不到人员1,这是因为人员2和人员1之间存在地形障碍物。我们可以确定人2和人1之间的海拔比他们都高,你可以猜测地形的大致情况,但你无法确定人2的海拔,因为他们可能“就在山脊后面”或“在山的斜坡下面”


但是,如果有足够多的观察者,那么几百人可能不起作用,这样每个人至少可以看到前面的一个人(后面不算),你就可以相对准确地确定海拔高度。

对于每一个经度,你都可以计算时间,当太阳光与地球相切时,也就是理论上日出的时间

当太阳提前升起时,观察者显然站在山上。根据他的经度和此时太阳预计升起的点的经度之差,你可以计算(我认为余弦(φ)-1)x半径)观察者比现在应该是日出的地方高出多少。这给了你一个观察者高度的下限,因为太阳现在预计升起的点也可能在山上

当观察者看到太阳的时间比预期的晚时,他显然站在山的西侧。从那时起,你可以计算出太阳的高度。再加上东方下一个观察者的计算,你可以得到他的高度上限


如果每个观测者都能在地平线上(或在东方的山顶上)看到他的一个同事,或在地平线上看到海洋,你就可以准确地计算出他们的高度。

太阳以每小时15度的经度在天空中移动。如果我们将观察者间隔1度经度,第一个是在东部陆地边缘,并且所有人都处于海平面,没有障碍物,那么他们会期望看到太阳每隔4分钟升起一次,他们应该看到太阳从东到西依次升起。与这些时间的任何偏差都与i)海拔或ii)东部海拔和障碍物的组合有关

我们能够确定i)东面海拔不高的观察员的绝对海拔,或ii)如果该位置东面的任何观察员海拔较高,则足以长时间返回海平面或海平面以下的观察员的绝对海拔(以便这些障碍物不再阻挡通往太阳的路径)。对于这些类型的点,我们可以使用与预期时间的时间差来确定在海平面(位置的东面)可以看到日出的位置,并在观察者的位置将该切线与垂直于地球表面的线相交。该直线与切线相交处的高度为绝对高程

对于i)向东的观测者较高或ii)无障碍距离不足以重新建立视线的观测者,如果绝对知道直接向东的点的高程,我们可以确定真实高程。对于下一个点,只有当绝对高程高于该点时,才能确定绝对高程。在经过若干点之后,很可能只能确定相邻点的相对高程,而不能确定其绝对高程。这是因为