试图根据点之间的距离绘制圆圈

时间:2011-06-12 14:57:03

标签: r geometry euclidean-distance

我正试图画一些圆圈,我有点希望它们会与某些点相交,唉......

library(maptools)
library(plotrix)
xy <- matrix(runif(20, min = -100, max = 100), ncol = 2)
distance <- spDistsN1(xy, xy[1, ])
plot(0,0, xlim = c(-100, 100), ylim = c(-100, 100), type = "n")
points(data.frame(xy))
points(xy[1, 1], xy[1, 2], pch = 16)
draw.circle(xy[1, 1], xy[1, 2], radius = distance)

以上代码执行以下操作:

  • 创建10个随机点,并选择一个(第一个)点作为“锚点”。
  • 计算从锚点到所有其他点的距离。这将是我们的“半径”
  • 使用上面计算的半径距离在锚点周围绘制圆圈。
  • 划痕为什么圆圈不与用于计算半径的点相交。 circles don't intersect with points used to calculate distance

1 个答案:

答案 0 :(得分:9)

这是人们绘制椭圆,圆圈等时不时出现的旧宽高比问题。

MASS::eqscplot替换为plot修改:或使用asp=1:请参阅?par)似乎可以解决问题。