沈括对于虹和大气的折射现象也有正确的解释。他认为虹的位置同太阳的位置是相对的,所以傍晚时的虹便出现在东方。他引用了当时另一位科学家孙彦先关于“虹是日光照着雨点而发生的”的论点,来解释虹是大气的折射现象。这种解释基本上是符合科学原理的。