2007

Кого из ново-историков можно почитать

Изучаю исторические науки. Самой перспективной выглядит новохронология - критический подход к хронологиям традиционной истории.

Самыми обещающими и гармоничными я вижу следующих исследователей:



Has journal
Шкурин https://apxiv.livejournal.com
Степаненко, Андрей Георгиевич https://chispa1707.livejournal.com
Сибвед https://sibved.livejournal.com
Лопатин, Вячеслав Алексеевич http://amigooo.livejournal.com
http://lopatinfoto.ru
Камалов https://bskamalov.livejournal.com
Lion-rat https://lion-rat.livejournal.com
Axsmyth https://axsmyth.livejournal.com


Скачать "Категория:Список Айтишника.opml"


В поиске истины - этой главной цели нашей жизни - лучше всех преуспевают Степаненко, Андрей Георгиевич, Камалов, Шкурин, Axsmyth, Paomako и другие.


Но есть и негативные цели в команде:



Has bad goal
Bioplant Грубость
Cantechnik Грубость
Chumakin Эмоциональный накал
Curiousmole Подразнить других
Gorojanin-iz-b Разделение свой-чужой
Iallit Грубость
Levhudoi Грубость
Maystre Убивать людей
Ненависть к объекту
Mubarizoruc Defilement
Neo History Бег по кругу
Nikola-67 Убивать людей
Принуждение
Грубость
Okhotshiy Бег по кругу
Radmirkilmatov Лесть
Грубость
Rodline Безответственность
Rodom-iz-tiflis Алогичность
Sergey Shishkin Путаница терминологии
Непосильные задачи
Shel gilbo Грубость
Skunk-69 Defilement
Vaduhan 08 Грубость
Насмешки
Афанасий Капля Авантюризм
Принуждение
Владимир Пермяков Принуждение
Алогичность
Галковский Дмитрий Евгеньевич Принуждение
Defilement
Иванов Владимир Анатольевич Грубость
Камалов Унижать
Котельников Грубость
Лоренц Разделение свой-чужой
Николай Бадусов Эгоизм
Никонов Defilement
Грубость
Павел Беланчук Грубость
Розов Александр Александрович Цинизм
Стафеев Принуждение
Честный Грубость
Шкурин Грубость
Щербинин Олег Грубость

Вот такие журналы я перечитываю с помощью inoreader.com в дополнение к рабочему списку: Список Сибведа, Список Шкурина, Список Аксиолога, программисты, список предпочтений Omea history.png

2007

Движение Крови

Движение - необходимое условие жизни; если тело движется, то возможно, оно живое.

Начало движения происходит от желаний.

Тепло отводится воздухом и потоками жидкости.

Баланс достигается высокой тепло-проводимостью вещества и качеством смазки-подгонки частей тела друг к другу.

Когда благородная смазочная жидкость может также очистить и накормить тело, то это и есть рецепт крови.

Csjcanada org.jpg


Идеальную Кровь подарил Иисус Христос, пролив её за наши грехи ради нашего спасения.

Его Кровь имеет цель-желание оживить нас: утешает-охлаждает, балансирует-успокаивает, очищает, а также питает наши тела совершенной едой из слов:

Иисус сказал ему в ответ: написано, что не хлебом одним будет жить человек, но всяким словом Божиим. (От Луки 4:4)

В движения добрых слов состоит счастливое будущее.

2007

Карта Земли после сдвига полюса на 17 градусов

Если сдвинуть современный географический полюс на 17 градусов вдоль 40 меридиана западной долготы, то при сохранении формы литосферы возникнет перепад уровня воды высотою около 4 км относительно современного геоида.

Сдвиг происходит плавно в 10 шагов.

В результате Земля будет выглядеть вот так: ReliefAxis17 SlowChange.jpg.

Новый полюс показан светло-розовым пятном.

Анимация -


Видно, что потонули Сибирь, Дальний Восток, Индия, Восточный Китай, Япония, Аляска, Аргентина.

Появилась такие новые земли как Доггерленд, Южная Ирландия, "Атлантида", Восток Северной Америки, переход из Европы в Канаду через Гренландию. Увеличилась Индонезия и Новая Зеландия.

По Северной Европе, по Бразилии, через Маныч прошли воды потопа.

Некоторые территории удивительно непотопляемые: Исландия, Мадагаскар, Австралия ну и, конечно, Африка.

Дальше можно считать поднятия-опускания литосферы по законам впука-выпука.

Погрешности

Отклонения геоида игнорируются, и поскольку они влияют только на форму силы гравитации, то могут вносить погрешности до 100 м (половина от 192м) для данной карты.


Погрешностью -0.3 мил. км³, вызванной ошибками округления, пренебрегаю - то есть в конце расчета воды стало на 0,02% меньше (или около 1 м). Возможно, причиною этой погрешности есть искажение начала перетекания.

Код

Карту можно построить самостоятельно с помощью скрипта https://github.com/it4history/Logy.Exchange/blob/master/src/Logy.Maps/ReliefMaps/World/Ocean/ReliefAxis17.cs

2007

Карта Земли, вращение которой остановилось‎‎



На карте Витольда Фрачека возле экваторе появляется множество суши из-за остановки вращения Земли: Earth nospinn.png.

Такое может быть, если форма Земли эллиптическая. Потому что экватор и полюса полностью сферической невращающейся Земли покрылись бы водою равномерно.

У меня получилось нарисовать карту, подобную карте Витольда, когда для эллиптической Земли применил силу гравитации от полностью сферической Земли. То есть для всей Земли одинаковая сила притяжения.

Earth nospinn likeFraczek.jpeg




начало анимации для этой карты Earth nospinn likeFraczek begin.gif


вся анимация


Много внутренних водоемов возле экватора являются признаком реалистичности.


Вообще, карта Витольда Фрачека кажется недоразумением. Сила гравитации от полностью сферической Земли - это или ошибка, или действительно предполагается, что Земля примет форму сферы. Но сферическая Земля должна значительно отличаться формой литосферы от существующей сейчас.

Подозрительно много суши на этой карте - примерно так же само, как и воды, но сейчас Мировой океан покрывает 70% поверхности Земли:


вода 70%

карта Витольда

вода 50%
Earth land30.jpeg Earth nospinn.png Earth land50.jpeg

Форма и гравитация совместимы

Создал карту Земли, вращение которой остановилось, и при этом, её эллиптическая форма соответствует силе тяжести по уравнению Сомильяны. Силой гравитации, генерируемой водными массами, пренебрегаю.

Earth nospin withGravity.jpeg

На этой карте плавная остановка вращения Земли пощадила континенты, находящиеся возле экватора: Африку, Латинскую Америку, Австралию. Суша около полюсов затонула.

Анимация -




2007

Тазики на сфере

В модели океана без дна сдвиг полюса на 17 градусов (из текущего положение в 40 зап.долг. 73 сев.шир.) относительно текущего геоида вызывает волну высотой около 5 км.

Новый полюс показан светло-розовым пятном OceanMap lines96.gif.

В начале расчета есть искажение перетекания воды, которое исчезает в конце.

Это два оранжево-красные поднятиями воды из севера на увеличенной картинке: Sphere issue.gif.

Причина - в резком сдвиге полюса. Искажение исправляется при плавном смещении.

другие углы сдвига

Сдвиг полюса на 45 градусов (из текущего положение в 40 зап.долг. 45 сев.шир.) вызывает волну высотой около 14 км: OceanMap Water ChangeAxis 45.jpeg

Сдвиг на 90 градусов вызывает волну высотой около 21 км: OceanMap Water ChangeAxis 90.jpeg

одинаковая сила притяжения

Если сдвинуть полюс на 17 градусов относительно текущего геоида (приплюснутой сферы) и предположить, что сила притяжения на экваторе такая же, как на полюсах, то получается волна высотой около 13 км: OceanMap Water ChangeAxis 17 SamePolesAndEquatorGravitation.jpeg

Расстояния к центру Земли (минус R - Эллипсоид радиус равновеликого шара) будут такими: OceanMap Water ChangeAxis 17 SamePolesAndEquatorGravitation R.jpeg.



2007

и снятся парты аудиторий

Ещё недавно косинусы углов считал функцией System.Math.Cos().


Углов стало больше - перешел на скалярное произведение единичных векторов. Крайние условия для тех, что коллинеарны, пришлось тщательно описывать, куда же денешься.


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

Вот результирующий код для расчета матрицами:


var aOnSurface = axisOrtohonal.Direction * b.Matrix;
aTraverse = -a * aOnSurface[1];
var aMerid = (b.Vartheta < 0 ? 1 : -1) * a * aOnSurface[2];
return aMerid;

и вот для сравнения, как считалось скалярным произведением вначале:


var surfaceCalm = new Plane(b.NormalCalm, b.r);
var QonAxisPlane = new Plane(axisEnd, b.Q3, Basin.O3);

// aSphere direction
var aSphereLine = surfaceCalm.IntersectionWith(QonAxisPlane);

var b3unit = new Line3D(Basin.O3, b.Q3).Direction;
// lays in surfaceCalm plane, directed to equator of AxisOfRotation if Math.Abs used
var aSphere = //Math.Abs
    (a * AxisOfRotation.DotProduct(b3unit));// axisOrtohonal.Direction.DotProduct(aSphereLine.Direction)); 

var aMeridianLine = surfaceCalm.IntersectionWith(b.MeridianCalm); //new Plane(OzEnd, Q3, O3);
var aTraverseLine = surfaceCalm.IntersectionWith(b.TraverseCalm);
Assert.AreEqual(0, aMeridianLine.Direction.DotProduct(aTraverseLine.Direction), .000000001);

aTraverse = Math.Abs(aSphere * aSphereLine.Direction.DotProduct(aTraverseLine.Direction));

var planeOZ = new Plane(Basin.Oz);
var planeAxis = new Plane(AxisOfRotation);

//directed to equator of Oz if Math.Abs used
double aMeridian;
/*if (aSphereLine.IsCollinear(aMeridianLine, .1))
{
    aMeridian = aSphere;
}
else*/
{
    var dotProduct = aSphereLine.Direction.DotProduct(aMeridianLine.Direction);
    aMeridian = Math.Abs(aSphere * dotProduct);
}


// if (AxisOfRotation != Basin.Oz)
var spin = new Plane(Basin.OzEnd, b3unit.ToPoint3D(), axisEnd).Normal.DotProduct(b3unit);

// "north" hemisphere of AxisOfRotation
if (b3unit.DotProduct(AxisOfRotation) > 0) 
{
    if (spin > 0)
    {
        aTraverse = -aTraverse;
    }
}
else
{
    if (spin < 0)
    {
        aTraverse = -aTraverse;
    }
}

//aMeridian<0 if Q3 between planes or inside of cones (bug when angle is near 90) of OZ and AxisOfRotation
if (planeOZ.SignedDistanceTo(b.Q3) * planeAxis.SignedDistanceTo(b.Q3) < 0)
{
    aMeridian = -aMeridian;
}
else
{
    var coneAxis = new UnitVector3D((Basin.Oz + AxisOfRotation).ToVector());
    if (new UnitVector3D(b.Q3.ToVector()).DotProduct(coneAxis) > coneAxis.DotProduct(Basin.Oz))
    {
        //inside cone
        aMeridian = -aMeridian;
    }
}
return aMeridian;

диаграмма векторов

RotationAxis vectors.png

2007

Рельеф Земли - усредненный меридиан

В предыдущий пример, где центробежное ускорение уменьшается до нуля, добавлен рельеф дна.

Количество воды стало ограниченным. Определил объем Мирового океана равным 1335.4 миллионов км³, и он постоянный при всех перетеканиях воды.

Изображение выглядит так: EarthRotationStopped relief k8.png

Суша отображена темно-розовым цветом, например, как ледник Антарктиды внизу слева.

Вблизи экватора в середине модельного времени оголяются участки дна.

Результирующая волна получилась высотой 10,5км для k_8 (HEALPix 790 тысяч).

2007

Меридианная проекция - вода

Удобно изучать Землю в разрезе меридианов.

Самая простая модель

Создадим самую простую модель Мирового океана.

Игнорируем сушу и дно. Интересует только вода.

Как считать уровень воды

Имеется один меридиан, разделенный на тазики от северного полюса до южного.

Для расчета уровней воды в тазиках выбираю сферические координаты.

Другие виды координат не подходят, потому что:

В сферических координатах высота тазика не перпендикулярна датуму, и градиент спокойствия не равен нулю. Эта особенность позволяет отвязываться от датума и переходить от одного к другому. Направление высоты тазика совпадает с радиусом Земли. И направление высоты стабильно при изменении уровня воды. Изменение градиента сохраняет объем воды тазика с высокой точностью благодаря симметричности в сферических координатах.

Алгоритм

Рассчет происходит по такому алгоритму:


  1. начальные условия: спокойная Земля, сферические координаты

  2. пересечения градиента с высотами тазика

  3. перелить воду

пересчитывать Δgq (градиент спокойствия) при стабилизированном изменении g - Ускорение свободного падения, а также при значительном изменении hOQ

Примеры

На следующих изображениях северный полюс находится вверху, южный - внизу. Экватор посередине.

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

Глубины отсчитываются относительно формы Земли в эллипсоидальном приближении. Нулевая отметка глубины окрашена в зелёно-синий цвет (Aquamarine).

Закругленности вверху и внизу оставлены для красоты...

первый пример

Вода в первом тазике поднимается с глубины 500м, а в другом опускается с высоты 500м: HighLowBasin 1.png

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

Возникающая волна выглядит естественно.

второй пример

Уменьшаем центробежное ускорение, увеличивая звездные сутки сначало немножно (от 23,9 часов до 26,7), а в середине времени резко до 46,2 часов EarthRotationStopping 1.png

Видно, что волны постепенно увеличиваются и смещаются к полюсам.

Можно посмотреть в изменяющемся масштабе, когда на каждый момент времени масштаб выбирается таким, чтобы экстремальные значения были выделены самым контрастным цветом EarthRotationStopping 1 dyn.png Легенда показывает масштаб для последнего момента.

Высота волны в 173 метра (разница между полюсами и экватором) - это конечно, мало для данного случая, потому что время интегрирования было равным только 5. Увеличиваю время интегрирования до 1100, пока рост волны не прекратится. В данном случае это 2 километра для звездных суток равных 26,7 часов, и 7.87 километров для 46,2 часов. EarthRotationStopping 1000.png

третий пример

Уменьшаем центробежное ускорение до нуля. EarthRotationStopped 1000.pngВысота волны получилась 10,72км для k8 (HEALPix 790 тысяч). Это удивительное число только на 0.5% меньше, чем 10,69км - разделенная пополам эллипсоид приплюснутость, равная: 21384,7 м.

Многие ожидают увидеть здесь волну высотой во все 21 километра.

Некоторые считают, что если ось поехала на 15 градусов, это означает цунами высотой 3,5 км. Но так ли это? Существует еще изменение силы тяжести при перемещении от полюса к экватору. Разница в ускорении силы тяжести между полюсами и экватором составляет g90 - g0 = 983,2 - 978,0 = 5,2 см/сек2. Около 2/3 этой разности возникает за счет центробежного ускорения на земном экваторе и около 1/3 - за счет сплюснутости Земли. То есть в результате остановки вращения Земли только одна треть от 21 километра должна компенсироваться гравитацией - выходит оценка в 14 километров.


Моё же объяснение другое.

Представим себе стакан с водой на дне. Если придать воде и стакану вертикальное ускорение, то удивительно, но уровень воды не изменится. Увеличится давление воды на дно и стенки стакана, но поверхность воды не шелохнётся. Только горизонтальное ускорение создает на поверхности воды волны. Гидроудар здесь не рассматривается.

Если в стакан положить стальную пружину, то вертикальное ускорение сожмет ее. Похожее поведение продемонстрируют также и газы.

Мнение о том, что вода на экваторе поднимается под действием вертикального ускорения происходит от мысленного отождествления силы тяжести с гидравлическим прессом. Считается, что сила тяжести придавливает воду на полюсах и потому она течёт на экватор. Но если бы это действительно было так, то тогда для создания волны на экваторе высотою 1 километр нужно придавить поверхность воды на полюсах давлением в 100 атмосфер. А это немыслимо. В действительности и на полюсах, и на экваторе поверхность воды придавлена примерно одинаковым давлением в 1 атмосферу.

Поэтому давайте изучать горизонтальные ускорения, действующие на Мировой океан.

Посчитано, что горизонтальная составляющая гравитации направлена к экватору и имеет максимум 16,1 мм/сек² в районе 45 градусов широты. Свойства горизонтальной составляющей центробежного ускорения аналогичны - направлена к экватору и имеет максимум 16,9 мм/сек² в районе 45 градусов широты.

В результате остановки вращения Земли горизонтальная составляющая ускорения свободного падения уменьшается примерно в два раза, поэтому и высота волны уменьшается вдвое.

Выводы

Интегрирование закончилось стабильным значением высот волн.

В дальнейшем нужно добавить в модель сушу и рельеф дна.

2007

Рельеф Земли - отклонения геоида

Нарисуем форму Земли математически точно.

Известно, что Земля - это эллипсоид с искажениями. Искажения называются "отклонениями геоида" (по английски "geoid undulations").

Модель геоида

Ожидаемые отклонения геоида 375px-Geoid_EGM96.gif согласно английской и русской википедий находятся в диапазоне 192,4 м от -107 м до +85,4 м.

Погрешностью высоты в 1 м, вызванной выбором модели отклонений геоида, пренебрегаем.

Использование GIS

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

Поэтому рисую карты самодельными алгоритмами.

Земля -

Мерцания на береговых линиях вызваны погрешностями преобразования между равнопромежуточной и HEALPix проекциями. Палитры цветов получены из GRASS: water.png water и модифицированная gyr.png gyr.

Алгоритм

Формула эллипсоида

Беру формулу эллипса в полярных координатах из википедии - EllipsFormulaWiki.png. Подставляю в данные Earth2014 - и тут меня ожидало разочарование: диапазон отклонений геоида оказался на 50 метров больше ожидаемого. Вместо 192м я получил 250м.

Проверил параметры эллипсоида: Earth2014 использует GRS80, википедия - WGS84, но радиусы у них идентичны (радиус оси экватора a = 6 378 137,0 м; радиус полярной оси b = 6 356 752,3141 м).

Оказалось, что не ту формулу эллипса я взял. Нужно брать EllipsFormula.png (файл Hirt_Rexer2015_Earth2014.pdf) от автора данных Earth2014 - Кристиана Херта.

Код

Алгоритм расчета отклонений геоида выглядит так:


    protected override double GetAltitude(HealCoor pixel)
    {
        var a = 6378137d; // big axis, angle is measured from here
        var b = 6356752.3141;
        var e_2 = 1 - (b * b) / (a * a);

        var altitude = Relief.GetAltitude(pixel);
        var altitudeShape = ReliefBed.GetAltitude(pixel) + 6371000;

        var angle = Math.PI / 2 - pixel.Theta.Value;
        var sin_2 = Math.Sin(angle) * Math.Sin(angle);
        var ellipsoid = a * Math.Sqrt((1 - e_2 * (2 - e_2) * sin_2) / (1 - e_2 * sin_2));
        var undulation = altitudeShape - ellipsoid - altitude;
        return undulation;
    }

Закладка

При выполнении алгоритма нашел закладку. Я почти отправил Кристиану Херту письмо про как бы ошибку, но подумав, уразумел, что это просто "защита от дурака".

Смысл в том, что представляя данные двумя вариантами: в точности 1 минута дуги и 5 минут дуги, Christian Hirt публикует файлы в равнопромежуточной проекции. А известно, что отклонения геоида версии EGM96 сделаны в сферических функциях. Преобразования между ними нетривиальные, поэтому предполагаю, что для неподготовленной публики он преобразовал EGM96 в равнопромежуточную проекцию красиво 400px-Earth2014_5.jpg, надеясь, что полезные данные в такой точности не будут использоваться из-за испорченностей 400px-Earth2014_5_shapeError.jpg

Я уже начал сомневаться в выборе проекции HEALPix, но потом глянул данные Earth2014 в точности 1 минута дуги. Оказалось, что там EGM96 преобразована для расчетов правильно 400px-Earth2014_1.jpg, а в равнопромежуточной проекции визуально испорчена 400px-Earth2014_1_shapeError.jpg

Мне не нужна равнопромежуточная проекция для расчетов, поэтому использую проекцию HEALPix и данные точностью 1 минута дуги, как и планировалось.

Результат

В точности HEALPix k=10 (12,6 миллионов тазиков) диапазон отклонений геоида равен 195,5м от -107.4м до +88.1м

Отличие в 3,1 метра от ожидаемых отклонений объясняю погрешностью данных проекта Earth2014 до 1 метра и погрешностью преобразования между равнопромежуточной и HEALPix проекциями до 3 метров. Последнюю погрешность в будущем можно уменьшить, считав данные Earth2014 в сферических функциях без преобразования проекций, по пока что погрешностью высоты в 3 метра, вызванной преобразованиями между проекциями, пренебрегаем. Погрешность в 1 м, вызванная выбором модели геоида, не влияет на результат.

Анимация

Представляю Землю, деформированную пропорционально отклонениям геоида. Для наглядности деформации преувеличены в десятки тысяч раз.

Использовалась программа PlanetMaker. Вмятости bumpmap - это отклонения геоида в серых оттенках. Нормали normalmap создал с помощью http://cpetry.github.io/NormalMap-Online на основании bumpmap.

Для наглядности материки и острова появляются в виде белых контуров с заливкой или без. (nightlightsonly).