2011-02-08 37 views
14

假设我有一个从数据集生成的不规则随机形状。我如何找到位于形状边界上的点?如何查找特定形状的边界点

我正在使用R. R中是否有用于此目的的包?为了简单起见,假设我有一个二维点数据集。

+3

A [凸包(HTTP://en.wikipedia .org/wiki/Convex_hull)是数据集“边界”的技术术语。搜索时使用“凸包”可能有助于产生良好的结果。 – Sharpie 2011-02-08 19:03:07

+2

注意到你没有接受任何问题的答案。请点击左侧的V标志。这将奖励那些如此慷慨的人回答你,并告诉其他访问者的答案是有帮助的。 Andrie!另请参阅常见问题解答 – 2011-04-15 15:21:30

回答

18

您正在寻找chull()函数来计算封装grdevices中2D对象的凸包。

下面是在线帮助的例子:

require(stats) 
X <- matrix(rnorm(2000), ncol = 2) 
chull(X) 
## Not run: 
# Example usage from graphics package 
plot(X, cex = 0.5) 
hpts <- chull(X) 
hpts <- c(hpts, hpts[1]) 
lines(X[hpts, ]) 

enter image description here

2

这些功能(包)似乎足够:

  • 处于下风(alphahull
  • convex.hull( tripack)
  • chull(grDevices)
  • in.chull(sgeostat)
  • convhulln(几何)
  • convexhull.xy(spatstat)
  • calcConvexHull(PBSmapping)