There is a formula of to calculate the angle between two normalized vectors:

$$\alpha=\arccos \frac {\vec{a} \cdot\ \vec{b}} {|\vec {a}||\vec {b}|}.$$

The formula of 3D solid angle between three normalized vectors is (borrowed from wikipedia):

$$\alpha = 2\arctan \frac{|\vec {a}\ \vec {b}\ \vec {c}|}{|\vec{a}| |\vec{b}| |\vec{c}| + (\vec{a} \cdot \ \vec{b})|\vec{c}| + (\vec{a} \cdot \vec {c})|\vec{b}| + (\vec{b} \cdot \vec{c})|\vec{a}|}.$$

How to figure out a formula of solid angle between $n$ normalized vectors in $n$-dimensional space?


OK, I've found out the following formula for the angle between two vectors in 2d space through the $\arctan$:

$$\alpha= 2\arctan \frac {|\vec{a} \wedge \vec {b}|} {|\vec{a}| |\vec{b}| + \vec{a}\ \cdot\ \vec{b}}$$

How can I apply this $\arctan$ formula for the 4D space, for example?

For more detail, I explain my assumptions.
The solid angle of orthogonal basis in 4D space must be $\alpha = \frac {2 \cdot \pi ^ 2 \cdot R^3} {2 ^ 4} = \frac {\pi ^ 2 R^3} {8} $. Here we can see a $\pi^2$ factor. Does this mean that the 4D solid angle formula contains multiplication of two $\arctan$ there is one $\arctan$ in this formula? I think yes, but still have some difficulties with such formula inference.


4 Answers 4


See the paper by Ribando, "Measuring Solid Angles Beyond Dimension Three", published in Discrete & Computational Geometry 2006. An electronic version may be found here: https://link.springer.com/content/pdf/10.1007%2Fs00454-006-1253-4.pdf

It seems there is no closed formula for solid angle in dimension > 3, but a multi-variable Taylor series is given in Theorem 2.2 there. Later in this paper, its radius of convergence is discussed.


I actually did a calculation for this a while back, so when I saw this question, I decided to search through my notebook for the answer.

Here’s what I came up with, assuming we’re finding the 4D solid angle of a pentachoron (tetrahedron based pyramid) bounded by vertices A, B, C, D, and the zero vector, this should be the solution (Assuming I got all the Latex right):

$$\frac{\cos^{(-1)}(\hat{A}\cdot \hat{B})\cos^{(-1)}(-\frac{(A\wedge B\wedge C)\cdot(A\wedge B\wedge D)}{|A\wedge B\wedge C||A\wedge B\wedge D|})}{2}-\frac{|A\wedge B\wedge \hat{C}\wedge \hat{D}|}{2}\int_{0}^{\infty}\frac{(A\wedge B)\cdot(B\wedge (\hat{C}+\hat{D}t))\cos^{(-1)}(\frac{\hat{B}\cdot (\hat{C}+\hat{D}t)}{|\hat{C}+\hat{D}t|})}{|B\wedge(\hat{C}+\hat{D}t)||A\wedge B\wedge (\hat{C}+\hat{D}t)|²}-\frac{(A\wedge B)\cdot(A\wedge (\hat{C}+\hat{D}t))\cos^{(-1)}(\frac{\hat{A}\cdot (\hat{C}+\hat{D}t)}{|\hat{C}+\hat{D}t|})}{|A\wedge(\hat{C}+\hat{D}t)||A\wedge B\wedge (\hat{C}+\hat{D}t)|²}dt$$

I had actually spent the longest time without ever finishing this problem, as I had realized that at this point, all I could do was integrate both entries by parts, with the arccosines being the terms that aren’t integrated. Of course, if I did do that, we’d still have two integrals left, each of which would also be some inverse trig function times some ratio between vector operators, making it completely pointless, unless both resulting integrals end up being equal and opposite. The only way too test the slim chance of this being to do some seriously difficult integration. After coming here, based on the comments, I’d assume the answer is no: they don’t cancel out, and this is basically the simplest form I can get it in.

  • $\begingroup$ Please note I was fairly new to bivectors when I wrote this comment. At some point, I was under the impression that dot multiplying two bivectors meant multiplying all their components and adding the products together (as is the case with vectors). Also please note that the room for error with this problem is immense, and just checking my work (using a regular polychoron) to see if I had made a mistake was long and tedious. $\endgroup$ Jun 23, 2020 at 22:43
  • $\begingroup$ My interest in your formula is that my research has brought up the problem of computing numerically what you call the 4D solid angle of a pentachoron; in general I have been able to reduce this problem to a numerical integration over two coordinates; it would be very helpful if a formula such as yours applied, where the number of integrations was reduced to 1. $\endgroup$ Sep 19, 2020 at 20:02
  • $\begingroup$ In my compute numerically what you call the 4D solid angle of a pentachoron; your formula would be very helpful because the number of integrations is there 1, and my formulas have 2. I have computed your formula for 4 orthonormal vectors, I got $\pi^2/8 + 1/2$, and the correct result is $\pi^2/8$. If the typographical or other error could be fixed, your formula would be valuable. $\endgroup$ Sep 19, 2020 at 20:11
  • $\begingroup$ While I do have a few things on my plate at the moment, I would be more than happy to help. First and foremost, what are the values of A, B, C, and D in your particular test case? $\endgroup$ Sep 21, 2020 at 19:46
  • $\begingroup$ @CharlesMungerJr I should note two things. First of all, it's more likely than not that the integral should actually be subtracted, not added. Secondly, I strongly recommend you perform these calculations with a computer. These calculations are really heavy and there's soooo much room for error. I myself had to write a program before I could test out the formula to find the plus minus issue. $\endgroup$ Sep 21, 2020 at 22:46

The 4-D solid angle shows up in calculations of the probability of certain election results when ranked-choice ballots are used, if one assumes voters think candidates so nearly equal that each voter selects one of the possible ballots at random. The best reduction of these probabilities I had been able to make was to a double integral, which I evaluated numerically; a general formula, however complicated, without an integral, would be a great simplification, and might be of interest to election theorists other than me, so I encourage Math Machine to pursue one. For the curious, the election results appear in my papers "The right way to read ranked-choice ballots: not instant runoff, but ranked pairs" available on the tab "The theoretical case from Charles Munger Jr." on the first page at https://www.betterchoices.vote/. See paper C, Tables V, VI, and VII, and paper D, pp. 8--19 for my approach to these integrals. At the very least, they would provide to Math Machine a scatter of results already known numerically to 9 digits, against which to test a general formula. --Charles Munger, Jr.

  • List item

Solid angles are a little more complicated than angles. From wolfram's mathworld:

The solid angle subtended by a surface is defined as the surface area of a unit sphere covered by the surface's projection onto the sphere.

Did you notice the phrase 'surface area'? We're going to need some integrals!

If the surface is called $S$, then the solid angle $\Omega$ is given by:

$$\Omega = \int_S \hat{\mathbf{n}}/\mathbf{r}^2 \cdot d \mathbf a $$

where $\hat{\mathbf{n}}$ is the unit vector from the origin, $d \mathbf{a}$ is the infinitesimal area of a path of a surface from $S$, and $r$ is the distance from the origin to the patch of surface.

See here for examples, and more info.

  • $\begingroup$ I saw this formulas. But i don't know how to implement their to vectors case. $\endgroup$ Sep 26, 2012 at 11:44
  • $\begingroup$ Is the issue that you don't know surface integrals yet? $\endgroup$
    – Maus
    Sep 26, 2012 at 17:58

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.