Pull to refresh

Comments 6

Только сам астероид в последнем видео изображен сильно не в размер))) хотя космос настолько огромнен, что в любом случае правильный масштаб сложно вообразить

Да, пришлось специально так сделать. Я на протяжении большей части всех своих видео показываю размеры небесных тел преувеличенными по сравнению с расстояниями между ними и размерами орбит. Так красивее и нагляднее.

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

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

Первая программа была написана ещё в конце нулевых на С++. В ней осуществляется численное интегрирование с помощью многошаговых методов Адамса дифференциальных уравнений движения небесных тел с учетом Ньютновских и Шварцшильдовских членов. Входные данные - элементы орбит планет, Солнца и исследуемых небесных тел на некоторую начальную дату. Выходные данные - координаты объектов на исследуемом интервале времени с некоторым шагом (файл с огромным массивом числовых данных). Иногда вношу небольшие изменения в эту программу под некоторые специфические анимации (например, когда делал видео про движение Солнечной системы относительно звёзд). В этой же программе ещё в те годы я сделал визуализацию на OpenGL, но она была примитивная. Её можно было увидеть в старых моих видео, которые я делал год назад и раньше.

Вторую программу я написал в течение апреля прошлого года. Она визуализирует полученный массив данных. Новую программу я написал на JavaScript. В ней при загрузке страницы подготавливаются все необходимые данные (буферы координат вершин, текстуры), которые передаются на видеокарту, компилируются шейдеры. Используется WebGL. Затем с частотой 60 кадров в секунду осуществляется перерисовка экрана и взаимодействие с пользователем (перемещение камеры). Никакие вспомогательные библиотеки (например, для рисования сфер) я не использую. Координату каждой вершины рассчитываю самостоятельно. За счет этого добиваюсь максимальной гибкости (например, здесь можно посмотреть, как мне удалось визуализировать комету Понса-Брукса). Очень много вычислений вынесено в шейдеры. Основная нагрузка приходится на мою старенькую видеокарту, которой в этом году исполняется 10 лет. Также в течение последнего года постоянно вношу доработки в эту программу визуализации. Допиливаю её под каждое очередное видео. Например, для последних двух видео пришлось сделать расчет траекторий не относительно какого-либо небесного тела, а относительно математической точки Лагранжа.

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

Спасибо большое за развернутый ответ, отличные видео и статьи!

Sign up to leave a comment.

Articles