Which philosopher, scientist, and mathematician developed laws of refraction through studying rainbows?

a. Galen
b. Rene Descartes
c. Andreas Vesalius
d. Sir Isaac Newtown