用R点云覆盖的区域

时间:2010-09-08 22:08:06

标签: r cloud 2d surface area

我在2D欧几里德空间中散布着一团点。我想计算连接云的最极端(=外围)点的多边形内的区域。换句话说,我想估计这个空间中云所覆盖的区域。 R中有一个公式吗? 非常感谢您的回复 于连

1 个答案:

答案 0 :(得分:16)

这称为凸壳问题; R内置chull函数应该完成工作。要计算区域,您可以使用here中的公式。

编辑:更好; splancs包具有areapl功能。所以解决问题的功能应如下所示:

cha<-function(x,y){
chull(x,y)->i
return(areapl(cbind(x[i],y[i])))
}

例如:

library(splancs);
x<-rnorm(20);rnorm(20)->y;
#Some visualization
i<-chull(x,y);plot(x,y);polygon(x[i],y[i]);
#The area
cha(x,y);