Меридианная проекция - вода: различия между версиями
(→Алгоритм) |
(→Алгоритм) |
||
Строка 20: | Строка 20: | ||
= Алгоритм = | = Алгоритм = | ||
Рассчет происходит по такому алгоритму: | Рассчет происходит по такому алгоритму: | ||
− | # начальные условия: [[спокойная Земля]] | + | # начальные условия: [[спокойная Земля#сферические координаты]] |
## для каждого тазика {{sym|градиент#спокойствия|строка=скобки}} = {{sym|letter=\theta|строка=нет}} - {{sym|letter=\vartheta|строка=нет}} = {{sym|Deflection_angle#ellipsoidal|строка=скобки}} | ## для каждого тазика {{sym|градиент#спокойствия|строка=скобки}} = {{sym|letter=\theta|строка=нет}} - {{sym|letter=\vartheta|строка=нет}} = {{sym|Deflection_angle#ellipsoidal|строка=скобки}} | ||
## получить пересечения линий градиента с радиусами OQ, OQs и т.д. Пересечения находятся на высотах {{sym|letter=h_{Q_i}|строка=скобки}} и {{sym|letter=h_{Q_s}|строка=скобки}} и т.д. Отрезок, проведенный через эти пересечения, есть проекция общего ребра между соседями. | ## получить пересечения линий градиента с радиусами OQ, OQs и т.д. Пересечения находятся на высотах {{sym|letter=h_{Q_i}|строка=скобки}} и {{sym|letter=h_{Q_s}|строка=скобки}} и т.д. Отрезок, проведенный через эти пересечения, есть проекция общего ребра между соседями. |
Версия 11:47, 13 февраля 2019
Интуитивно понятно изучать Землю в разрезе меридианов.
Самая простая модель[править]
Создадим самую простую модель Мирового океана.
Игнорируем сушу и дно. Интересуемся только водой.
Как считать уровень воды[править]
Имеем один меридиан, разделенный на тазики от северного полюса до южного.
Для расчета уровней воды в тазиках выбираю сферические координаты.
Другие виды координат не подходят, потому что:
- в геоцентрических координатах радиус не перпендикулярен датуму, и градиент спокойствия равен нулю. Но при изменении уровня воды градиент спокойствия становится не равным нулю, поэтому расчеты нужно отвязывать от датума, а по определению это нельзя делать.
- в геодезических координатах радиус перпендикулярен датуму, и градиент спокойствия равен нулю, но для несбалансированной воды радиус настолько изменчив, что объемы соседних тазиков пересекаются, а это усложняет расчеты.
В сферических координатах радиус не перпендикулярен датуму, и градиент спокойствия не равен нулю. Эта особенность позволяет отвязываться от датума и переходить от одного к другому. Также для несбалансированной воды, и при изменении уровня воды радиус стабилен.
Алгоритм[править]
Рассчет происходит по такому алгоритму:
- начальные условия: спокойная Земля#сферические координаты
- для каждого тазика [math]\nabla{g}_q[/math] (градиент спокойствия) = [math]\theta[/math] - [math]\vartheta[/math] = [math]\phi[/math] (Deflection angle ellipsoidal)
- получить пересечения линий градиента с радиусами OQ, OQs и т.д. Пересечения находятся на высотах [math]h_{Q_i}[/math] ([[|]]) и [math]h_{Q_s}[/math] ([[|]]) и т.д. Отрезок, проведенный через эти пересечения, есть проекция общего ребра между соседями.
- разница [math]h_Q[/math] и [math]h_{Q_s}[/math] должна быть 0, а в реальности получен результат с диапазоном 1,8м для [math]k_8[/math], 1м для [math]k_9[/math]
- сумма разниц для двух соседних тазиков (используется при расчете [math]V_{to}[/math] (тазик, объёмы перетекания)) становится симметричной относительно экватора и диапазон меньше 1 см для [math]k_9[/math].
-
- на входе: [math]h_{OQ}[/math] (тазик, высота) и [math]\nabla{g}_e[/math] (градиент волнения)
- изменение градиента сохраняет объем воды тазика с высокой точностью благодаря симметричности в сферических координатах
- на выходе: [math]V_{to}[/math] (тазик, объёмы перетекания), которые нужно перелить через каждое из 4 общих ребер
- перелить воду
- на выходе: [math]h_{OQ}[/math]
- идти на п.2
пересчитывать [math]\nabla{g}_q[/math] (градиент спокойствия) при изменении [math]a[/math] - Эллипсоид, большая полуось, [math]g[/math] - [[|]], а также при значительном изменении [math]h_{OQ}[/math]