Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find the border points of a particular shape

Suppose I have a irregular, random, shape generated from a dataset. How do I find points that are situated on the shape's border?

I am using R. Are there any packages in R for this purpose? For simplicity, just assume that I have a 2d dataset of points.

like image 474
Pradeep Avatar asked Feb 08 '11 07:02

Pradeep


2 Answers

You are looking for the chull() function to compute the convex hull of a 2D object, in package grdevices.

Here is the example from the online help:

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

like image 85
Andrie Avatar answered Oct 05 '22 23:10

Andrie


These functions (packages) seem adequate:

  • ahull (alphahull)
  • convex.hull (tripack)
  • chull (grDevices)
  • in.chull (sgeostat)
  • convhulln (geometry)
  • convexhull.xy (spatstat)
  • calcConvexHull (PBSmapping)
like image 35
petermeissner Avatar answered Oct 05 '22 23:10

petermeissner