我在2D欧几里得空间中散布了点云。我想计算连接云的最极端(=外围)点的多边形内部的面积。换句话说,我想估算该空间中云所覆盖的区域。
R中有公式吗?
非常感谢您的任何回复
朱利安
最佳答案
这称为凸包问题; 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);