Исправление kevlarbeaver, (текущая версия) :
Это видео из моего модуля Black Hole. Здесь чёрная дыра не нарисована заранее и не сделана как обычный 3D-объект с красивой текстурой. Картинка собирается прямо во время работы программы. Для каждого пикселя камера как будто запускает луч света назад в пространство и смотрит, откуда он мог прийти.
В обычной сцене такой луч летел бы по прямой. Но рядом с чёрной дырой пространство-время сильно искривлено, поэтому изгибается и траектория света. В модуле эти траектории рассчитываются для чёрной дыры Шварцшильда - то есть невращающейся чёрной дыры.
Если луч проходит слишком близко, он уже не возвращается наружу. Так появляется чёрная область в центре. А свет, который проходит чуть дальше, может очень сильно отклониться. Иногда он почти обходит чёрную дыру, прежде чем попасть к наблюдателю. Из-за этого вокруг неё и возникает характерное яркое кольцо.
Самое интересное для меня здесь - аккреционный диск. Он в действительности остаётся плоским. Но на видео хорошо видно, что его дальняя сторона как будто поднимается над чёрной дырой и появляется ещё и снизу. Это не изгиб самого диска. Так выглядит гравитационное линзирование: свет от дальней части диска огибает чёрную дыру и приходит к камере по искривлённой траектории.
Диск при этом вращается, поэтому его две стороны выглядят не одинаково. Та часть вещества, которая движется в нашу сторону, становится ярче, а удаляющаяся - темнее. Дополнительно свет меняется из-за сильного гравитационного поля возле самой чёрной дыры. То же самое происходит и со звёздным фоном. Лучи от далёких звёзд тоже отклоняются, поэтому фон рядом с чёрной дырой заметно искажается.
При этом я не пытаюсь делать вид, что здесь полностью моделируется настоящая аккреционная плазма. Геометрия движения света рассчитывается физически, а внешний вид самого диска - его полосы, яркость и структура - уже создаётся процедурно.
В итоге программа не знает заранее, как должна выглядеть чёрная дыра, она просто считает куда пошёл свет, а изображение получается уже из этого.
Исходная версия kevlarbeaver, :
Это видео из моего модуля Black Hole. Здесь чёрная дыра не нарисована заранее и не сделана как обычный 3D-объект с красивой текстурой. Картинка собирается прямо во время работы программы. Для каждого пикселя камера как будто запускает луч света назад в пространство и смотрит, откуда он мог прийти.
В обычной сцене такой луч летел бы по прямой. Но рядом с чёрной дырой пространство-время сильно искривлено, поэтому изгибается и траектория света. В модуле эти траектории рассчитываются для чёрной дыры Шварцшильда - то есть невращающейся чёрной дыры.
Если луч проходит слишком близко, он уже не возвращается наружу. Так появляется чёрная область в центре. А свет, который проходит чуть дальше, может очень сильно отклониться. Иногда он почти обходит чёрную дыру, прежде чем попасть к наблюдателю. Из-за этого вокруг неё и возникает характерное яркое кольцо.
Самое интересное для меня здесь - аккреционный диск. Он в действительности остаётся плоским. Но на видео хорошо видно, что его дальняя сторона как будто поднимается над чёрной дырой и появляется ещё и снизу. Это не изгиб самого диска. Так выглядит гравитационное линзирование: свет от дальней части диска огибает чёрную дыру и приходит к камере по искривлённой траектории.
Диск при этом вращается, поэтому его две стороны выглядят не одинаково. Та часть вещества, которая движется в нашу сторону, становится ярче, а удаляющаяся - темнее. Дополнительно свет меняется из-за сильного гравитационного поля возле самой чёрной дыры. То же самое происходит и со звёздным фоном. Лучи от далёких звёзд тоже отклоняются, поэтому фон рядом с чёрной дырой заметно искажается.
При этом я не пытаюсь делать вид, что здесь полностью моделируется настоящая аккреционная плазма. Геометрия движения света рассчитывается физически, а внешний вид самого диска - его полосы, яркость и структура - уже создаётся процедурно.
В итоге программа не знает заранее, как должна выглядеть чёрная дыра, она просто считает куда пошёл свет, а изображение получается уже из этого.