Library · Geometric Probability · Chapter 27

Wendel’s theorem on the sphere

Revised Report an error

Problem 27.1

Four points are chosen independently and uniformly on a sphere. What is the probability that the tetrahedron they form contains the centre of the sphere?

Solution. By rotational symmetry, a uniform random point PP on the sphere and its antipode −P-P are identically distributed. For four independent uniform points P1,P2,P3,P4P_1, P_2, P_3, P_4, the 24=162^4 = 16 configurations (ε1P1,ε2P2,ε3P3,ε4P4),εi∈{±1},(\varepsilon_1 P_1, \varepsilon_2 P_2, \varepsilon_3 P_3, \varepsilon_4 P_4), \qquad \varepsilon_i \in \{\pm 1\}, obtained by independently reflecting each point through the centre, all have the same joint distribution.

Claim: among these 1616 configurations, exactly 22 produce a tetrahedron containing the centre. Given the claim, the probability of interest is 2/16=1/82/16 = 1/8.

Proof of the claim. The tetrahedron with vertices Q1,Q2,Q3,Q4Q_1, Q_2, Q_3, Q_4 contains the origin OO iff no open hemisphere contains all four vertices. Fix P1,…,P4P_1, \ldots, P_4 in general position, and consider the 1616 sign patterns ε∈{±1}4\varepsilon \in \{\pm 1\}^4.

Form the 3×43\times4 matrix PP whose columns are the PiP_i. General position means every three columns are linearly independent, so PP has rank 33 and its nullspace is one-dimensional. Choose a nonzero vector aa with Pa=0Pa=0. Each aia_i is nonzero: otherwise the other three columns would be dependent.

For the sign pattern ε\varepsilon, the origin lies in the convex hull iff there are weights wi≥0w_i\geq0, with ∑iwi=1\sum_i w_i=1, such that ∑iwiεiPi=0\sum_i w_i\varepsilon_iP_i=0. Thus (wiεi)i(w_i\varepsilon_i)_i must be a scalar multiple of aa. Since every ai≠0a_i\ne0, all wiw_i must be positive, and this is possible exactly when εi=sign⁡(ai)\varepsilon_i=\operatorname{sign}(a_i) for every ii, or when all those signs are reversed. Conversely, for either pattern the weights wi=∣ai∣/∑j∣aj∣w_i=|a_i|/\sum_j|a_j| work. Exactly two of the sixteen patterns therefore contain the origin.

Hence P(O∈tetrahedron)=216=18.■\boxed{\mathbb{P}(O \in \text{tetrahedron}) = \frac{2}{16} = \frac{1}{8}.} \qedhere

The pattern 14→18\tfrac14 \to \tfrac18 fits a more general formula. Wendel (1962) proved that for nn iid uniform points on the unit sphere in Rd\mathbb{R}^d, the probability that their convex hull contains the centre is 1−12n−1∑k=0d−1(n−1k).1 - \frac{1}{2^{n-1}} \sum_{k = 0}^{d-1} \binom{n-1}{k}. For (n,d)=(3,2)(n, d) = (3, 2) this gives 14\tfrac14; for (n,d)=(4,3)(n, d) = (4, 3) it gives 18\tfrac18. The argument is the same: independence of antipodal flips plus a counting lemma.

import numpy as np
# Uniform on sphere via normalised Gaussian
pts = np.random.randn(3, 4, 10**6)
pts /= np.linalg.norm(pts, axis=0)
def svol(a, b, c, d):
    return np.einsum('i...,i...->...', b-a, np.cross((c-a).T, (d-a).T).T)
O = np.zeros_like(pts[:, 0])
s0 = svol(pts[:, 0], pts[:, 1], pts[:, 2], pts[:, 3])
s = [svol(O, pts[:, 1], pts[:, 2], pts[:, 3]),
     svol(pts[:, 0], O, pts[:, 2], pts[:, 3]),
     svol(pts[:, 0], pts[:, 1], O, pts[:, 3]),
     svol(pts[:, 0], pts[:, 1], pts[:, 2], O)]
contains = np.all([np.sign(si) == np.sign(s0) for si in s], axis=0)
print(f"sim: {contains.mean():.5f}   exact: 0.125")
# sim: 0.12548   exact: 0.125
Report an error on this page

Reports are stored by Netlify. See the privacy note.