Как найти граничные точки определенной формы

Предположим, что у меня есть нерегулярная, случайная форма, сформированная из набора данных. Как найти точки, расположенные на границе формы?

Я использую R. Существуют ли какие-либо пакеты в R для этой цели? Для простоты предположим, что у меня есть 2d набор данных точек.

Ответы

Ответ 1

Вы ищете функцию chull() для вычисления выпуклой оболочки двумерного объекта в пакетах grdevices.

Вот пример из интерактивной справки:

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

Эти функции (пакеты) кажутся адекватными:

  • ahull (alphahull)
  • convex.hull(tripack)
  • chull (grDevices)
  • in.chull(sgeostat)
  • convhulln (геометрия)
  • convexhull.xy(spartstat)
  • calcConvexHull (PBSmapping)