Разбор того, почему наивная гравитация в мире порталов нарушает закон сохранения энергии, и как правильно телепортировать гравитацию, с численной симуляцией на основе метода конечных элементов.
Key Takeaways
- Наивная гравитация с порталами нарушает закон сохранения энергии, поэтому вечный двигатель из неё не следует
- Корректная гравитация должна телепортироваться через порталы и не зависеть от формы их поверхности
- Численное решение уравнения Пуассона методом конечных элементов позволяет визуализировать такую гравитацию
- Полное решение требует выхода за рамки ньютоновской гравитации в теорию относительности
What the video covers
- Вечный двигатель в Portal возможен только при наивной модели, где гравитация всегда направлена вниз независимо от порталов
- Автор вводит аксиому: поведение портала не зависит от формы его телепортирующей поверхности, и наивная гравитация её нарушает
- Модель с гравитонами-переносчиками тоже отвергается: она создаёт резкие гравитационные тени и не огибает порталы
- Описан визуальный язык симуляций: цвет показывает величину ускорения, линии потока показывают направление гравитации
- Задача сводится к уравнению Пуассона, которое решается численно, так как компьютер не может хранить бесконечно много точек
- Используется метод конечных элементов: пространство разбивается на треугольники, в узлах ищется потенциал
- Симуляция выполнена в 2D, результаты сопоставлены с 3D-расчётами Игана и с результатами зрителей
- Для полного решения необходима теория относительности и модель ускоряющихся порталов с гравитационными волнами
- Автор признаёт использование ChatGPT o3 для консультаций по математике метода конечных элементов
Full Transcript — Download SRT & Markdown
Speaker A
Каждый, кто хоть раз играл в Portal, создавал такую конфигурацию порталов, в которой можно падать бесконечно.
Speaker A
Но откуда берётся энергия для этого?
Speaker A
Неужели порталы берут её из ниоткуда и с помощью них можно создать вечный двигатель?
Speaker A
Да, потому что это пример неверной наивной гравитации во вселенной с порталами, которая считает, что в каждой точке гравитация направлена вниз, независимо от положения и ориентации порталов.
Speaker A
Но на самом деле порталы должны искривлять или телепортировать гравитацию, и вот так это будет выглядеть.
Speaker A
С такой гравитацией нельзя создать вечный двигатель, и она не нарушает законов физики.
Speaker A
Но почему? И что значат все эти стрелки и цвета?
Speaker A
Да, сейчас ничего не понятно, но далее я объясню:
Speaker A
* что здесь нарисовано и как я это вычислил;
Speaker A
* по каким уравнениям это работает;
Speaker A
* каким критериям должна соответствовать правильная гравитация;
Speaker A
* как эта гравитация влияет на мир и объекты в разных положениях;
Speaker A
* и, конечно, рассмотрим, как это всё влияет на самый обсуждаемый физический вопрос порталов, и какая гравитация получается там.
Speaker A
А специально для этого видео я запрограммировал довольно сложную физическую симуляцию, которая вычисляет не только гравитацию с порталами, но ещё и то, как это влияет на физический объект.
Speaker A
Так что всё, что вы увидите далее, является продуктом настоящих расчётов, а не просто моих домыслов.
Speaker A
Ну что ж, поехали.
Speaker A
Вы можете спросить: а почему такая гравитация является неверной? Какой именно закон она нарушает?
Speaker A
Она нарушает одну аксиому порталов, которую я ввёл в этом видео. Рекомендую сначала посмотреть его.
Speaker A
Ну а сейчас кратко напомню, о чём она.
Speaker A
Мы рассматриваем порталы, которые не просто делают телепортацию из одного места в другое через какие-то устройства сканирования и восстановления, а порталы, которые искривляют само пространство таким образом, что это искривление пространства выглядит как телепортация.
Speaker A
Примерно как работают кротовые норы: они соединяют удалённые участки пространства рядом друг с другом в высшем измерении.
Speaker A
И особенность этой модели в том, что теперь поверхность портала — это всего лишь способ сделать разрез по этому искривлению пространства.
Speaker A
Потому что если взять такую вытянутую поверхность портала, то итоговое искривление пространства всё равно сойдётся к такой же фигуре, как и с плоской поверхностью.
Speaker A
И если вы захотите посветить фонариком рядом с плоским порталом, то луч света прилетит точно в такое же место, как и для такого полукруглого портала.
Speaker A
Потому что сначала он телепортируется через оранжевый портал, а затем возвращается обратно.
Speaker A
И следовательно, по внешнему виду невозможно определить, какая форма поверхности у портала. Для любой поверхности он будет выглядеть одинаково. Или можно сказать, что этой поверхности просто не существует.
Speaker A
И такая модель с искривлением пространства может быть сведена к довольно простой аксиоме о том, что поведение портала не зависит от формы его телепортирующей поверхности.
Speaker A
И теперь каким же образом наивная гравитация нарушает эту аксиому?
Speaker A
На самом деле такое положение порталов подчиняется ей, но всё ещё нарушает закон сохранения энергии.
Speaker A
Поэтому рассмотрим другую сцену.
Speaker A
Здесь объект направляется в синий портал и выпадает из верхнего портала. Он падает прямо, всё логично. В каждой точке гравитация направлена вниз.
Speaker A
Но смотрите: в этот момент времени по одну сторону портала на объект действует гравитация вниз, а по другую сторону она действует влево.
Speaker A
И именно в этом и кроется проблема для нашей аксиомы.
Speaker A
Давайте возьмём такую полукруглую поверхность портала.
Speaker A
Здесь тоже в каждой точке гравитация направлена вниз.
Speaker A
Но теперь, когда объект зайдёт в портал, он будет дольше чувствовать гравитацию вниз, чем влево, и в итоге прилетит в другое место.
Speaker A
И оба этих случая будут отличаться друг от друга.
Speaker A
Да, вы можете сказать, что это зависит от того, как я программирую порталы, и я могу сделать так, чтобы тут гравитация была направлена влево, тогда всё будет работать точно так же.
Speaker A
Но как вы найдёте место, где гравитация должна делать резкий поворот на непрерывном искривлении пространства?
Speaker A
Там нет никаких поверхностей порталов.
Speaker A
Так что давайте думать, как же нам в итоге телепортировать гравитацию, чтобы она не нарушала эту аксиому и была непротиворечива.
Speaker A
Чтобы понять, как телепортировать гравитацию через порталы, сначала надо вспомнить, что мы о ней знаем.
Speaker A
Самое главное — это то, что её силу можно вычислить по закону всемирного тяготения.
Speaker A
Он работает для двух материальных точек с разными массами и на определённом расстоянии.
Speaker A
И когда мы смотрим на это уравнение, то можно заметить его главную проблему — расстояние.
Speaker A
Понятно, как считать расстояние между двумя точками, когда у нас бесконечное плоское пространство.
Speaker A
А что, если у нас есть порталы?
Speaker A
В таком случае у нас есть обычное расстояние r1 и есть расстояние через порталы r2. Какое из них выбрать?
Speaker A
Или такой случай, когда между объектами стоит портал.
Speaker A
В любом направлении нет прямого пути от одного объекта до другого, потому что портал загораживает путь.
Speaker A
Тогда должно ли расстояние огибать портал?
Speaker A
Всё это не понятно, и это мешает рассчитать гравитацию с порталами.
Speaker A
Одно из первых решений, которое пришло мне в голову, — это представить, как будто существуют частицы-переносчики гравитации — гравитоны.
Speaker A
В каждый момент времени они выходят из тела с массой и летят во все стороны.
Speaker A
И затем, когда достигают другого тела, они передают ему силу, направленную в ту сторону, откуда пришёл этот гравитон.
Speaker A
Такую модель можно подогнать так, чтобы она выдавала такие же результаты, как и ньютоновская гравитация.
Speaker A
И в такую модель вполне легко подставить порталы, потому что они в таком случае должны просто телепортировать гравитоны, как показано здесь!
Speaker A
В таком случае получается множество очень резких гравитационных теней от порталов, то есть тело будет чувствовать резкую смену гравитации.
Speaker A
А за порталами гравитации вообще не будет, то есть в такой модели гравитация не огибает порталы.
Speaker A
Я не стал развивать это дальше и отказался от этой модели, а сейчас просто хотел показать, как такое может работать, потому что наверняка у большинства из вас была именно такая идея.
Speaker A
Прежде чем объяснить следующую модель, хочу показать визуальный язык всех последующих симуляций.
Speaker A
Значит, вот есть планета с некоторой массой, где белый — это отсутствие массы в этом месте, а серое — наличие некоторой массы.
Speaker A
Эта планета создаёт гравитацию, которая вычисляется тривиальным образом по закону Ньютона.
Speaker A
Сейчас и далее для удобства мы будем рассматривать не силу гравитации F между двумя телами, а чистое ускорение свободного падения, которое содержит всего лишь одну массу.
Speaker A
Условно говоря, это какую силу испытывает объект единичной массы в каждой точке пространства с такой планетой.
Speaker A
Итак, цветом показывается величина ускорения.
Speaker A
Тёмный цвет означает слабую или нулевую гравитацию, а жёлтый — 1g.
Speaker A
Мы можем увеличить массу в 10 раз, и тогда дальше идёт градиент красного и белого, где белый — 10g и больше.
Speaker A
Видно, что снаружи планеты гравитация изменяется вполне предсказуемо, а внутри планеты она линейно убывает до нуля при стремлении к центру, потому что одни части планеты компенсируют другие.
Speaker A
Далее мы можем добавить стрелочки, которые указывают направление гравитации.
Speaker A
И можем сделать так, чтобы размер стрелки показывал силу гравитации в данной точке.
Speaker A
Далее давайте добавим ещё одну маленькую планету, и их совместная гравитация будет выглядеть так.
Speaker A
Между планетами образуется место, где их силы уравновешиваются и гравитация равна нулю.
Speaker A
Логично, что если увеличивать массу маленькой планеты, то и эта точка будет двигаться, и будет меняться градиент.
Speaker A
Но стрелки не очень удобны, поэтому вместо них я буду использовать такие линии потока.
Speaker A
Это идеализированные траектории движения, с ними проще воспринимать направление гравитации.
Speaker A
Я не буду показывать их в анимациях, потому что, как можно видеть, они сильно мерцают.
Speaker A
Кстати, на самом деле градиент силы гравитации здесь непрерывный и гладкий, но я буду использовать малое количество цветов для удобства восприятия его формы.
Speaker A
Ну и чтобы добить эту визуали
Speaker A
зависимость потенциала от расстояния. В итоге большая часть аксиом выполняется, кроме аксиомы о размере и влиянии на мир. Так что можно заключить что мой подход верен с поправкой на проверку в 3D. Окей, с этим разобрались, давайте уже наконец к физическому вопросу. Что же произойдёт если поршень налетит на неподвижный объект. Он просто
Speaker A
скатится вниз, потому что у него изначально не было никакой скорости, или он вылетит, потому что поршень придал ему скорость. Сначала рассмотрим наивную физику без телепортации гравитации.
Speaker A
Вот так это будет работать для плоского портала. Объект вылетит. То есть оно будет вести себя как вариант B. Если вы хотите поспорить с этим, то смотрите моё предыдущее видео, где я объяснял как аксиома порталов влияет на равномерно двигающиеся порталы.
Speaker A
А вот так это будет работать для полукруглого портала. С объектом ничего не будет происходить и он даже не скатится. То есть это даже не вариант А.
Speaker A
А теперь включаем телепортацию гравитации. В варианте с плоским порталом практически ничего не поменялось - объект так же вылетает, как было в варианте B. А вот в варианте с полукруглым порталом смотрите что получается. Объект скатился!!! То есть 1-в-1 вариант А!!! С
Speaker A
ума сойти. Всю жизнь я верил что вариант А - абсолютный бред, но когда видишь такое в симуляции, сложно поспорить. Значит действительно этой сцене не хватало телепортации гравитации.
Speaker A
Но почему поведение в этой сцене разное для разных поверхностей? У нас ведь есть аксиома о том что поведение порталов должно быть одинаковым в обоих случаях. Как я говорил в прошлом видео, виной всему именно то что портал останавливается, именно ускоренное движение в виде остановки создаёт
Speaker A
противоречие между разными вариантами поверхности. Чтобы доказать это, я хочу показать как выглядит эта сцена, если поршень будет двигаться дальше и телепортирует платформу. Итак, портал движется, объект выходит с другой стороны и ведёт себя вполне предсказуемо. Для варианта с полукруглой
Speaker A
формой получается то же самое. И если наложить их друг на друга, они получаются идентичными.
Speaker A
Кстати, ещё один вариант как сделать чтобы порталы вели себя одинаково для разных поверхностей - это сделать чтобы поршень двигался очень медленно. Тогда для плоской поверхности портала объект будет скатываться раньше чем портал остановится. И конечно же аналогично он будет себя вести и для
Speaker A
полукруглой поверхности. Так что раньше я не зря говорил что в этой картинке ответ так же зависит от скорости движения поршня, потому что для такой маленькой скорости из B можно получить A.
Speaker A
А значит как я и говорил в прошлом видео, для полного решения этого вопроса, нам нужно уйти в теорию относительности и разработать модель ускоряющихся порталов с гравитационными волнами.
Speaker A
Но на самом деле такая модель уже есть. В мой английский дискорд пришёл учёный, занимающийся теоретической физикой в области квантовой гравитации и разработал следующую модель, где ускоряющийся портал должен создавать собственное гравитационное поле и следовательно гравитационные волны. В его модели ускоряющийся портал притягивает объект. И посмотрите на такую
Speaker A
интересную вещь, когда объект затягивается, он одновременно находится в двух местах. Это получилось автоматически и происходит из-за приколов теории относительности. Он даже описал это математически. Может однажды мне хватит сил сделать симуляцию на основе этой модели, как я сделал эту симуляцию гравитации. Ну а теперь, как и обещал, как же работает
Speaker A
этот метод конечных элементов и самое главное как я реализовал в нём порталы. Я хочу коротко рассказать это так, чтобы основная идея была понятна даже школьнику, без сильного погружения в математику. И с использованием максимально конкретных значений. Итак, сначала я
Speaker A
расскажу как рассчитать гравитационный потенциал когда у нас есть такая круглая масса. Затем я добавлю сюда порталы и скажу что нужно изменить в схеме вычисления, чтобы работало и с ними.
Speaker A
Значит уравнение Пуассона - это уравнение взаимосвязи двух функций фи и ро, где ро - это функция плотности массы и фи - это функция величины потенциала, они принимают два числа, задающих координату точки и возвращают одно число - значение функции в этой точке. И это
Speaker A
уравнение показывает связь этих функций на _каждой_ точке пространства. И сложность решения дифференциальных уравнений как раз в том что в общем случае записать математически итоговую функцию невероятно сложно, а иногда невозможно. Но мы хотим решить это численно на компьютере, и компьютеры не могут хранить и вычислять бесконечно много точек, тогда как быть?
Speaker A
Первый этап - это дискретизация. То есть разбиение пространства на конечное количество элементов. Поэтому метод и называется Метод Конечных Элементов. В данном случае это треугольники, которых здесь 152. Мы сами принимаем решение как разбить пространство на эти треугольники.
Speaker A
Далее нам интересно только значение функции потенциала и плотности в узлах этих треугольников, и этих узлов здесь 89. И конкретным результатом этой дискретизации является данная схема. У нас есть 152 треугольника, 89 точек и их координаты, и каждый треугольник пронумерован и он ссылается
Speaker A
на 3 узла с определённым номером. Далее нам ещё пригодится эта информация. А теперь что делать с остальным бесконечным набором чисел между треугольниками? Смотрите, внутри каждого треугольника можно получить промежуточное значение, используя все три числа, если просто представить как будто они находятся на одной плоскости. Я не буду говорить как конкретно
Speaker A
записать это математически, но этому способу можно дать такое описание: эта функция треугольника принимает на вход текущие координаты x, y; далее три координаты треугольника и далее три значения в узлах этого треугольника. И возвращает эта функция одно число - потенциал или плотность в этой точке.
Speaker A
Внутри треугольника она даёт промежуточное значение, а снаружи треугольника - всегда 0. Тогда функцию плотности можно представить как сумму этой функции на всех этих треугольниках, от нулевого до 151-го. И мы в этой функции знаем всё кроме координат текущей точки x и y. Аналогично
Speaker A
можно записать для потенциала, и единственное что поменяется - это то, что мы будем использовать значения потенциала в узлах и что мы не знаем эти значения, поэтому функция зависит и от них.
Speaker A
Это получаются такие кусочно-заданные функции. Итак, мы свели задачу нахождения бесконечного набора чисел к нахождению 89 неизвестных чисел. Как их найти? Вообще первый инстинкт - это взять уравнение Пуассона, взять наши кусочно заданные функции, подставить их туда и как-то решить. Направление верное, но наивным образом это не сработает,
Speaker A
а чтобы сработало, надо воспользоваться сложной математикой под названием метод Галёркина, в который я не буду углубляться. Если хотите разобраться, то эта тема отлично объясняется в этом видео. Ну и метод Галёркина делает то, что сводит нашу дискретизацию и уравнение Пуассона
Speaker A
к некоторой системе линейных уравнений. Вот пример такой системы. Здесь для решения надо выразить одну переменную через другую и затем подставить в другое уравнение.
Speaker A
И таким образом решения находятся довольно просто. В системах линейных уравнений нет перемножения переменных, а это значит что там никогда не возникнет квадратных уравнений и прочего. Поэтому их довольно просто решать. А вот что получается конкретно у нас. Здесь 89
Speaker A
уравнений и 89 неизвестных. Красным обозначены неизвестные. Вообще эту систему уравнений может решить любой школьник с калькулятором. Это будет долго и муторно, но он сможет.
Speaker A
И после использования детского труда получаем такие значения. В каждом узле нашёлся какой-то потенциал. Теперь подставляем их в наши треугольники и визуализируем потенциал. Вот так он выглядит. А вот так выглядит гравитация. Конечно, это очень грубое приближение, потому что треугольников мало. Но если мы брать треугольники меньше и меньше,
Speaker A
то треугольников будет больше и больше, и решение будет получаться точнее и точнее. И ещё раз кратко про метод конечных элементов: разбиваем пространство на конечные элементы.
Speaker A
Затем по ним собираем систему уравнений через метод Галёркина и решаем её. А затем вычисленные значения можем использовать для визуализации потенциала. А из потенциала уже можно вычислить гравитацию. И конечно же я опустил огромное количество деталей чтобы объяснение было проще,
Speaker A
это всё вы уже можете узнать сами через другие источники. Но это я рассказал как рассчитать гравитацию просто объекта на плоском пространстве. А нас интересуют порталы. Как подставить их сюда? Что они должны телепортировать? На самом деле это очень просто. Вот смотрите, мы добавили порталы в триангуляцию, они обозначены красным. И здесь я
Speaker A
обозначил цветами треугольники снизу и сверху от порталов для удобства. Далее вспоминаем, что порталы - это просто некоторое искривление пространства. И если мы подставим эту картинку на это искривление пространства, то видим что зелёные треугольники должны оказаться рядом друг с другом, аналогично с синими. Что это значит с точки зрения метода? Давайте посмотрим
Speaker A
на картинку дискретизации где обозначены номера треугольников и номера неизвестных, которые они используют. Посмотрим на обычное пространство. Здесь каждый треугольник в своём углу видит одно и то же неизвестное с индексом 43, потому что это одна и та же точка в пространстве для каждого
Speaker A
треугольника. Теперь посмотрим на этот зелёный треугольник (82й). Он построен на трёх неизвестных узлах с индексами 73, 13 и 14. И синий треугольник рядом (7й) тоже использует неизвестные узлы 13 и 14. То есть они имеют общие неизвестные через это ребро. Но по искривлению пространства порталами
Speaker A
видим что одна и та же точка пространства находится между зелёными треугольниками, но они ссылаются на разные индексы. А значит общие неизвестные должны быть между зелёными треугольниками, а не между зелёным и синим. То есть в верхнем треугольнике должно быть 18 и 19
Speaker A
вместо 13 и 14. Тогда мы просто перезаписываем для этого зелёного треугольника чтобы он имел неизвестные 73, 18 и 19. Тогда когда мы поместим эти индексы на искривлённую поверхность, то зелёные треугольники будут иметь одинаковые неизвестные, и аналогично во всех остальных
Speaker A
точках в пространстве. А уравнение потенциала - это сумма всех треугольников, где у каждого треугольника указано какие неизвестные он использует. И значит для треугольников рядом с порталами нам надо поменять эти неизвестные. Да, порталы делают только то, что немного переставляют
Speaker A
индексы неизвестных в каждом треугольнике и всё! И далее мы проделываем те же самые операции по сборке системы уравнений через метод Галёркина и получаем другую систему уравнений, которую можно решить. Я решил визуализировать чем система с переставленными индексами отличается от оригинальной, и здесь различия показаны зелёным цветом. Поменялось несколько уравнений
Speaker A
и несколько индексов в других уравнениях, а так большая часть уравнений остаётся такой же как и раньше. Ну и далее решаем эту систему уравнений и получаем в итоге такую гравитацию. А вот так она выглядит если увеличить точность. И в этом как раз проявляется сила уравнения
Speaker A
Пуассона в том что оно локально. Оно позволяет так переклеивать пространство, и всё ещё продолжает работать и выдаёт адекватные результаты. Кстати, интересно что в университете я учился на факультете прикладной математики и информатики, и наша основная программа как раз была в программировании метода конечных элементов. Но на прошлой работе я был обычным
Speaker A
бэкенд программистом, а теперь когда я уволился и стал видеоблоггером, то снова программирую метод конечных эелментов. Это что получается, я теперь реально работаю по специальности??))) А вот этот мягкий объект - это просто набор частиц, которые связаны пружинами друг с
Speaker A
другом. И на каждую частицу влияет как пружина в этом теле, так и наше гравитационное поле.
Speaker A
Этот подход называется softbody и вот пример видео где реализуют такую физику с нуля. Далее хочу сравнить мои результаты с результатами других людей. Я нашёл два источника где решали эту проблему. Первый сделан Zeno Rogue, которого многие знают по исследованию гиперболической
Speaker A
геометрии. Он тоже сделал модель на основе гравитационного потенциала. И у него получилось так же как и у меня, что снизу персонаж отталкивается от порталов, а сверху затягивается в верхний портал. Следующий кто работал над этой проблемой - это Грег Иган,
Speaker A
автор классных фантастических книг. И для своей книги The Book of All Skies он тоже вычислил гравитацию через порталы, про что написал целую статью. И у него есть следующая иллюстрация с порталами в разных мирах и одним источником гравитации. Я повторил это в своей программе
Speaker A
и у меня получился очень похожий результат. Но он всё-же отличается, потому что Иган вычислял гравитацию для 3D случая, а я для 2D. Ну и ещё примерно похожие результаты получились у людей из моего английского дискорда - Sarah и bbob9764. Ребята вы молодцы, спасибо вам.
Speaker A
А в это видео не поместилось ещё очень много контента: как гравитация ведёт себя с порталом в портале; может ли это работать для масштабирующих порталов; и что происходит с гравитацией в карманном пространстве. Если тема будет интересна, то я могу сделать ещё одно видео обо этом всём.
Speaker A
А если после этого видео вам захотелось самим поиграться со всей этой физикой порталов, двигать порталы мышкой, менять гравитацию и влиять на софтбади объект и самим посмотреть на разные ситуации без ожидания следующего видео, то всё это можно сделать в программе, которую я
Speaker A
написал специально для этого видео. В ней же я отрендерил все анимации, показанные здесь. На написание этой программы у меня ушло больше 180ч, так что первое время я релижу её только на своём патреоне для всех платных подписчиков начиная с 1$. А пока хочу выразить огромную
Speaker A
благодарность всем кто поддерживает меня уже сейчас! Кстати, я потратил какое-то нездоровое количество времени на эти анимации, но ни о чём не жалею, уж слишком они красивые.
Speaker A
И кстати, я снял отдельное видео где объясняю как в ней создавать сцены если вы хотите сделать свои собственные симуляции. Это видео лежит на моём втором канале, на английском, но с русскими субтитрами. И ещё хочу сказать что это видео было бы
Speaker A
невозможно без думающей нейросети ChatGPT o3. Я использовал её для консультации по математике метода конечных элементов. Если вам интересны подробности, то про это я тоже снял отдельное видео на втором канале. Фух, ну на этом у меня всё, спасибо за просмотр!
Topics:Portalпорталыгравитациявечный двигательзакон сохранения энергииуравнение Пуассонаметод конечных элементовфизическая симуляциятеория относительности











