让我们说一点:
point <- c(1, 2)
如何生成10个点,其中欧几里德距离point
的某个选择值低于{{1}},例如: 3。
换句话说:我怎样才能在我的点附近生成一组点?
答案 0 :(得分:6)
最直接的方法是随机选择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)