nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

Цвет неба на других планетах

Еще одна моя программка, разработка которой косвенно была связана с работой, но по большей части я ее делал дома, в качестве хобби.

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


Затянутое облаками небо:

Закат:



Небо под звездой класса O (атмосфера как на Земле):





Программа еще очень сырая, причем есть две версии, каждая из которых имеет свои достоинства и недостатки.

Версия 0.03 считает или релеевское рассеяние, или по произвольной функции (которую надо самостоятельно ввести, возможно, применяя ImageGraph2Txt), в пространственные распределения не лезет, т.е считает примерно для случая, когда Солнце в зените. Никаких закатов показать она не может. Даже цвет самой звезды после прохождения через атмосферу сказать не может. Круг одного цвета на фоне прямоугольника другого цвета, никаких фрактальных облаков, ничего.


Версия 0.33 - куда более навороченная, там можно ввести несколько светил, указать их положение на небе, задать их угловой размер и видимую звездную величину. Очень точная модель атмосферы, сходной с земной: релеевское рассеяние и рассеяние Ми на аэрозолях (параметр "затуманенность" (turbidity) задает, во сколько раз полное рассеяние превышает релеевскую компоненту), поглощение озоном, углекислым газом и водяными парами. Введено понятие атмосферной массы, благодаря чему при разном положении светил у них получается разный цвет - желтое (почти белое) солнце в зените и багровое на закате. Применена приближенная численная модель атмосферы, где для каждого положения светила получается свое распределение яркости и цветности по небесному склону. Фрактальные облака. Зачаточная модель дифракции и разные варианты экспозиции, параметр экспокоррекции.



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

Потихоньку работаю над версией 0.4 - в ней наконец можно будет сохранять и загружать те или иные конфигурации, появится модель одинарного рассеяния, цветная дифракция на входном зрачке, форму которого тоже можно будет выбрать. Но это надолго: надо переработать всю "архитектуру", чтобы программа не рухнула под собственным весом, а потом еще и все нововведения реализовать...

Посмотреть описание версии 0.33, историю изменений, а также скачать исходные коды можно на https://github.com/nabbla/Xenosky


Tags: imagegraph2txt, математика, моделирование, программки, солнечная энергия
Subscribe

Recent Posts from This Journal

  • Нахождение двух самых отдалённых точек

    Пока компьютер долго и упорно мучал симуляцию, я пытался написать на ассемблере алгоритм захвата на ближней дистанции. А сейчас на этом коде можно…

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 4 comments