2011-02-08 8 views
14

Supponiamo di avere una forma irregolare, casuale, generata da un set di dati. Come trovo i punti che si trovano sul bordo della forma?Come trovare i punti di confine di una particolare forma

Sto usando R. Esistono pacchetti in R per questo scopo? Per semplicità, supponiamo di avere un set di dati 2d.

+3

A [convesso] (http: //en.wikipedia .org/wiki/Convex_hull) è il termine tecnico per il "bordo" del set di dati. Usare "scafo convesso" durante la ricerca può aiutare a generare buoni risultati. – Sharpie

+2

Notate che non avete accettato una risposta su nessuna delle vostre domande. Si prega di farlo facendo clic sul segno V a sinistra. Questo premierà le persone che sono state così generose da risponderti e dire agli altri visitatori che la risposta è stata utile. Vedi anche le FAQ –

risposta

18

Si sta cercando la funzione chull() per calcolare lo scafo convesso di un oggetto 2D, nei pacchetti grdevices.

Ecco l'esempio della guida in linea:

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

+1

impressionante rapporto di risposta piacevole, Andrie! –

2

queste funzioni (pacchetti) sembrano sufficienti:

  • a secco di vele (alphahull)
  • convex.hull (tripack)
  • chull (grDevices)
  • in.chull (sgeostat)
  • convhulln (geometria)
  • convexhull.xy (spatstat)
  • calcConvexHull (PBSmapping)