A Scientific Explanation of Rainbows