Strutture di dati per complessi cellulari generali (non tetraedrici)


8

Per le mesh poligonali 2D, le rappresentazioni della struttura dei dati QuadEdge e HalfEdge sono sufficienti per archiviare e consentire una query efficiente di tutte le informazioni topologiche e di incidenza. Esistono strutture dati compatte ed efficienti per le mesh poliedriche 3D? So che ci sono stati lavori recenti su rappresentazioni compatte per maglie tetraedriche, come ad esempio SOT . Non ne so abbastanza di questi per sapere se si generalizzano a maglie non tetraedriche non strutturate.

Posso immaginare che i semi-bordi possano generalizzarsi a mezze facce con loro associati, ma sembra che ci siano molti dati da archiviare e potrebbero esserci rappresentazioni più compatte. Dovrei aggiungere che mi interessa davvero solo recuperare informazioni sulle sfaccettature (come quali sfaccettature si trovano al limite, quali sfaccettature appartengono a una determinata cella); le informazioni sull'incidenza dei bordi non sono altrettanto utili.

Risposte:


7

Esiste un'estensione del mezzo bordo in qualsiasi dimensione, chiamata freccette nelle mappe combinatorie . Esistono due pacchetti in CGAL che consentono di utilizzare queste mappe combinatorie in qualsiasi dimensione (vedere qui per le mappe combinatorie e qui per LinearCellComplex ).

È possibile utilizzare questa struttura di dati per rappresentare qualsiasi oggetto 3D suddiviso orientabile quasi molteplice . Citazione dalla pagina Web CGAL (sezione 2.4 Proprietà mappa combinatoria):

Un oggetto quasi-molteplice è definito come:

Un quasi-collettore dD è un oggetto ottenuto prendendo alcune cellule D isolate e permettendo di incollare celle D lungo le celle (d-1).

e orientabile come:

È orientabile se è possibile incorporarlo nello spazio euclideo e definire una direzione globale "sinistra" e "destra" in ciascun punto dell'oggetto incorporato.


Come si confronta con la rappresentazione FacetEdge di Dobkin & Laszlo? Questa sembra essere l'unica altra cosa che posso trovare.
Victor Liu,

1
Sono equivalenti. Nella rappresentazione FacetEdge, ci sono principalmente 3 funzioni: clock , Enext e Fnext ; e in una mappa combinatoria 3D, ci sono 3 funzioni , e . β1β2β3
Gdamiand,

1
Si noti che questo sito è di circa informatica scienza , le implementazioni non biblioteca. Come tale, apprezziamo le risposte che contengono idee e concetti, non solo riferimenti a implementazioni.
Raffaello
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.