Estruturas de dados para complexos celulares gerais (não tetraédricos)


8

Para malhas poligonais 2D, as representações da estrutura de dados QuadEdge e HalfEdge são suficientes para armazenar e permitir a consulta eficiente de todas as informações topológicas e de incidência. Existem estruturas de dados compactas e eficientes para malhas poliédricas 3D? Eu sei que tem havido algum trabalho recente sobre representações compactas para malhas tetraédricas, como, por exemplo, SOT . Não sei o suficiente sobre eles para saber se eles generalizam para malhas não-tetraédricas não estruturadas.

Eu posso imaginar que as semi-arestas podem generalizar para semi-faces com as semi-arestas associadas, mas parece que existem muitos dados para armazenar e pode haver representações mais compactas. Devo acrescentar que realmente me importo apenas em recuperar informações de facetas (como quais facetas estão no limite, quais facetas pertencem a uma determinada célula); as informações de incidência da borda não são tão úteis.

Respostas:


7

Há uma extensão de meia borda em qualquer dimensão, chamada de dardos em mapas combinatórios . Existem dois pacotes no CGAL que permitem usar esses mapas combinatórios em qualquer dimensão (veja aqui para combinatorialMaps e aqui para LinearCellComplex ).

Você pode usar essa estrutura de dados para representar qualquer objeto 3D subdividido orientado a várias tubulações . Citando a partir da página da CGAL (seção 2.4 Propriedades do mapa combinatório):

Um objeto quase múltiplo é definido como:

Um quasi-múltiplo dD é um objeto obtido através da tomada de algumas células-d isoladas e permitindo a colagem de células-d ao longo de células (d-1).

e orientável como:

É orientável se for possível incorporá-lo no espaço euclidiano e definir uma direção global "esquerda" e "direita" em cada ponto do objeto incorporado.


Como isso se compara à representação FacetEdge de Dobkin & Laszlo? Essa parece ser a única outra coisa que posso encontrar.
Victor Liu

1
Eles são equivalentes. Na representação do FacetEdge, existem principalmente três funções: relógio , Enext e Fnext ; e em um mapa combinatório 3D, existem 3 funçõesβ1, β2 e β3.
Gdddd #

1
Observe que este site é sobre ciência da computação , não sobre implementações de bibliotecas. Como tal, agradecemos respostas que contenham idéias e conceitos, não apenas referências a implementações.
Raphael
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.