Алгоритм расчета 2D рельефа по наблюдаемым восходам солнца - PullRequest
5 голосов
/ 07 апреля 2011

Команда людей в Южной Америке стоит в точках вдоль экватора на равном расстоянии друг от друга (измеряется от центра Земли).Из-за гористой местности каждый из них стоит на разных высотах.Наша цель - определить их высоту с помощью часов.

В день весеннего равноденствия, когда солнце восходит на восток, каждый человек внимательно ждет и записывает (с впечатляющей точностью и точностью) точное время по Гринвичу, что верхушкасолнце было впервые видно.Для некоторых это время, когда оно появилось за прекрасным южноатлантическим горизонтом.Для других это было время, когда он заглянул за хребет горы.

Учитывая список кортежей, соединяющих долготу наблюдателя со временем, когда они впервые стали свидетелями Солнца, можете ли вы сделать какие-либо конкретные заявления?о конкретной выборке высоты вдоль экватора?Нужно ли знать высоту первого наблюдателя (в этом случае 0 'над уровнем моря, пальцы на воде на пляже)?Нужна ли вам команда людей, чтобы полностью покрыть экваториальный стиль?Если вы не можете решить эту проблему с этой скудной командой из сотен, вы могли бы сделать это с почти бесконечным числом наблюдателей?

Нет, это не домашняя работа.

Ответы [ 3 ]

3 голосов
/ 07 апреля 2011

Для каждого градуса долготы вы можете рассчитать время, когда солнечный свет коснется земли в этом месте по касательной, то есть время, когда теоретический восход должен быть.

Когда солнце встает раньше, наблюдатель, очевидно, стоит на холме. Из разницы между его степенью долготы и степенью долготы точки, в которой Солнце, как ожидается, взойдет в этот момент, вы можете вычислить (я думаю (cotangens(phi) - 1) x radius), насколько выше наблюдатель , чем место, где сейчас должен быть восход . Это дает вам лишь нижнюю границу высоты наблюдателя, потому что точка, где ожидается восход солнца, также может быть на холме.

Когда наблюдатель видит солнце позже, чем ожидалось, он, очевидно, стоит на западной стороне горы. Из времени вы можете рассчитать высоту солнца. Вместе с расчетами следующего наблюдателя на восток вы можете получить верхний предел его высоты.

Если каждый наблюдатель может видеть одного из своих коллег на горизонте (или на вершине холма на востоке) или видеть океан на горизонте, вы можете точно рассчитать их высоты.

2 голосов
/ 07 апреля 2011

Факт получения: точное время по Гринвичу можно использовать для расчета угла солнца к наблюдателю на уровне моря без препятствий.

Чтобы полностью понять это, давайте посмотрим на «изолированный» случай. Если один человек дает вам свою долготу и время по Гринвичу, когда они впервые видят солнце, вы можете определить только угол, под которым солнце было впервые увидено. Это означает, что под этим углом есть препятствие, но над ним ничего нет. Мы не знаем, где мы находимся, как высоко мы находимся, но мы знаем относительно нашего положения, что-то на расстоянии заслоняет солнце

Давайте рассмотрим два основных случая. Человек 1 стоит в океане и видит, что солнце дает нам основу для Времени и Возвышения. Человек 2 стоит немного дальше назад (вероятно, на более высоком уровне) и, вероятно, сначала увидит солнце.

Отсюда 2 случая. Человек 2 может видеть Человека 1: Если это так, то местность между Человеком 1 и Человеком 2 не является препятствием. Мы знаем это, если Человек 2 видит Солнце в то же время или перед Человеком 1. Посредством триггера мы можем определить изменение высоты лица 2, потому что мы создали треугольник, и знаем достаточно углов и имеем достаточно краев, чтобы решить его.

Другой случай не разрешим. Если Лицо 2 не может видеть Лицо 1, это происходит потому, что между Лицом 2 и Лицом 1 существует некоторое препятствие на местности. Мы можем определить, что высота между Лицом 2 и Лицом 1 выше, чем у них обоих, и вы можете предположить приблизительно как выглядит местность, но вы не можете определить высоту Лица 2, потому что они могут быть «прямо за гребнем» или «вниз по склону горы»

Таким образом, несколько сотен, вероятно, не сработают, однако, при наличии достаточного количества наблюдателей, чтобы каждый человек мог видеть хотя бы одного другого человека перед собой (сзади не считается), вы можете определить высоту с относительной точностью.

1 голос
/ 07 апреля 2011

Солнце движется по небу со скоростью 15 градусов долготы в час. Если мы расположим наших наблюдателей на расстоянии 1 градуса долготы, первое из которых будет на восточном краю суши, и все они будут на уровне моря без препятствий, то они будут ожидать, что солнце поднимется с 4-минутными интервалами, и они увидят, что оно поднимается в порядок, с востока на запад. Любые отклонения от этого времени связаны либо с i) высотой, либо с ii) сочетанием высоты и препятствий на востоке.

Мы можем определить абсолютную высоту для наблюдателей, у которых: i) нет больших возвышений к востоку или ii) достаточно продолжительный возврат к уровню моря или ниже, если какие-либо наблюдатели к востоку от местоположения имели более высокую отметку (поэтому что эти препятствия больше не блокируют путь к солнцу). Для этих типов точек мы можем использовать разницу во времени с ожидаемым временем, чтобы определить место, где восход солнца был бы виден на уровне моря (к востоку от местоположения), и пересечь эту касательную с линией, перпендикулярной к Земле. поверхность в месте нахождения наблюдателя. Высота этой линии до точки, где она встречается с касательной, будет абсолютной высотой.

Для наблюдателей, у которых i) наблюдатели с большей высотой к востоку или ii) недостаточное расстояние без препятствий для восстановления линии визирования, мы можем определить истинную высоту, если высота точки непосредственно на востоке известна абсолютно , Для следующей точки мы можем определить абсолютную высоту, только если она выше этой точки. Вполне вероятно, что после ряда точек будет возможно только определить относительную высоту соседних точек, а не их абсолютную высоту. Это потому, что время восхода солнца зависит как от высоты, так и от высоты препятствия на востоке.

Другие важные соображения / вопросы:

  • Кривизна земли (мы рассматриваем сферическую землю или сплюснутый сфероид)
  • Можно ли располагать места ниже уровня моря
  • Горные районы часто облачные (шучу)
  • Можем ли мы использовать визуальную линию обзора между наблюдателями для получения дополнительной информации?
  • Является ли угол дифракции солнечного света атмосферой (и различные толщины атмосферы) значительным фактором?

Следовательно, я думаю, что ответ заключается в том, что не всегда возможно определить абсолютную высоту в каждой точке данной природной местности, хотя существуют теоретические местности, в которых истинная высота каждой точки может быть известна . Я не думаю, что количество наблюдателей имеет значение, это только вопрос интервала выборки и разрешения. Я не думаю, что наличие наблюдателей вокруг всего экватора также помогает. Надеюсь, это может вызвать некоторые размышления:)

...