James, Email, Cambridge asked:
Why does petrol and oil make a rainbow effect on water ?
This is because the oil spreads out to form a very thin film on the surface of the water, but of varying thickness. In some places it is literally a molecule thick, whilst in other places it is much thicker. When light passes through the oil some of it is reflected back off the different layers of oil, whilst some carries on and is reflected off the surface of the water lying below. Because the light waves have now travelled different distances before being reflected they mix together producing a spectrum of colours - because the thickness of the oil layer varies. For the super intelligent the light spectrum occurs because, having travelled slightly different distances, some of the waves are now 'out of phase' and cancel each other out, producing dark spots, whilst others add together, producing lighter spots.