For a project, I'm working on calculating solid angles using calculus, but when I test my formula for the solid angle of a regular tetrahedron, I end up with $0.4633$ when according to Wolfram, I should get $0.5513$. This is going to be a bit long...

The solid angle is equal to the spanned area ($\Omega$) on the unit sphere. We also know that the area spanned is directly proportional to the volume spanned ($V$) by the solid angle.


And $V$ can be found through some integration. I will be integrating the region using spherical coordinates, but honestly I don't like how $\phi$ is defined as the angle with respect to the $Z$-axis. Instead I will have $\phi$ be the angle with respect to the $XY$-plane (like angle of elevation). This puts $\phi$ inside the solid angle as opposed to outside of it. So to convert from Cartesian coordinates to this new coordinate system.

$$(x,y,z)=(\rho\cos\theta\cos\phi,\rho\sin\theta\cos\phi,\rho\sin\phi)$$ $$\frac{\partial(x,y,z)}{\partial(\rho,\theta,\phi)}=\begin{vmatrix}\cos\theta\cos\phi&-\rho\sin\theta\cos\phi&-\rho\cos\theta\sin\phi\\\sin\theta\cos\phi&\rho\cos\theta\cos\phi&-\rho\sin\theta\sin\phi\\\sin\phi&0&\rho\cos\phi\end{vmatrix}=\rho^2\cos\phi$$

And so our solid angle can be calculated as

$$\Omega=3V=3\iiint_V\rho^2\cos\phi\ d\rho\ d\theta\ d\phi$$

Since we will always be using a unit sphere

$$\Omega=3\iint_A\int_0^1\rho^2\cos\phi\ d\rho\ d\theta\ d\phi=\iint_A\cos\phi\ d\theta\ d\phi$$

Now to calculate the solid angle formed by three vectors $u$, $v$, and $w$. First we orient the solid angle into a standard position so that $u$ points in the direction $(1, 0, 0)$, $v$ lies on the plane $(\rho, \theta, 0)$, and $w$ lies anywhere in $(\rho,\theta,\phi)$. Let $\alpha$ be the angle between $u$ and $v$ (azimuth of the solid angle), and let $\beta$ be the angle between $w$ and the plane $(\rho,\theta,0)$ (elevation of the solid angle). For simplicity, we assume $0\le\alpha,\beta\le\pi/2$. The region of integration can be represented as

region of integration

Where $\alpha_1+\alpha_2=\alpha$. Thus

$$\begin{align}\Omega&=\int_0^\beta\int_{\alpha_1\phi/\beta}^{-\alpha_2\phi/\beta+\alpha}\cos\phi\ d\theta\ d\phi\\&=\int_0^\beta\cos\phi\left(-\frac{\alpha_2}{\beta}\phi+\alpha-\frac{\alpha_1}{\beta}\phi\right)d\phi\\&=\int_0^\beta\cos\phi\left(-\frac{\alpha}{\beta}\phi+\alpha\right)d\phi\\&=\frac{\alpha}{\beta}\left(1-\cos\beta\right)\end{align}$$

For a regular tetrahedron $\alpha=\pi/3,\beta=\cos^{-1}(\sqrt3/3)$. However, my equation returns $0.4633$ steradians.

I have no idea where I went wrong.

  • $\begingroup$ Be careful, a straight line in $(\theta,\phi)$ is a straight line (great circle) on a sphere only for an "equator" or meridian line. $\endgroup$ – orion Mar 29 '14 at 9:06
  • $\begingroup$ You may find this web page informative: slac.stanford.edu/~bgerke/notes/solid_angle.pdf $\endgroup$ – awkward Mar 29 '14 at 18:09

It's probably a bit counter-intuitive but a triangle in $(\theta,\phi)$ does not map to a spherical triangle, except for $\theta=0$ line (equator) or $\phi=\rm const$ (meridian). The straight line maps to a strange curve on the sphere. For instance, a simple line at $\theta=\rm const$ (except for equator) is "bulged" out and isn't the shortest path between two points on a sphere.

Integration in spherical coordinates is not the best way to do this, if you have a polygon on a sphere. This is because spherical coordinates have a preferred direction along $z$ and don't preserve straight lines. Moreover, you did a long detour through volume, even though the spherical coordinates alredy remove the radius from the equation (which you figured out by yourself).

What you need is spherical geometry that is meant precisely for this kind of calculations:



Using calculus, we can get a generalized formula (derived in HCR's Theory of Polygon) for calculating solid angle $(\omega)$subtended at the vertex by a right pyramid having regular n-gonal base & angle between two adjacent (consecutive) edges $\alpha$ given as $$\bbox [4pt, border: 1px solid blue;]{\omega=2\pi-2n\sin^{-1}\left(\cos\frac{\pi}{n}\sqrt{\tan^2\frac{\pi}{n}-\tan^2\frac{\alpha}{2}}\right)}$$

For a regular tetrahedron,

n=no. of edges meeting a each vertex=3 angle between any two edges meeting at the vertex=$\frac{\pi}{3}=60^{o}$

Now setting the corresponding values in the above generalized expression, we get $$\omega=2\pi-2(3)\sin^{-1}\left(\cos\frac{\pi}{3}\sqrt{\tan^2\frac{\pi}{3}-\tan^2\frac{(\frac{\pi}{3})}{2}}\right)$$ $$\omega=2\pi-6\sin^{-1}\left(\cos\frac{\pi}{3}\sqrt{\tan^2\frac{\pi}{3}-\tan^2\frac{\pi}{6}}\right)$$ $$\omega=2\pi-6\sin^{-1}\left(\frac{1}{2}\sqrt{3-\frac{1}{3}}\right)$$ $$\omega=2\pi-6\sin^{-1}\left(\sqrt{\frac{2}{3}}\right)\approx0.551285598 \space sr$$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.