How rainbows form