powered by
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)
matrix with two columns for the x and y coordinates of the points.
integer, number of samples points
numeric, radius of the sampled circle
logical, should sampling be uniform or according to a bi-variate spherical (uncorrelated) Gaussian distribution (see examples)
numeric, if uniform = FALSE, a factor to scale radius to standard deviation of the Gaussian density in x and in y (see examples)
uniform = FALSE
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
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")
Run the code above in your browser using DataLab