Computer Scientists Discover How to Simulate Rainbows