Calcolo dell'area di forme irregolari

3

C'è qualche algo che può aiutare a suddividere forme irregolari in forme regolari, e infine calcolare l'area dell'oggetto principale sommando le aree di quegli oggetti regolari?

    
posta intellidiot 14.07.2011 - 15:32
fonte

4 risposte

4

La triangolazione di Delaunay è probabilmente quello che stai cercando.

Come FrustratedWithFormsDesigner questo è preciso quando si ha a che fare con un poligono; per forme curve arbitrarie si finisce con un'approssimazione.

L'algoritmo di triangolazione di Delaunay ti dà triangoli "grossi", che ti daranno meno errori nei tuoi calcoli.

    
risposta data 14.07.2011 - 15:43
fonte
3

Puoi approssimare la tua forma con un poligono? Calcolare l'area di un poligono è piuttosto semplice:

A = 1/2 * sum(x[i]*y[i+1] - x[i+1]*y[i])

(wiki)

    
risposta data 14.07.2011 - 15:50
fonte
2

C'è qualche algo che può aiutare a suddividere forme irregolari in forme regolari, e infine calcolare l'area dell'oggetto principale sommando le aree di quegli oggetti regolari?

Questo è, per dirla in breve, la base dell'integrazione numerica con l'obiettivo di determinare l'area sotto una curva - un problema molto comune nell'architettura navale. I due metodi più usati sono regola trapezoidale e La regola di Simpson .

Ad esempio, la regola trapezoidale si basa sull'interpolazione lineare in cui si approssimano l'area sotto la curva con i trapezi e si calcola l'area di ciascuno di essi. Sommando tutte le aree trapezoidali si ottiene l'area sotto una curva (o una forma irregolare).

La logica e l'implementazione dell'algoritmo sono molto semplici e Wikipedia ha anche alcuni esempi.

Ci sono molte più complicate variazioni del tema (per la distribuzione di punti non equidistanti e così via ...) ma dovresti provare prima se questo è adatto alle tue necessità.

    
risposta data 14.07.2011 - 15:58
fonte
1

Non ne conosco uno in cima alla mia testa (Google probabilmente lo rivelerebbe)

Tuttavia, questo è il modo in cui mi avvicinerei:

  • Crea una griglia di dimensioni note.
  • Posiziona questa griglia sulla forma irregolare
  • Conta tutti gli elementi all'interno della forma
  • Per ogni elemento che contiene parte del contorno della forma. Esegui tutti i passaggi precedenti su quell'elemento con una risoluzione più fine (o conta questo elemento come 0,5)
risposta data 14.07.2011 - 15:46
fonte

Leggi altre domande sui tag