假设我有一个观点:
point <- c(1, 2)
如何从 point
生成欧几里得距离的 10 个点低于某些选择的值,例如3.
换句话说:如何在我的点附近生成点集?
最佳答案
最直接的方法是随机选择 0 到 3 之间的距离,然后是 0 到 360 之间的方向。以所需的精度执行此操作:
r <- 3 * sqrt(runif(10)) ##Since area increases proportionally to distance, as pointed out in comments
theta <- 2 * pi * runif(10)
获取坐标:
x <- point[1] + r * cos(theta)
y <- point[2] + r * sin(theta)
关于r - 如何从 X 生成欧氏距离小于 d 的 n 个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962651/