http://spiff.rit.edu/classes/phys301/lectures/gas_planets/gas_planets.html