大气散射(二)大气散射的理论

106 阅读1分钟

一、介绍

在本教程的第一部分中,我们讨论了光线如何被行星大气中的空气分子偏折。这个过程被称为散射,我们已经突出了两种特殊情况。当一束朝向摄像机的光线被偏折离开摄像机时发生外向散射(下图)。

image.png 相反地,内向散射发生在光线直接被偏折朝向摄像机的情况下

image.png

二、透射函数

为了计算传递到摄像机的光量,跟踪光线从太阳射出到达摄像机的路径是有帮助的。从下面的图示中可以看到,到达C点的光线穿过了空旷的空间。由于路径上没有任何物体,所有的光都到达C点,没有受到任何散射的影响。让我们用ICI_C表示点C从太阳接收到的未经散射的光量。在光线到达P点的过程中,它进入了行星的大气层。一些光线会与空气中悬浮的分子碰撞,从而朝不同的方向反射。结果是一些光从路径中散射出去。到达P点的光量(用IPI_P表示)将低于ICI_C

image.png I_P和I_C之间的比率称为透射率:

T(CP)=IPICT(\overline{CP}) = \frac{I_P}{I_C}

我们可以使用它来表示在从C到P的过程中未散射(透射)的光的百分比。我们稍后会探讨这个函数的性质。现在,你需要知道的唯一一件事是,它对应于大气外向散射的贡献。

因此,P接收到的光量为:

IP=ICT(CP)I_P = I_C \, T\left(\overline{CP}\right)

三、散射函数

点P直接接收来自太阳的光。然而,穿过P的所有光并不都传回到摄像机。为了计算实际到达摄像机的光量,我们需要引入另一个概念:散射函数S。它的作用是指示在特定方向上偏折了多少光。如果我们看下面的图示,我们注意到只有那些被偏折了角度θ\theta的光线才会朝向摄像机方向。

image.png S(λ,θ,h)\left(\lambda, \theta, h\right)的值表示被θ\theta弧度偏折的光的比例。这个函数是我们问题的核心,我们将在未来的文章中探讨它的性质。现在,你需要知道的唯一一件事是,它取决于入射光的颜色(由其波长λ\lambda表示)、散射角θ\theta和P点的海拔h。海拔之所以重要是因为大气密度随着海拔的变化而变化。而密度,最终决定了有多少光被散射的因素之一。

现在我们已经拥有了写出一个总的方程的所有必要工具,该方程显示了从P传输到A的光量:

IPA=IPS(λ,θ,h)T(PA)I_{PA} = \boxed{I_P} \, S\left(\lambda,\theta,h\right) \, T\left(\overline{PA}\right)

我们可以使用之前的定义展开 (I_P):

IPA=ICT(CP)S(λ,θ,h)T(PA)I_{PA} = \boxed{I_C \, T\left(\overline{CP}\right)}\, S\left(\lambda,\theta,h\right) \,T\left(\overline{PA}\right)
=ICS(λ,θ,h)内向散射T(CP)T(PA)外向散射= \underset{\text{内向散射}}{ \underbrace{I_C \,S\left(\lambda,\theta,h\right)} }\, \underset{\text{外向散射}}{\underbrace{T\left(\overline{CP}\right)\, T\left(\overline{PA}\right)}}

这个方程应该是不言自明的:

  • 光从太阳传播到C,在真空中未经散射;
  • 光进入大气,从C到P传播。在这个过程中,只有T(CP)T\left(\overline{CP}\right)的比例到达目的地,这是由于外向散射;
  • 部分从太阳到达P的光被偏转回摄像机。被内向散射影响的光的比率是S(λ,θ,h)S\left(\lambda,\theta,h\right)
  • 其余的光从P传播到A,再次只有T(PA)T\left(\overline{PA}\right)的比例被传输。

四、数值积分

如果您注意到前面的段落,您可能会注意到在强度写法上存在明显的不一致。符号 IPAI_{PA} 表示从 P 到 A 传输的光量。然而,该量并不考虑 A 接收到的所有光。在大气散射的这种简化模型中,我们考虑了沿着摄像机视线通过大气的每个点的内向散射。

A 接收到的总光量,IAI_A,是通过将所有点 PABP \in \overline{AB} 的贡献相加得到的。从数学上讲,线段 AB\overline{AB} 中有无穷多个点,所以遍历所有这些点是不可能的。然而,我们可以将 AB\overline{AB} 分成许多长度为 ds 的小段(如下图所示),并累积每个小段的贡献。

image.png

这个近似的过程称为数值积分,导致了以下表达式:

IA=PABIPAdsI_A = \sum_{P \in \overline{AB}} {I_{PA}\, ds }

我们考虑的点越多,最终结果的准确性就越高。实际上,在我们的大气着色器中,我们将不得不遍历大气内部的多个点 PiP_i,累积它们对总体结果的贡献。

五、方向光

如果太阳相对较近,最好将其建模为点光源。在这种情况下,C处接收到的光量取决于距离太阳的距离。然而,如果我们讨论的是行星,通常可以假设太阳距离如此之远,以至于其光线以相同的角度到达行星。如果是这种情况,我们可以将太阳建模为定向光源。来自定向光源的光量在其传播的距离不变的情况下保持恒定。因此,每个点C接收到相同数量的光,并且所有点的朝向太阳的方向都是相同的。

image.png 我们可以利用这一假设简化我们的一系列方程。

让我们用常量 (I_S) 代替 (I_C),表示太阳的强度。

IA=PABIPAds=I_A = \sum_{P \in \overline{AB}} {\boxed{I_{PA}}\, ds } =
=PABICS(λ,θ,h)T(CP)T(PA)ds= \sum_{P \in \overline{AB}} {\boxed{I_C \,S\left(\lambda,\theta,h\right) \,T\left(\overline{CP}\right)\, T\left(\overline{PA}\right)}\, ds }
=ISPABS(λ,θ,h)T(CP)T(PA)ds= I_S \sum_{P \in \overline{AB}} {S\left(\lambda,\theta,h\right) \,T\left(\overline{CP}\right) \, T\left(\overline{PA}\right) \,ds }

还有另一种优化方法,涉及到散射函数 S(λ,θ,h)S\left(\lambda,\theta,h\right)。如果阳光总是来自同一方向,那么角度 θ\theta 就成为一个常数。我们将在未来的文章中看到如何将S(λ,θ,h)S\left(\lambda,\theta,h\right) 的定向贡献分解出来。现在,让我们保持在内部。

六、吸收系数

在描述光与空气分子相互作用的可能结果时,我们只介绍了两种情况。直接穿过或被偏折。还有第三种可能性。一些化学化合物会吸收光。地球大气中有许多具有这种特性的化学物质。例如,臭氧存在于高层大气中,并且已知对紫外光有很强的反应。然而,它的存在对天空的颜色几乎没有影响,因为它吸收的光位于可见光谱之外。在地球上,往往忽略了光吸收化学物质的贡献。

在地球上,往往忽略了光吸收化学物质的贡献。但对于其他行星来说,情况就不一样了。例如,海王星和天王星的典型颜色是由它们大气中丰富的甲烷引起的。甲烷以吸收红光而闻名,导致了蓝色的色调。在本教程的其余部分中,我们将忽略吸收系数,尽管我们将添加一种方法来给大气着色。

七、总结

在本教程中,我们推导了统治单次散射的方程的非常一般的形式。所描述的方法在理论上适用于所有接收来自单一光源的透明体积。

当然,两个关键因素是透射函数 TT 和散射函数 SS。在下一个教程中,我们将探索它们的性质,并根据行星大气的物理特性推导方程。