我正在尝试编写一个可以模拟彩虹的程序。到目前为止,我已经弄清楚了如何确定取决于波长的折射率变化、取决于水滴内部反射次数的散射光线的角度偏差等等。我唯一不确定的是如何使用这些信息绘制彩虹。我正在考虑使用诸如散射光线角度的正弦和余弦之类的东西,但是我不知道是什么决定了天空中彩虹的半径。欢迎任何帮助。
请记住,我对编程和整体光学有简单的了解(物理学学士学位)。
我正在尝试编写一个可以模拟彩虹的程序。到目前为止,我已经弄清楚了如何确定取决于波长的折射率变化、取决于水滴内部反射次数的散射光线的角度偏差等等。我唯一不确定的是如何使用这些信息绘制彩虹。我正在考虑使用诸如散射光线角度的正弦和余弦之类的东西,但是我不知道是什么决定了天空中彩虹的半径。欢迎任何帮助。
请记住,我对编程和整体光学有简单的了解(物理学学士学位)。
那么我不知道是什么决定了天空中彩虹的半径
彩虹的角半径只取决于雨水的折射率。无论您身在何处,主弓始终约为 42° ,副弓始终约为 51° 。半径的确切值取决于光的频率。
彩虹的中心与太阳相对。
此外,不要忘记太阳本身的角直径约为 0.5°,这会导致彩虹模糊半度。
彩虹形成一个圆弧,它是圆的一部分。看彩虹时,如果你面对彩虹的中心,太阳就在你的背后。一束穿过你头顶的阳光射到圆的中心。与那束平行的其他光束进入雨中并反射回您的眼睛。对于每种颜色,都有一个特定的反射角度可以增强反射。该角度通常是在入射平行光线和反射回您眼睛的光线之间计算的,它决定了观察到的圆的角度大小。(做一个侧视图草图。)圆圈的实际大小将取决于你到雨的距离。