rcircle function

Sample random points within a circle

Sample random points within a circle

Level 0 function that samples random points (x, y) within a circle via rejection sampling.

rcircle(n = 1, radius = 1, uniform = TRUE, normScale = 1/3)

Arguments

  • n: integer, number of samples points
  • radius: numeric, radius of the sampled circle
  • uniform: logical, should sampling be uniform or according to a bi-variate spherical (uncorrelated) Gaussian distribution (see examples)
  • normScale: numeric, if uniform = FALSE, a factor to scale radius to standard deviation of the Gaussian density in x and in y (see examples)

Returns

matrix with two columns for the x and y coordinates of the points.

Examples

x <- rcircle(n = 500) lim <- range(x) plot(x, xlim = lim, ylim = lim, main = "Uniform") x <- rcircle(n = 500, uniform = FALSE) lim <- range(x) plot(x, xlim = lim, ylim = lim, main = "Gaussian")

References

nubDotDev (2021) The BEST Way to Find a Random Point in a Circle https://youtu.be/4y_nmpv-9lI

Wolfram MathWorld (2023) Disk Point Picking https://mathworld.wolfram.com/DiskPointPicking.html