Dati i valori su una mesh, quale algoritmo posso usare per costruire livelli di set di livelli in modo efficiente?


9

Ho una mesh, facce , bordi e vertici e ho un elenco di contorni di livelli predefiniti.FEV

Quale algoritmo posso usare per costruire i contorni nel modo più efficiente?

inserisci qui la descrizione dell'immagine

Un diagramma del contorno è mostrato sopra. Le linee con lo stesso colore hanno lo stesso valore .z


1
Perché il downvote?
Graviton,

1
non sono sicuro, mi sembra una domanda rilevante. Downvoter? Un problema è che gli isoline non sembrano particolarmente ben definiti per i dati mesh. Potresti forse dare un esempio grafico del problema che stai cercando di risolvere?
Aron Ahmadia,

Risposte:


4

Può essere fatto da un anello sopra ogni elemento e quindi per ogni elemento un anello sopra i bordi. Quindi per ciascun bordo determinare la coordinata per un dato contorno se attraversa il bordo, vale a dire verificare se il contorno assume un valore nell'intervallo attraversato dai valori dei vertici. Se il contorno attraversa due bordi, traccia una linea tra le coordinate tra i punti di attraversamento rilevati sui bordi.

Questo per tutti gli elementi creerà i contorni. È anche un'opzione per perfezionare una mesh più fine tramite interpolazione su ciascun triangolo e quindi utilizzare una triangolazione delaunay della mesh raffinata e quindi applicare la routine descritta sopra per ottenere una risoluzione sufficientemente fine.


Il tempo di esecuzione per questo è , dove è il numero di faccia e è il numero di contorno, c'è comunque qualche miglioramento sul tempo di esecuzione di questo algoritmo? O(F*n)Fn
Graviton,

@Graviton: Non credo che tu possa aspettarti di essere molto meglio del ridimensionamento lineare con le dimensioni del problema ...
Allan P. Engsig-Karup
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.