Перейти к содержанию

Цвет неба на других планетах (дискуссия к теме наука-фантастике, факты)


Рекомендуемые сообщения

А цвет растений можно даже в этой программе построить: спектр рассеяния сделать в виде плавной кривой, которая близка к максимуму на 500..560 нм и резко спадает на краях. Впрочем, я сам еще не пробовал. В общем, идея получить зеленый цвет в свете Солнца, а потом попробовать на других спектр. классах.

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

  • Нравится 1

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 201
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

То есть, вопрос, какого цвета должны быть растения, чтобы наиболее эффективно вести фотосинтез? Если не копаться в биохимии, вопрос очевиден: черными! Почему они на Земле получились зелеными - никто не знает. Это на самом деле крайне неразумно - отражать в спектральном максимуме! Дело именно что в хлорофилле, можно ли было придумать какое-то другое соединение, более эффективное - природа за миллионы лет эволюции не нашла. Но это не значит, что их нет. Какую-то другую химию рассматривать (кремний-органику, например) - вообще гиблое дело!

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

Почему они на Земле получились зелеными - никто не знает.

Ну почему никто? Вот есть мнение, что это самая неэффективная для них часть спектра.

Дело именно что в хлорофилле, можно ли было придумать какое-то другое соединение

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

Какую-то другую химию рассматривать (кремний-органику, например) - вообще гиблое дело!

Правда ваша. Поэтому, не знаю, как другие пользователи данной темы, а я намерена лишь подлаживать земную под инопланетные условия. Но согласитесь, было бы бестолково использовать для фотосинтеза пигмент, максимум поглощения которого лежит в синей части спектра, на планетах, где солнце в этой части почти ничего не излучает.
 
Но вот какая у меня образовалась проблема. Я попыталась получить в программе цвет воды в толще и цвет наших зелёных растений. Пока я это делала, столкнулась с проблемой, которую можно кратко охарактеризовать как "что на что накладывать". Мне представляется, что накладывать на голую спектрограмму звезды неверно, потому что после прохождения через атмосферу спектр изменится. Далее, вопрос что накладывать. Очевидно, что не кривую поглощения, ибо это как раз цвет, которого не будет. Значит, кривую поглощения следует перевернуть?
Так вот, собственно, что на что накладывать?
 
И ещё у меня не получается получить в программе тёмные цвета. Ну то есть, чёрное небо получить можно, поставив все нули. Можно получить чисто синее или чисто красное. А вот тёмно-синее или тёмно-красное - нельзя... И здесь возникает вопрос. Если учитывать эту погрешность, то какого цвета на самом деле должно быть светлое небо, имеющее жёлто-зелёный оттенок? Просто жёлто-зелёным? Серое с жёлто-зелёным оттенком? Или действительно такое, как показала программа?

  • Нравится 1

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Ну да, если кривая поглощения - от 0 (отсутствует) до 1 (полное поглощение), то надо построить новую кривую: 1 минус поглощение, это и будет пропускание. Такие текстовые файлы, с которыми работают мои программы, легко открыть в экселе, там же можно провести с ними простые арифметические операции и сохранить в том же формате.
 
С яркостью согласен, пока она берется по максимуму, что может показать монитор. Пока кроме неба ничего нет, глазу не за что зацепиться, чтобы понять, светлое оно или темное. Надо явно сделать в следующей версии какой-никакой ландшафт, уходящий в горизонт, а над ним - небо. А звезду сделать визуально очень яркой, применив любимый Дж. Дж. Абрамсом Lens Flare - совокупность эффектов, которые происходят, когда в глаз или объектив светит очень яркий свет, ярче всего остального. Вокруг появляются лучи, которые на самом деле являются дифракционной картиной при прохождении через не очень ровный зрачок / шестиугольную диафрагму фотоаппарата. Вся остальная картинка выходит забеленной из-за частичного рассеяния света на хрусталике/линзах объектива. И все в этом роде. Такие штуки позволяют обмануть мозг. Увидев характерные лучи от солнца, он подумает, что это не ему такую картинку подсунули, а что он действительно смотрит на яркий объект, гораздо ярче, чем мог бы изобразить монитор!

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

Такие текстовые файлы, с которыми работают мои программы, легко открыть в экселе, там же можно провести с ними простые арифметические операции и сохранить в том же формате.

Это можно сделать прямо в программе. Я просто ось OY откладываю не вверх, а вниз.

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

Круто :) Но собственный цвет звезды тоже надо где-нибудь оставить.

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

Я не совсем понимаю, при чём тут ландшафт. Я копирую цвет неба в фотошоп, и он мне выдаёт яркость цветов за двести при максимуме 255. Для теста я нарисовала два небольших пика в сине-зелёной и красно-оранжевой области. И получила светло-сиреневый цвет. Может, возможно сделать растяжку по яркости?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Это можно сделать прямо в программе. Я просто ось OY откладываю не вверх, а вниз.

Нестандартное использование, я о таком не подумал :)
 
Я так понял, проблема в излишне светлом небе? Просто ползунок регулировки яркости сделать можно, даже довольно быстро. Но как-то физически привязать яркость на экране со свойствами планетной системы...
 
Человеческий глаз воспринимает громаднейший диапазон яркостей: между яркостью ночного безоблачного неба вдали от цивилизации, в горах, и яркостью Солнца - разница в 12 порядков! У монитора разница между самым темным и самым светлым - около 3 порядков, хотя зачастую меньше. ЖК-мониторы не способны полностью заблокировать свет, их черный - очень даже хорошо светит в темноте. Книги, фотографии тоже не отличаются большим динамическим диапазоном.
 
Причина, по которой фотографии нам кажутся реалистичными в том, что мозгу по большому счету наплевать на яркости. Он знает, что один и тот же предмет бывает освещен по-разному и запоминает такие его свойства, которые от яркости и даже от изменения цвета (день или закат) не меняются. Точно так же он не запоминает, какую именно яркость имеет небо. Она может сильно разнится от погодных условий. Но помнит, что асфальт - черный, а земля - черная или коричневая, вода - синяя и пр. И уже по этим знакомым предметам "калибрует" глаза. Поэтому, хороший способ получить более реалистичное изображение неба - сделать для него еще и Землю.

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

Нестандартное использование, я о таком не подумал

Это из области "лень - двигатель прогресса". Я подумала, что надо пересчитать график в обратную сторону, а делать это вручную обломалась.

Я так понял, проблема в излишне светлом небе? Просто ползунок регулировки яркости сделать можно, даже довольно быстро. Но как-то физически привязать яркость на экране со свойствами планетной системы...

Правильно я понимаю, что программа растягивает график до максимума по одному из каналов? То есть, если у меня, скажем, есть небо с параметрами R=50, G=100, B=150, то программа растянет кривую и у меня получится небо с цветом R=85, G=170, B=255?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Такой ещё вопрос. Горячие звёзды здорово излучают в фиолетовой части спектра, ой самой, которую мы ещё видим, а монитор отобразить уже не может. Поэтому собственно фиолетовый цвет компьютер может разве что сымитировать, добавив к синему красного. Так вот я хочу уточнить: программа выполняет эту имитацию или, глядя на смоделированное небо какой-нибуь планеты у звезды О5, следует учесть, что оно будет фиолетовей, чем я вижу на экране?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

У вас всегда такие вопросы, на которые я не могу ответить парой слов... Попытаюсь рассказать о цветовосприятии.
 
Давным давно решили, что наш мир трехмерен. Не очень понятно, как это доказать. Как-то по здравому смыслу. Одно измерение - влево-вправо, другое - вперед-назад, третье - вверх-вниз. А еще какие-то движения придумать не получается, значит измерений три!
 
Точно так же эмпирически решили, что у человека в глазу есть три типа рецепторов, которыми он воспринимает дневной свет. А значит, цвет записывается тремя координатами в своем цветовом пространстве. Например, так: одна координата - это яркость, вторая - цветовой тон, от красного до фиолетового а потом через пурпурный назад к красному. Третья - насыщенность цвета, насколько много туда добавлено белого. Вот и получается три координаты.
 
В трехмерном пространстве систему координат можно задать разными способами. Даже оси не обязаны быть ортогональны. Чтобы каждой точке пространства соответствовал свой набор координат (x,y,z), достаточно, чтобы 3 базисных вектора не лежали на одной плоскости, то есть были линейно независимы. С цветовыми координатами все то же самое. Три базовых цвета можно ввести произвольно, и все цвета, которые может увидеть человек, будут выражаться через них. Собственно, RGB ввели во многом произвольно, не надо думать, что одни колбочки реагируют на красный, другие на зеленый, третьи на синий. Их спектр. чувствительности похожи на что-то такое: http://commons.wikimedia.org/wiki/File:Cone-response.png хотя эти графики тоже получены косвенным путем: это светили в глаз и измеряли отраженный свет у людей с разными типами дальтонизма.
 
Но между цветами и координатами в пространстве есть существенная разница. Координаты могут быть и положительными, и отрицательными, и это вполне естественно. А вот отрицательный цвет - это явный абсурд. Однако, с RGB так оно и получилось.
 
Еще в 30-х годах поставили довольно скрупулезные опыты на добровольцах. Им показывали экран, состоящий из двух половинок. Одну половинку освещали монохроматическим светом, полученным с помощью призмы. Вторую - суммой трех цветов - красного, синего и зеленого в разных пропорциях. И каждый раз доброволец должен был сказать, в какой момент цвета на экране точно совпадут. Для некоторых длин волн (в основном, для монохроматического зеленого) оказалось, что никакими ухищрениями два цвета уравнять нельзя. Но вот если одним или двумя из компонент R,G,B посветить на левую половину, а не на правую, то можно. А это и есть отрицательный цвет!
 
Коэффициенты R,G,B для чистых спектральных (монохроматических) цветов приведены здесь: http://nabbla.ru/wp-content/uploads/2011/12/2deg-sRGB-Linear.png
 
Если для какого-то цвета все компоненты положительные, значит монитор их воспроизведет четко, так что глаз отличить не сможет. Но если появляются отрицательные значения, ничего не остается, как округлить их до нуля. И тогда действительно, цвет будет явно не тот.
 
По этому графику кажется, что вообще все плохо: там повсюду хоть один коэф, да отрицательный! Но это для чистых спектральных цветов. Как только начинаются смешивания, ситуация выправляется. Вот картинка: http://en.wikipedia.org/wiki/File:CIE1931xy_CIERGB.svg
Все, что внутри треугольника, можно воспроизвести, что снаружи - нельзя. (Тут, правда, не те RGB, что на мониторе - RGB бывают разные! Там такая жуткая путаница с этими стандартами!)
 
Вот еще одна картинка: http://en.wikipedia.org/w/index.php?title=File:Chromaticity_diagram_full.pdf&page=1
Там идет черная кривая - кривая Планка. По ней отложены цвета излучения абсолютно черного тела при разных температурах. Интересно, что приведена она целиком. Конечная точка справа - это асимптотическое значение цвета при температуре, стремящейся к нулю, слева - при стремлении к бесконечности. Видно, что излучение А.Ч.Т располагается в серединке, что и понятно - кривая довольно пологая, это смесь разных длин волн. А если так, все цвета, которыми обладают звезды, воспроизводятся монитором довольно точно.
 
Вот еще одна моя программка: http://nabbla.ru/wp-content/uploads/2011/12/AddSpectrum2Pic.zip
Я ее написал, когда оформлял диплом, чтобы сделать графики покрасивше. Она позволяет на имеющийся график добавить изображение спектра, построенное максимально точно. Там есть файл Readme, правда, он немного корявый, но суть должен прояснить. А пишу я сейчас про нее, потому что там есть возможность по-разному обходиться с отрицательными коэффициентами. Если параметр "забеление" выставлен в ноль, они просто будут отбрасываться. Если же там число от 0 до 1, то ко всем точкам на спектре прибавится сколько-то белого, чтобы отрицательные коэф. ушли, пусть и ценой снижения насыщенности. Можно наблюдать, как поначалу у спектра есть места, где цвет не меняется. А если поднимать "забеление": 0.1, 0.2, 0.3 и т.д, цветов будет становиться все больше и больше.
 
И что характерно, на сам вопрос я не ответил. В общем, да, цвет делается максимально похожим на реальный. Фиолетовый он отображать умеет, другое дело, там попросту никогда не получается чистого фиолетового. Дело в том, что глаз видит фиолетовый довольно слабо, куда слабее, чем зеленый или даже синий. Поэтому в смеси он быстро пропадает.

  • Нравится 2
Ссылка на комментарий
Поделиться на другие сайты

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

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

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

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

А каким образом прибавить эту составляющую?
 
 
То есть, я так поняла, небо будет просто более серым?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Можно начало координат на графике кривых поглощения расположить еще выше, чтобы даже при 100% поглощении он бы показывал 0.01 или 0.1.
 
А если все кривые уже записаны в текстовые файлы, можно открыть его экселем, он спросит, какой там разделитель (надо поставить - табуляция), что выступает десятичной точкой (собственно, точка и есть), а потом, когда он отобразит 2 колонки, надо в 3-й написать =B1+0,01 (0,01 - это как раз коэф. рассеяния для дыма), а потом скопировать на всю колонку вниз.
 
Да, небо станет более серым.

Ссылка на комментарий
Поделиться на другие сайты

Тогда в моём случае можно обойтись и без моделирования - оно и так почти серое. Незадача, однако. А как тогда объяснить примету, что закат краснеет к плохой погоде? Я слышала, что это как раз из-за изменения рассеяния, ну и решила, что спектр будет сдвигаться в красную сторону. Значит, всё совсем не так?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

А что называется плохой погодой? Если похолодание, то согласен. Закат красный - значит небо ясное, иначе он был бы куда более серый. А при ясном небе ничто не задерживает ИК излучение, идущее с поверхности Земли, а значит и воздух остынет, и роса/иней могут очень основательно выпасть.
 
Сейчас программа несколько примитивна, чтобы ей обосновывать/опровергать приметы. Много неучтенных эффектов. Рефракция, например. Миражи, знойная "дрожащая" пустыня... Когда солнце на закате выглядит огроменным, в пол-неба, это тоже из-за повышенной турбулентности в атмосфере, которая отклоняет лучи в разные стороны, сильно размывая изображение.

Ссылка на комментарий
Поделиться на другие сайты

А что называется плохой погодой?

Ну, ещё, говорят, к ветру.
 
А вот такой вопрос. Я взяла спектр излучения Солнца и обратила внимание, что программа показывает Солнце не жёлтым, а розоватым. Как так? Да, я учла, что звезда моделируется как вне атмосферы. Но ведь оно у нас само по себе как раз жёлтое.

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

На самом деле, оно должно быть белым. Белый - это как бы по определению спектр солнца. То, что его желтым карликом называют - это традиция. Раз мы его видим желтым - значит, желтый.
 
Почему получается розоватым - не знаю, честно говоря. Хотя у нас на работе в лифте под матовым стеклом стояли холодные белые энергосберегающие лампочки, а потом несколько перегорело и поставили обычные накаливания. Так лампочки накаливания под матовым стеклом, на фоне холодного белого тоже выглядят розоватыми. Сколько раз натыкался на диаграмму Херцшпрунга-Рассела, там если изображены цвета от красного до голубого, там тоже между желтым и белым стоит какой-то розоватый. Как -то так: http://en.wikipedia.org/wiki/File:HR-diag-no-text-2.svg. Может, так оно и есть, а может, где-то в таблицах XYZ ошибка, и мы все сели на одни грабли...

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

Ага. Тогда вопрос такой. Я сейчас в Террагене моделирую планету из космоса. Звезда планеты - красный карлик спектрального класса М3. Цвет звезды согласно программе оранжевый, небо планеты - бледно-жёлтое. В террагене по умолчанию стоят следующие настройки: синее небо и белое солнце. Вот не знаю, должна ли я менять оба параметра или только один. Если оба, то планета выглядит буквально огненной, а в это как-то не верится.

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

К сожалению, с террагеном никогда не имел дела. А там яркость регулируется, или только цвет?

Ссылка на комментарий
Поделиться на другие сайты

Ну, там полная палитра, как в фотошопе.
 
Вообще, всё несколько сложнее. Мне, вроде бы, удалось добиться жёлтой атмосферы при оранжевом солнце без того, чтобы планета стала похожа на печку. Но там вообще два цветовых параметра для атмосферы. Есть параметр цвет неба над головой и есть цвет неба на горизонте. Вот по умолчанию над головой стоит ярко-синий, а на горизонте серо-синий. И получается, если менять оба соответственно, то планета и выглядит, как из печки. А если поменять только тот, что над головой, то нормально.

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Это хорошо, что получилось. Я очень надеюсь где-нибудь к новому году написать новую версию,с более реалистичной отрисовкой неба. Правда, в той статье, что я нашел, они приводят эмпирические формулы, полученные для неба Земли, для других планет их можно взять только в первом приближении. А самостоятельно считать - они говорят, ушло 600 часов процессорного времени, при довольно хорошей оптимизации вычислений. Это на одну планету - нашу :)

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

Это значит, что формулы подходят только для атмосферы, сходной с земной? Или для земной атмосферы и такого, как у нас солнца?

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Для атмосферы, сходной с земной. Хотя там есть ровно один регулируемый параметр - turbidity (туманность), чтобы от ясного голубого неба плавно перейти в плотно затянутое белой дымкой. Может, этого и хватит на первых порах. В общем, надо будет попробовать.
 
Кстати, только сегодня узнал, что такие текстовые файлы, где несколько рядов чисел, можно просто из блокнота скопировать и вставить в экселе - и они спокойненько вставятся в две колонки. А потом 2 другие нужные колонки через ctrl-C - ctrl-V можно вставить назад, в текстовый файл. Без всяких мучений с расстановкой разделителей, выбора типа файла и пр.

  • Нравится 1
Ссылка на комментарий
Поделиться на другие сайты

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

Падающая Звезда

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...