Random Points in a Circle

Compare different algorithms for generating uniformly distributed random points within a unit circle. Notice how naive approaches can produce non-uniform distributions.

Ideal (sqrt)

Generated: 0

Uniformity: 0%

r = √random(0,1)
θ = random(0,2π)

Polar (Naive)

Generated: 0

Uniformity: 0%

r = random(0,1)
θ = random(0,2π)

Rejection Sampling

Generated: 0

Rejected: 0

Uniformity: 0%

x,y = random(-1,1)
accept if x²+y² ≤ 1

Sine Sampling

Generated: 0

Rejected: 0

Uniformity: 0%

θ₁,θ₂ = random(0,2π)
x=sin(θ₁), y=sin(θ₂)
accept if x²+y² ≤ 1

Sine Square

Generated: 0

θ₁,θ₂ = random(0,2π)
x=sin(θ₁), y=sin(θ₂)
accept all

Random Walk

Generated: 0

Rejected: 0

Uniformity: 0%

step = random dir, len∈[0,1]
accept if in circle

Ideal (sqrt)

Polar (Naive)

Rejection Sampling

Sine Sampling

Sine Square

Random Walk