雨过天晴,大气中仍残留着无数的小雨滴。当日光射向雨滴的上部时,经过一次折射进入雨滴,接着产生一次反射,再折射一次之后射出雨滴。由于日光中不同色光在水中的折射率不同,所以由雨滴中射出的色光与地平线的夹角也不同,紫光在外,红光在内,在红光与紫光之间是橙、黄、绿、青、蓝。并非在任何条件下,都能看见由这七种颜色组成的彩带,只有满足最小偏向角的入射光线,从雨滴中射出才是近乎平行的,从而能进入人们的眼帘;其它方向的光在大气中漫射开。经计算得知:紫光与地平线的夹角为123,而红光为143。凡属与地平线成123角的所有紫光都组成一锥面,而红光组成另一个锥面,其它色光的锥面位于二者之间。由于雨滴中满足这个条件的很多,当人们背向日光看去,便形成了内红外紫的七色弧形彩带了,这就是虹。
更高层的雨滴,日光从雨滴的下半部进入,先产生一次折射,接着产生两次反射,再折射一次射出雨滴。由雨滴射出的七色光仍然各自形成锥面,红光在外而紫光在内,这就是霓。霓的颜色分布与虹恰好相反。
在地面上的观察者只能看到地平线上面的两道大彩虹,站在高山顶上就能看到虹霓的大部分。只有在晴朗的天气,在飞机舱中向下看,才有可能看到虹霓的全貌,那就是人们向往的“佛光”。