Дізнайтеся, чому дуга веселки завжди знаходиться під 42° від антисонячної точки, чому кольори завжди в одному порядку і чому до кінця веселки не можна дійти ніколи.
Біле сонячне світло входить у сферичну краплю дощу, заломлюється на вході, відбивається від задньої стінки і заломлюється на виході. Різні довжини хвиль заломлюються по-різному, розводячи червоний (~42°) і фіолетовий (~40°) у дугу.
Регулюйте кут сонця, щоб змінити положення веселки. Повзунок розміру крапель впливає на чистоту кольорів. Увімкніть другу веселку для оберненого порядку кольорів і тьмянішої зовнішньої дуги.
Веселка насправді є повним колом — земля відрізає нижню половину. З літака можна побачити повне кільце знизу. Кожна людина бачить свою унікальну веселку, центровану навколо тіні власної голови.
Цей GLSL-фрагментний шейдер відтворює, як сонячне світло формує веселку всередині сферичних крапель дощу. Кожен промінь входить у краплю, заломлюється, один раз відбивається від задньої поверхні, знову заломлюється на виході і розкладається — адже показник заломлення n(λ) залежить від довжини хвилі. Промені накопичуються під кутом мінімального відхилення, утворюючи первинну дугу приблизно під 42° навколо антисонячної точки, де червоний знаходиться на зовнішньому краї, а фіолетовий — усередині.
Панель керування дозволяє регулювати висоту сонця (0–70°), загальну інтенсивність і рідину в краплях (вода, щільніша рідина або гліцерин), а також вмикати вторинну дугу. Якщо підняти сонце вище 42°, дуга зникає за горизонтом — так само, як у природі. Розуміння цієї геометрії важливе в атмосферній оптиці, метеорології та при проєктуванні оптичних приладів, що використовують дисперсію.
Що показує ця симуляція?
Вона відтворює веселку, що виникає, коли сонячне світло заломлюється, відбивається і розкладається всередині крапель дощу. Первинна дуга з'являється приблизно під 42 градусами від антисонячної точки, причому червоний знаходиться зовні; необов'язкова тьмяніша вторинна дуга з'являється приблизно під 51 градусом з оберненими кольорами.
Чому веселка з'являється саме під ~42 градусами?
Світло, що проходить крізь кулю з одним внутрішнім відбиттям, має кут мінімального відхилення, тому промені накопичуються під цим кутом і посилюють одне одного. Для води цей кут мінімального відхилення, або кут веселки, становить близько 42 градусів — саме тому дуга завжди формується там, незалежно від розміру крапель.
Чому кольори розділяються?
Показник заломлення води трохи залежить від довжини хвилі — ця властивість називається дисперсією. Фіолетове світло має вищий показник (близько 1,343), ніж червоне (близько 1,331), тому воно відхиляється сильніше і виходить під меншим кутом. Це розкладає біле сонячне світло в спектральну смугу, яку ми бачимо по всій дузі.
Висота сонця задає положення сонця, що рухає дугу вгору або вниз; інтенсивність масштабує загальну яскравість; перемикач рідини дозволяє вибрати між водою, щільнішою рідиною і гліцерином, змінюючи показник заломлення; а перемикач вторинної дуги показує або приховує тьмянішу дугу під 51 градусом і темну смугу Александра.
Дуга центрована на антисонячній точці, яка знаходиться навпроти сонця і опускається нижче горизонту, коли сонце піднімається. Як тільки сонце піднімається вище приблизно 42 градусів, вся первинна дуга йде за горизонт, тому симуляція згасає при перевищенні цієї висоти, відповідно до реальних спостережень.
Закон Снелла — sin i = n sin r — описує заломлення на поверхні. Для k внутрішніх відбиттів кут входу для мінімального відхилення задовольняє умову cos i = sqrt((n у квадраті мінус 1), поділеного на k, помноженого на (k плюс 2)), а кут розсіювання від антисонячної точки випливає із загального відхилення. Шейдер обчислює це безпосередньо для кожної довжини хвилі.
Вторинна дуга виникає від двох внутрішніх відбиттів, а не одного, тому вона з'являється приблизно під 51 градусом, є тьмянішою і має обернені кольори — червоний знаходиться на внутрішньому краї. Між двома дугами розташована темніша область, відома як темна смуга Александра, де майже немає зворотного розсіювання світла до спостерігача.
Перемикання на щільнішу рідину або гліцерин підвищує показник заломлення, що зсуває кут мінімального відхилення всередину і змінює розкид кольорів. Живий рядок стану перераховує кути первинної та вторинної дуг для обраного середовища, тому можна спостерігати, як дуга звужується зі зростанням показника.
Порядок кольорів, кути приблизно 42 і 51 градуси, дисперсія за довжиною хвилі і темна смуга Александра — все це відповідає правильній оптиці. Це стилізоване наближення в реальному часі, а не повна модель переносу випромінювання, тому масштабування радіуса на екрані та яскравість налаштовані для наочності, а не для точних фотометричних значень.
Веселка не фіксована в просторі — вона визначається кутом між сонячним світлом і вашою лінією зору, центрованою на тіні вашої власної голови. Оскільки ця геометрія унікальна для кожної позиції спостерігача, двоє людей ніколи не бачать точно ту саму дугу, навіть стоячи поруч.
Ті самі принципи дисперсії та заломлення лежать в основі атмосферних оптичних явищ — гало та глорій, проєктування призм і спектрометрів, а також методів дистанційного зондування для визначення розміру крапель дощу за шириною і яскравістю веселки. Вивчення цих кутів допомагає метеорологам інтерпретувати стан неба.