Why does the differential solid angle have a $\sin\theta$ term in integration in spherical coordinates?

Solution 1:

You can see need for the $\sin\phi$ factor by comparing the actual area on a globe with the apparent area in the Equirectangular projection. Each square of the projection represents the same change in $\theta$ and in $\phi$ and maps to a curved quadrilateral on the globe. The closer to the poles (where $\phi = 0, \pi$), the smaller the area on the globe; roughly it is proportional to $\sin\phi$, keeping in mind that the latitude measurement differs from $\phi$ by a right angle.

enter image description here

maps to

enter image description here

Equal changes in $\phi$ represent the same distance on a (spherical) globe, but equal changes in $\theta$ (longitude) represent distances proportional to $\sin\phi$, which you can prove by finding the radius of a circle of latitude that goes around around a pole (as pointed out by @Alex).

Solution 2:

You are right that higher chunks are worth less. This comes from the artifact of the horizontal radius getting smaller as you move toward either pole. Take the sphere at the origin and draw the radius going out horizontally on the x-y plane. Now move this radius upward along the z axis, keeping it parralel to the x-y plane. This is effectively in cylindrical coordinates now. Imagine we are now calculating the area of the sphere by adding up the horizontal circular slices as we go up Notice that if you do one revolution in phi, you want to be tracing out the edge of the sphere, and the higher up you are, the smaller the radius. Basic trig tells you that at height z, the radius is $r\sin(\theta)$, where $r$ is the usual radius of the sphere (it looks like you have $r=1$). Without the sin factor you would be instead calculating the surface area of the side of a cylinder.

Solution 3:

Zhen Lin explained the theory here. I try to recite this in the theory section and then show ways to plot things with different tools in the Getting Our Hands Dirty! section.

Theory

The square form i.e. the Jacobian is required for the change in coordinates because you need to know change in every direction. After this calculation, you need to calculate the determinant and take the square root as below

$$J = \begin{pmatrix} r \cos \theta \cos \phi & -r \sin \theta \sin \phi \\ r \sin \theta \cos \phi & r \cos \theta \sin \phi \\ -r \sin \phi & 0 \end{pmatrix}$$

for which the general formula

$$A = \int_S \sqrt{\det g} \, du \, dv.$$

I really recommend Zhen Lin's marvelous answer!

P.s. The only case when your first equation is correct is when $r=1$ and $\sin(\phi)=1$ for the integration -- probably not the integral you are trying to do! I use the same notation as Zhen Lin, Latitude is $\psi \in [0,\pi]$ and azimuth is $\theta \in[0,2\pi]$.

ALERT!

Please, notice that people use two different conventions for integration: Zhen Lin uses reading outer-most integral things first and you use reading things in parallel (I hope you know the difference or you are very confused!).

Now let's get our hands dirty!

Now how should we alter the parametrization to make it look like the integral? I don't know, thinking. Anyway, the below examples were provided by co-operation of people around Stackexchange such as Anon Mouse and eindandi. If you find them useful, give them some upvotes -- not me.

Mathematica

enter image description here

Manipulate[
 ParametricPlot3D[{Sin[theta] Cos[phi], 
   Sin[theta] Sin[phi], Cos[theta]},
  {theta, 0, t}, {phi, 0, p},
  PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}],
 {t, 0.1, Pi}, {p, 0.1, 2 Pi}]

Matlab

[f,t] = meshgrid(linspace(0,2*pi,361),linspace(0,pi,361));
x = sin(t)*cos(f);
y = sin(t)*sin(f);
z = cos(t);
surf(x,y,z)