There are two reflective surfaces… The top of the oil and the top of the water. The distance between these surfaces is tiny and it varies with the thickness of the oil. Light will cancel all but one color if the thickness is just right, and a spectrum of colors (a rainbow) is produced where that thickness is changing.
Latest Answers