Why do rainbows have a finite amount of colors?