Compare different algorithms for generating uniformly distributed random points within a unit circle. Notice how naive approaches can produce non-uniform distributions.
Generated: 0
Uniformity: 0%
r = √random(0,1)
θ = random(0,2π)
Generated: 0
Uniformity: 0%
r = random(0,1)
θ = random(0,2π)
Generated: 0
Rejected: 0
Uniformity: 0%
x,y = random(-1,1)
accept if x²+y² ≤ 1
Generated: 0
Rejected: 0
Uniformity: 0%
θ₁,θ₂ = random(0,2π)
x=sin(θ₁), y=sin(θ₂)
accept if x²+y² ≤ 1
Generated: 0
θ₁,θ₂ = random(0,2π)
x=sin(θ₁), y=sin(θ₂)
accept all
Generated: 0
Rejected: 0
Uniformity: 0%
step = random dir, len∈[0,1]
accept if in circle