# Probability of distance of two random points in the unit circle

Inspired by the problem solve this probability problem symbolically which I have already generalized there I'd like to ask here the same question for a unit circle.

More precisely: given two randomly chosen points within (corrected after justified comments) a circle of radius 1, what is the probability that their distance is greater than $t$?

pc[t_] := 2 /\[Pi] Integrate[
r1 r2 Boole[r1^2 + r2^2 - 2 r1 r2 Cos[\[Phi]] > t^2],
{r1, 0, 1},
{r2, 0, 1},
{\[Phi], 0, 2 \[Pi]}, Assumptions -> t > 0]


Problems:

1) derive the expression for pc[t]
2) calculate pc[1], symbolically and numerically
3) plot pc[t] over the relevant range
4) derive a general symbolic solution, if possible

• mathworld.wolfram.com/DiskLinePicking.html Mar 29, 2016 at 17:52
• @Dr. belisarius Thanks, also an interesting problem. Mar 29, 2016 at 18:22
• I think this question suffers from ambiguity of whether it is about random points on a unit circle (dimension 1), or points in a unit disk (dimension 2). I guess it is about the unit disk (which is "inside" the unit circle), but still... Mar 29, 2016 at 19:39
• It's important to understand that "randomly chosen" means nothing. We usually assume that "randomly chosen" means uniform probability distribution, it's easy to generate 1D distribution. It's harder with 2D. If you sample {R,phi} (in polar coordinates) as two independent uniformly distributed random values, you will get one possible distribution. If you sample {x,y} as two independent uniformly distributed random values and throw away the ones that lay outside of your disk, you will get another possible distribution. Mar 30, 2016 at 16:03
• Don't have much time today, but this seems pretty quick and might provide insight. Given radius r and distance d, gives desired probability (no sanity checking done). distGreater[r_, d_] := 1 - Integrate[ 4 dx/(Pi r^2) (ArcCos[dx/(2 r)] - dx/(2 r) (1 - (dx/(2 r))^2)^(1/2)), {dx, 0, d}]
– ciao
Mar 30, 2016 at 21:57

Based on my comment, I think this is what you're after:

Given radius r and distance d for valid values, this gives the probability of distance of two random points exceeding d:

distGreater[r_, d_] := 1 - Integrate[ 4 dx/(Pi r^2) (ArcCos[dx/(2 r)] -
dx/(2 r) (1 - (dx/(2 r))^2)^(1/2)), {dx, 0, d}]


Plugging in 1 for r and d for d returns the simple form:

(d*Sqrt[4 - d^2]*(2 + d^2) - 8*(-1 + d^2)*ArcCos[d/2])/(4*Pi)


Obligatory plot:

brute force simulation: probability of two points in a unit circle falling more than a specified distance of each other:

n = 10000;
pairs = Partition[
Select[RandomReal[{-1, 1}, {3 n, 2}], Norm[#] < 1 &], 2];
base = ListPlot[
MapIndexed[{#1, First@#2/Length@pairs} &,
Reverse@Sort[EuclideanDistance @@@ pairs]]]


now we can get at this analytically, assuming the first point is at distance d from the center, the probability of the second point lying within radius r of the first is given by the area of intersection of a circle centered at d from the center of the unit circle, or after integrating:

areaintersect[r1_, r2_, d_] := Module[{rp = r1 + r2, rm = r1 - r2},
Which[ d >= rp, 0, d <= Abs[rm] , Pi Min[r2, r1]^2 , True,
r1^2 ArcCos[(d^2 + rp rm)/(2 d r1)]
+ r2^2 ArcCos[(d^2 - rp rm)/(2 d r2)]
- 1/2 Sqrt[(rm^2 - d^2) (d^2 - rp^2)]]]

Show[{base,
ListPlot[Table[ {t,
1 - NIntegrate[2 d areaintersect[t, 1, d]/Pi, {d, 0, 1}] }, {t,
0, 2, .01}], PlotRange -> All, Joined -> True,
PlotStyle -> Red]}]


It seems unlikely that this will lead us to an analytic form..

• How does this match Plot[1 + ( 1/4 s Sqrt[4 - s^2] (2 + s^2) - 2 s^2 ArcSec[2/s] - 2 ArcSin[s/2])/\[Pi], {s, 0, 2}] ? Mar 29, 2016 at 19:32
• looks spot on.. Mar 29, 2016 at 19:34
• See my comment under the question :) Mar 29, 2016 at 19:36