Source: http://math.colorado.edu/~liuf/activecalc3/Project10_SurfaceIntegralIntroSol.pdf