如何从X开始生成欧几里德距离小于d的n个点

时间:2014-05-30 20:09:14

标签: r euclidean-distance

让我们说一点: point <- c(1, 2) 如何生成10个点,其中欧几里德距离point的某个选择值低于{{1}},例如: 3。 换句话说:我怎样才能在我的点附近生成一组点?

1 个答案:

答案 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)