Меридианная проекция - вода: различия между версиями
(→Алгоритм) |
(→Примеры) |
||
Строка 35: | Строка 35: | ||
пересчитывать {{sym|градиент#спокойствия|строка=скобки}} при изменении {{sym|letter=a}}, {{sym|letter=g}}, а также при значительном изменении {{sym|тазик#высота|строка=нет}} | пересчитывать {{sym|градиент#спокойствия|строка=скобки}} при изменении {{sym|letter=a}}, {{sym|letter=g}}, а также при значительном изменении {{sym|тазик#высота|строка=нет}} | ||
− | = Примеры = | + | = [[:Category:Визуальные результаты модели рельефа|Примеры]] = |
На следующих изображениях северных полюс находится вверху, южный - внизу. Экватор посередине. | На следующих изображениях северных полюс находится вверху, южный - внизу. Экватор посередине. | ||
Слева направо возрастает модельное время, то есть левая сторона изображения показывает начальные условия. | Слева направо возрастает модельное время, то есть левая сторона изображения показывает начальные условия. | ||
− | + | Глубины отсчитываются относительно формы Земли в эллипсоидальном приближении. | |
+ | Нулевая отметка глубины окрашена в зелёно-синий цвет (Aquamarine). | ||
− | + | Закругленности вверху и внизу оставлены для красоты... | |
− | [[file:HighLowBasin_1.png]] | + | |
− | + | = первый пример = | |
− | + | Один тазик поднимается с глубины 500м, а другой опускается с высоты 500м: | |
− | + | [[file:HighLowBasin_1.png|1000px]] | |
+ | |||
+ | Видно, что вода падает с высоты и поднимается с глубины, сохраняя неестественную отвесность сторон тазиков. Это вызвано тем, что [[Тазик#Перетекание воды|вода перетекает через ребра верхней грани, а не через ребра сторон]]. | ||
+ | |||
+ | Возникающая волна выглядит естественно. | ||
+ | = второй пример = | ||
+ | Постепенно уменьшаем [[центробежное ускорение]]: | ||
+ | [[file:EarthRotationStopping_1.png|1000px]] | ||
+ | |||
+ | Видно, что высота волны постепенно увеличивается и смещается к полюсам. | ||
+ | |||
+ | Можно посмотреть в изменяющемся масштабе, когда на каждый момент времени масштаб выбирается таким, чтобы экстремальные значения были выделены самым контрастным цветом: | ||
+ | |||
+ | [[file:EarthRotationStopping_1_dyn.png|300px]] | ||
+ | |||
+ | Легенда показывает масштаб для последнего момента, потому что рост волны не останавливается. | ||
+ | |||
+ | Высота волны в 172 метра (разница между полюсами и экватором) - это конечно, мало для данного случая, но здесь я столкнулся с ограничениями компьютера. | ||
+ | |||
+ | К высоте волны в 7 километровой компьютер шел около получаса. |
Версия 12:11, 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]
Примеры[править]
На следующих изображениях северных полюс находится вверху, южный - внизу. Экватор посередине.
Слева направо возрастает модельное время, то есть левая сторона изображения показывает начальные условия.
Глубины отсчитываются относительно формы Земли в эллипсоидальном приближении. Нулевая отметка глубины окрашена в зелёно-синий цвет (Aquamarine).
Закругленности вверху и внизу оставлены для красоты...
первый пример[править]
Один тазик поднимается с глубины 500м, а другой опускается с высоты 500м:
Видно, что вода падает с высоты и поднимается с глубины, сохраняя неестественную отвесность сторон тазиков. Это вызвано тем, что вода перетекает через ребра верхней грани, а не через ребра сторон.
Возникающая волна выглядит естественно.
второй пример[править]
Постепенно уменьшаем центробежное ускорение:
Видно, что высота волны постепенно увеличивается и смещается к полюсам.
Можно посмотреть в изменяющемся масштабе, когда на каждый момент времени масштаб выбирается таким, чтобы экстремальные значения были выделены самым контрастным цветом:
Легенда показывает масштаб для последнего момента, потому что рост волны не останавливается.
Высота волны в 172 метра (разница между полюсами и экватором) - это конечно, мало для данного случая, но здесь я столкнулся с ограничениями компьютера.
К высоте волны в 7 километровой компьютер шел около получаса.