Library · Geometric Probability · Chapter 29
Five random points on a sphere
Problem 29.1
Five points are chosen independently and uniformly on a sphere. What is the probability that their convex hull contains the centre of the sphere?
Solution. We apply Wendel’s general formula, already used with in Chapter 27. For iid uniform points on the unit sphere , the probability that their convex hull contains the origin is For , Therefore
Sketch of Wendel’s argument. By antipodal symmetry, the configuration for has the same joint distribution. Among the such sign patterns, the hull contains the origin iff no closed hemisphere contains all chosen points. A counting lemma from linear algebra (Wendel 1962) shows that for points in general position on , exactly of the (unordered) sign patterns place all points in some closed hemisphere. The ratio gives the “not contained” probability.
The pattern over small is:
| Formula | Value | |
For fixed dimension , as : many points are (almost) always in general position so the hull fills the ball. ■
A popular math.stackexchange exercise: “how many points are needed on the sphere so that their convex hull contains the centre with probability at least ?” The table above answers exactly: .
import numpy as np
from scipy.optimize import linprog
# Origin is in conv{P_1,...,P_5} iff there exist weights w_i >= 0 summing
# to 1 with sum w_i * P_i = 0. Use LP feasibility directly.
N, count = 10**4, 0
for _ in range(N):
pts = np.random.randn(3, 5); pts /= np.linalg.norm(pts, axis=0)
A_eq = np.vstack([pts, np.ones((1, 5))])
b_eq = np.array([0., 0., 0., 1.])
res = linprog(np.zeros(5), A_eq=A_eq, b_eq=b_eq,
bounds=[(0, None)] * 5, method='highs')
if res.success:
count += 1
print(f"sim: {count/N:.5f} exact: {5/16:.5f}")
# sim: 0.31210 exact: 0.31250