Library · Geometric Probability · Chapter 61

Expected chord length on a sphere

Revised Report an error

Problem 61.1

Two points are chosen independently and uniformly on the unit sphere S2⊂R3S^2 \subset \mathbb{R}^3. What is the expected Euclidean distance (chord length) between them?

Solution. By rotational symmetry of the sphere, condition on the first point at the north pole u=(0,0,1)\mathbf{u} = (0, 0, 1). The second point v\mathbf{v} is uniform on S2S^2, and by Archimedes’s hat-box theorem (see Chapter 28), its zz-coordinate z=cos⁡Θz = \cos \Theta is uniform on [−1,1][-1, 1]. Here Θ\Theta is the angle between u\mathbf{u} and v\mathbf{v}.

The chord length is ∣u−v∣=2−2cos⁡Θ=2sin⁡(Θ/2).|\mathbf{u} - \mathbf{v}| = \sqrt{2 - 2 \cos \Theta} = 2 \sin(\Theta / 2). Hence E[∣u−v∣]=E[2sin⁡(Θ/2)].\mathbb{E}[|\mathbf{u} - \mathbf{v}|] = \mathbb{E}[2 \sin(\Theta/2)]. With z=cos⁡Θz = \cos \Theta uniform on [−1,1][-1, 1], substitute z=cos⁡Θz = \cos \Theta, dz=−sin⁡Θ dΘdz = -\sin \Theta \, d\Theta. The density of Θ\Theta on [0,π][0, \pi] is therefore 12sin⁡Θ\tfrac12 \sin \Theta. Then E[2sin⁡(Θ/2)]=∫0π2sin⁡(Θ/2)⋅12sin⁡Θ dΘ=∫0πsin⁡(Θ/2)sin⁡Θ dΘ.\mathbb{E}[2 \sin(\Theta/2)] = \int_0^{\pi} 2 \sin(\Theta/2) \cdot \tfrac12 \sin \Theta \, d\Theta = \int_0^{\pi} \sin(\Theta/2) \sin \Theta \, d\Theta. Use sin⁡Θ=2sin⁡(Θ/2)cos⁡(Θ/2)\sin \Theta = 2 \sin(\Theta/2) \cos(\Theta/2) and substitute u=sin⁡(Θ/2),du=12cos⁡(Θ/2)dΘu = \sin(\Theta/2), du = \tfrac12 \cos(\Theta/2) d\Theta: =2∫0πsin⁡2(Θ/2)cos⁡(Θ/2) dΘ=4∫01u2 du=43.= 2 \int_0^{\pi} \sin^2(\Theta/2) \cos(\Theta/2) \, d\Theta = 4 \int_0^1 u^2 \, du = \frac{4}{3}. Therefore E[∣u−v∣]=43.■\boxed{\mathbb{E}[|\mathbf{u} - \mathbf{v}|] = \frac{4}{3}.} \qedhere

Compare:

  • Unit circle (S1S^1, Chapter 13): E[chord]=4π≈1.27\mathbb{E}[\text{chord}] = \tfrac{4}{\pi} \approx 1.27.

  • Unit sphere (S2S^2, here): E[chord]=43≈1.33\mathbb{E}[\text{chord}] = \tfrac{4}{3} \approx 1.33.

  • Unit disc (interior, Chapter 35): 12845π≈0.91\tfrac{128}{45\pi} \approx 0.91.

  • Unit ball (interior, Chapter 59): 3635≈1.03\tfrac{36}{35} \approx 1.03.

The surface versions are consistently larger than the interior versions, because points pushed to the boundary are farther from one another on average.

import numpy as np
u = np.random.randn(3, 2, 10**7); u /= np.linalg.norm(u, axis=0)
d = np.linalg.norm(u[:,0] - u[:,1], axis=0)
print(f"sim: {d.mean():.5f}   exact: {4/3:.5f}")
# sim: 1.33313   exact: 1.33333
Report an error on this page

Reports are stored by Netlify. See the privacy note.