Получить географическую карту для Земли, вращение которой остановилось: различия между версиями
(→Алгоритм) |
(→Алгоритм) |
||
Строка 14: | Строка 14: | ||
= Алгоритм = | = Алгоритм = | ||
− | + | # [[считать градиент спокойствия]] | |
+ | # | ||
+ | #* на входе: {{sym|тазик#высота|fine=,|строка=скобки}} и {{sym|градиент#волнения|строка=скобки}} | ||
+ | #: изменение градиента сохраняет объем воды тазика с высокой точностью благодаря симметричности в сферических координатах | ||
+ | #* на выходе: {{sym|тазик#объёмы_перетекания|fine=,|строка=скобки}}, которые нужно перелить через каждое из 4 общих ребер | ||
+ | # перелить воду | ||
+ | #* на выходе: {{sym|тазик#высота|строка=нет}} | ||
+ | #* идти на п.2 | ||
− | + | пересчитывать {{sym|градиент#спокойствия|строка=скобки}} при значительном изменении {{sym|тазик#высота|строка=нет}}, а также при изменении {{sym|letter=g}} ({{sym|letter=a}} и литосфера), | |
− | |||
− | |||
− | |||
− | |||
− | |||
= Динамика воды = | = Динамика воды = |
Версия 21:07, 10 февраля 2019
комментарии в LiveJournal
Алгоритм моделирования рельефа слишком ресурсоёмкий. По этой причина, а также из-за того, что в будущем планирую моделировать движения людей, то начну с малоресурсоёмкого алгоритма. Назовем его "направленная волна". Имеется вектор силы. Тазики группирую в ряды, перпендикулярные силе. Сначала расчет идет на уровне рядов, а потом можно внутри ряда. Реалистичной динамики: с вихрями, пеной и брызгами не будет, но будет некоторая иллюзия поверхностного натяжения.
Как хранить уровень воды тазика[править]
В геоцентрических координатах радиус не перпендикулярен датуму, и градиент спокойствия равен нулю. Но при изменении уровня воды градиент спокойствия становится не равным нулю, поэтому расчеты нужно отвязывать от датума, а по определению это нельзя делать.
В геодезических координатах радиус перпендикулярен датуму, и градиент спокойствия равен нулю, но для несбалансированной воды радиус настолько изменчив, что объемы соседних тазиков пересекаются, а это усложняет расчеты.
В сферических координатах радиус не перпендикулярен датуму, и градиент спокойствия не равен нулю. Эта особенность позволяет отвязываться от датума и переходить от одного к другому. Также для несбалансированной воды, и при изменении уровня воды радиус стабилен.
Выбираю сферические координаты для расчета уровней воды в тазиках.
Алгоритм[править]
- считать градиент спокойствия
-
- на входе: [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]h_{OQ}[/math], а также при изменении [math]g[/math] - [[|]] ([math]a[/math] - Эллипсоид, большая полуось и литосфера),
Динамика воды[править]
Если убрать из модели центробежное ускорение и подогнать гидросферу к форме нового геоида, то полученная карта будет неправильной, потому что игнорируется перетекание воды во внутренних впадинах.
Поэтому необходимо начинать с современной формы геоида и постепенно шаг за шагом уменьшать центробежное ускорение, балансирую гидросферу методом решёточных уравнений Больцмана.
Ограничения модели[править]
Законы сохранения импульса и момента импульса выполняются, если будет смоделировано время физических процессов и будут учтены трение и вязкость воды. Погрешностью, вызванной трением и вязкостью воды, пренебрегаю.
Предполагается, что ни гидросфера, ни другие факторы не разрушают литосферу. Также вода не меняет своего состояния: не замерзает-конденсируется, не тает-испаряется. Погрешностью, вызванной допущением про неизменность литосферы и гидросферы, пренебрегаю.
Соответственно из законов сохранения выполняется в полной мере только закон сохранения массы.