A Evolução do Algoritmo Marching Cubes

Documentos relacionados
4 Marching Cubes 33: Qualidade da Malha Resultante

EXTRAÇÃO DE SILHUETAS EM DADOS VOLUMÉTRICOS

Processamento de Malhas Poligonais

Métodos Numéricos para Geração de Malhas SME0250. Poligonização. Afonso Paiva ICMC-USP

Aperfeiçoamentos na triangularização do Marching Cubes para geração de menos triângulos degenerados

Departamento de Matemática


LEONARDO ALMEIDA DE ARAÚJO GERAÇÃO DE ISOSSUPERFÍCIES PELOS ALGORITMOS MARCHING CUBES E VARIAÇÕES

Objetos Gráficos Espaciais

3 Métodos de Extração de Malhas a partir de Volumes

Capítulo 3. Descrição e visualização do modelo 25

Adaptative and Quality Quadrilateral/Hexahedral Meshing from Volumetric Data

Algoritmo para Construção do Diagrama de Voronoi com abordagem de Divisão e Conquista

Processamento de Malhas Poligonais

Marching Cubes Multiresolução

COMPUTAÇÃO GRÁFICA COM WEBGL

Comparação de Desempenho entre o Método dos Elementos de Contorno com Integração Direta e o Método dos Elementos Finitos em problemas de Poisson

Chernyaev, E. V., Marching Cubes 33: construction of topologically correct iso-surfaces. Technical Report CERN CN,

Técnicas de Visualização para Dados Espaciais

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Objetos Gráficos Planares

Álgebra Linear I - Aula 2. Roteiro

Computação Gráfica II

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação

Introdução. Motivação Silhuetas são um importante instrumento para análise e visualização de dados.

GEOPROCESSAMENTO. MNT - Modelo Numérico de Terreno. Prof. Luiz Rotta

Objetos Gráficos Planares

Álgebra Linear I - Aula 3. Roteiro

Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF

MNT: MODELAGEM NUMÉRICA DE TERRENOS

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

Marcos de Oliveira Lage Ferreira. Estruturas de Dados Topológicas Escalonáveis para Variedades de dimensão 2 e 3. Dissertação de Mestrado

4 Extração direta das PELs

DESENVOLVIMENTO DE UMA FERRAMENTA PARA RECONSTRUÇÃO TRIDIMENSIONAL DE IMAGENS DE SPECT CARDÍACO. BANDEIRA, Rafael de Leão¹, OLIVEIRA, Lucas Ferrari¹.

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti

Método de Precondicionamento CPR em Simulações de Reservatório de Petróleo

2 Conceitos básicos de topologia

Poligonização de Superfícies Implícitas usando Técnicas Intervalares

Estimativa de Parte Relevante da Fronteira da Região de Estabilidade usando Função Energia Generalizada

Operações Booleanas na Modelagem por Pontos

Grupos de Arestas: Uma Nova Abordagem para Entender a Qualidade da Malha Gerada pelo Marching Cubes e suas Variantes

Figura 1.1: Partição do espaço contendo a esfera S.

Técnicas de Visualização para Dados Espaciais

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

Poliedros. INF2604 Geometria Computacional. Waldemar Celes. Departamento de Informática, PUC-Rio. W.

Introdução. SPH p.2/20. Lucy e Gingold & Monaghan, 1977.

Uma nova taxa de convergência para o Método do Gradiente

Computação Gráfica - 11

Fabio Augusto Camargo

Um modelo do Método dos Volumes Finitos com malha não estruturada

Geometria Computacional: Polígonos

Geometria Computacional: Fecho convexo

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

Visualização Científica

3 Visualização de TetraQuads

Número de Ramsey multicolorido em Grafos Multipartidos

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

Modelo. Modelos de Objetos por Malhas Poligonais. Modelos Geométricos. Modelagem Geométrica

1.1(a): Malha de triângulos aproximando a forma de um golfinho. 1.1(b): Barco modelado com superfícies paramétricas (neste caso, NURBS).

GRAFOS Aula 09 Coloração de Grafos Max Pereira

5.1 Visualização da curva silhueta em R 4 Alguns exemplos de superfícies em R 4

Visualização de terrenos em GPU

Laboratório 3 Modelagem Numérica de Terreno

Proposta de Dissertação de Mestrado Modelagem Computacional, UFJF

REPRESENTAÇÃO DE SUPERFÍCIE

Interpolação Polinomial. Ana Paula

Cristiane Azevedo Ferreira. Um algoritmo para reconstrução de curvas a partir de pontos esparsos DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE MATEMÁTICA

OBSTRUÇÕES DE COGRAFOS-(K, L)

5 Implementação da Metodologia

Algoritmo de Simplificação de TIN para Aplicações de Hidrologia

Triangulação de Delauney

Computação Gráfica. Representação e Modelagem

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

3 REPRESENTAÇÃO DA SUPERFÍCIE TOPOGRÁFICA

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

Lista 2 de Exercícios Geometria Analítica e Cálculo Vetorial

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

Visualização de terrenos em GPU

Modelagem da Dinâmica de um Grupo de Indivíduos HIV Positivos com Parâmetro Fuzzy do Tipo 2

Poliedros 1 ARESTAS FACES VERTICES. Figura 1.1: Elementos de um poliedro

Computação Gráfica - 09

Modelagem Numérica do Terreno. Prof. Maria Isabel C. de Freitas Adaptado de INPE - DPI

Um algoritmo pseudo-periférico genérico para a heurística de Snay

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos

Solução Numérica de Equações Diferenciais Parciais Implícitas de Primeira Ordem

Definição 2.1 (Malha) Uma malha é uma estrutura topológica e geométrica

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS PROGRAMA DE PÓS-GRADUAÇÃO EM SENSORIAMENTO REMOTO DIVISÃO DE PROCESSAMENTO DE IMAGENS

Geometria e geometria molecular: um estudo quimicomatemático

5.1. Figura 5.1: Uma visão geral do ciclo de simulação de um sistema SPH. Cálculo da Densidade e Pressão. Inicialização do Sistema SPH

Técnicas de Mapeamento

SIG: Sistemas de Informações Geográficas

Interpolação de Curvas de Nível por Difusão de Calor

Computação Gráfica - 09

Noções de Geometria. Professora: Gianni Leal 6º B.

Professor: Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Universidade Federal de Sergipe Departamento de Matemática. Imagem* Profª. Maria Andrade. *Parte desta apresentação foi do Prof. Thales Vieira.

Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia

Efeitos de refinamentos h e p para subespaços de funções do tipo Hdiv em malhas irregulares

Estudante: Circunferência: Equação reduzida da circunferência: Circunferência: Consideremos uma circunferência de centro C (a, b) e raio r.

Transcrição:

Trabalho apresentado no CNMAC, Gramado - RS, 2016. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics A Evolução do Algoritmo Marching Cubes Lis Custódio 1 Departamento de Modelagem Computacional, Instituto Politécnico, UERJ, Rio de Janeiro, RJ Sinesio Pesco 2 Departamento de Matemática, PUC - Rio, Rio de Janeiro, RJ Resumo. O algoritmo Marching Cubes, é sem dúvida o mais popular entre os algoritmos de extração de isosuperfície, e uma importante ferramenta para muitos pesquisadores e especialistas em visualização. A adoção generalizada do Marching Cubes resultou em um grande número de melhorias em seu algoritmo ao longo dos anos. Neste trabalho apresentamos uma revisão sobre a evolução do algoritmo Marching Cubes, destacando as principais contribuições relacionadas à continuidade e coerência topológica da malha resultante. Palavras-chave. Marching Cubes, Extratores de Isosuperfícies, coerência topológica. 1 Introdução Figura 1: Malhas extraídas do dado Bonsai para os isovalores 130, 70 e 30. Os algoritmos de extração de isosuperfícies são uma poderosa ferramenta na interpretação e visualização de dados volumétricos. O algoritmo Marching Cubes, originalmente proposto por Lorensen e Cline [6] em 1987, se destaca por sua simplicidade, robustez e velocidade. As isosuperfíces desempenham um importante papel em áreas da ciência, como biologia, medicina, química e dinâmica computacional de fluidos. Dado um campo escalar f : R 3 R e um valor escalar α, a isosuperfcie S α, associada a α, consiste no conjunto dos pontos x R 3 tais que f(x) = α. 1 lcustodio@iprj.uerj.br 2 sinesio@puc-rio.br DOI: 10.5540/03.2017.005.01.0107 010107-1 2017 SBMAC

2 S α = {x R 3 f(x) = α}. (1) No processo computacional de extração de isosuperfícies, o campo escalar f é amostrado sobre os vértices de uma grade retangular tridimensional e interpolado linearmente sobre as arestas, faces e interior das células desta grade. Desta forma, seja g : R 3 R a função que interpola o campo escalar f em de cada célula da grade: v 4 v 7 v 5 v 6 v 3 v 0 v 1 v 2 Figura 2: Ilustração de uma célula na grade. g(x, y, z) = (1 x)(1 y)(1 z)f(v 0 ) + (1 x)(1 y)zf(v 4 ) + (1 x)y(1 z)f(v 3 ) + (1 x)yzf(v 7 ) + x(1 y)(1 z)f(v 1 ) + x(1 y)zf(v 5 ) + xy(1 z)f(v 2 ) + xyzf(v 6 ), (2) (onde consideramos, sem perda de generalidade, um cubo unitário), dado um valor escalar λ, busca-se construir, no interior de cada célula, um modelo tridimensional (geralmente constituído por uma malha triangular) que represente corretamente a geometria e a topologia da isosuperfície: S λ = {x R 3 g(x) = λ}. (3) Na Figura (1) apresentamos malhas extraídas do dado Bonsai, referentes aos isovalores 130, 70 e 30, utilizando a versão de Custodio et al. [2] do algortimo Marching Cubes. Os algoritmos de extração de isosuperfícies podem ser divididos em duas classes de acordo com as suas garantias topológicas: algoritmos topologicamente consistentes e algoritmos topologicamente coerentes. Os algoritmos topologicamente consistentes se comprometem apenas em gerar variedades lineares por parte (superfícies contínuas, livres de quebras) com exceção da fronteira do domínio. Enquanto que os algoritmos topologicamente coerentes produzem variedades lineares por parte, homeomorfas à superfície induzida pelo interpolante. Nosso objetivo nas seções seguintes é descrever a evolução do Marching Cubes e os surpreendentes desafios encontrados em um algortimo de interpolação trilinear que busque representar corretamente a topologia da isosuperfície de interesse. Na Seção 2 descrevemos o algoritmo Marching Cubes propriamente dito. Na Seção 3 apresentamos a evolução do Marching Cubes ao longo dos anos, na busca de se construir um algoritmo de extração de DOI: 10.5540/03.2017.005.01.0107 010107-2 2017 SBMAC

3 isosuperfícies que mantivesse a simplicidade e robustez do algoritmo original e fosse capaz de representar corretamente a topologia do interpolante trilinear. 2 O Algoritmo Marching Cubes Figura 3: Tabela de triangulação proposta por Lorensen e Cline. O algoritmo Marching Cubes, tem como dado de entrada uma grade retangular G, com um campo escalar amostrado sobre seus vértices (x j G), um interpolante trilinear por partes g : R 3 R definido em G e um isovalor λ R. Definimos a isosuperície S λ como o conjunto dos pontos x R tais que g(x) = λ. O Marching Cubes, em cada cubo c i da grade G, determina como S λ intersecta suas arestas e constrói uma triangulação que aproxima S λ em seu interior. Desta forma o MC constrói uma malha linear por partes que aproxima a isosuperfície de interesse S λ. Consideremos agora um cubo c i da grade G. Para determinar como é dada intersecção da isosuperfície com as arestas do cubo, classificamos primeiramente cada um de seus oito vértices v j como positivo, se g(v j ) λ, ou negativo se g(v j ) < λ (da mesma forma, dizemos que um ponto x c i é positivo (negativo) se g(x) λ (g(x) < λ)). As arestas intersectadas serão as arestas cujos vértices possuem sinais opostos, e os pontos de interseção são determinados através da interpolação linear dos valores do campo escalar sobre seus vértices. Sem perda de generalidade, assumimos que λ = 0 e, assim, S λ = S 0 = S. Visto que existem duas classificações (positivo e negativo), para cada um dos oito vértices de um cubo, existem 2 8 = 256 configurações possíveis de sinais sobre seus vértices e, consequentemente 256 formas da isosuperfície intersectar suas arestas. Essas 256 maneiras podem ser reduzidas para 14 se considerarmos as relações de simetria existentes em um cubo. Na Figura 3 apresentamos a tabela de triangulação proposta por Lorensen e Cline [6] onde, para cada cubo, de acordo com a forma de intersecção da isosuperfície sobre suas arestas, é apresentada uma triangulação que supostamente aproximaria a isosuperfície em seu interior. DOI: 10.5540/03.2017.005.01.0107 010107-3 2017 SBMAC

Proceeding Series of the Brazilian Society of Applied and Computational Mathematics, Vol. 5, N. 1, 2017. 4 No entanto, a malha extra ıda pelo Marching Cubes apresentava descontinuidades e incoerˆencias topol ogicas e, como veremos a seguir, logo ap os a sua publica c ao, a busca por uma t ecnica de extra c ao de isosuperf ıcie topologicamente correta come cou. 3 Continuidade e Coerˆ encia Topol ogica da Malha Resultante ` direita: Ambiguidade sobre a face do cubo. A ` esquerda: ambiguidade interior Figura 4: A presente no caso 4. D urst [3] foi o primeiro a apontar em 1988 que, para alguns casos do MC, existiam mais de uma triangula c ao poss ıvel. E que a tabela incompleta proposta por Lorensen e Cline, incapaz de representar corretamente todos os poss ıveis comportamentos do interpolante trilinear, nem sempre gerava superf ıcies cont ınuas e topologicamente coerentes. Como veremos a seguir, os problemas apontados por D urst eram causados por ambiguidades no comportamento do interpelante trilinear sobre as face e no interior do cubo. Uma face e considerada amb ıgua quando possui sinais alternados sobres seus v ertices. Observe que com essa configura c ao de sinais n ao e poss ıvel determinar como unir corretamente os pontos de interse c ao sobre as arestas da face. De forma semelhante, uma ambiguidade interior ocorre quando os sinais dos v ertices do cubo s ao insuficientes para determinar a triangula c ao correta em seu interior (Figura 4). Figura 5: Triangula c oes adicionais propostas por Nielson e Haman para resolver o problema de ambiguidade sobre as faces do cubo: subcasos 3, 6, 7, 10, 12 e 13 da tabela original. Em cada grupo, apresentamos `a esquerda a triangula c ao proposta no trabalho original, e ` a direita as novas triangula c oes propostas. Em 1991, Nielson e Hamann [10] chamam a aten c ao para a possibilidade de ambiguidades sobre as faces do cubo e, como apontado por D urst, para a necessidade de adicionar novos casos ` a tabela de triangula c ao de MC. Para resolver tal problema os autores prop oem DOI: 10.5540/03.2017.005.01.0107 010107-4 2017 SBMAC

5 o Asymptotic Decider, uma solução simples e elegante que, dada uma face ambígua, determina a forma correta de unir suas arestas intersectadas. Em sua tabela de triangulação, os autores acrescentam 11 casos aos 14 casos apresentados no trabalho original. As triangulações acrescentadas consistem em subcasos para os casos 3, 6, 7, 10, 12 e 13, os quais apresentam o problema de ambiguidade sobre as faces do cubo (Figura 5). Os casos acrescentados por Nielson e Hamann foram suficientes para garantir a continuidade nas malhas geradas pelo algoritmo. Caso 4.1 Caso 4.2 Caso 6.1.1 Caso 6.1.2 Figura 6: Triangulações adicionas, propostas por Natarajan, para os casos 4 e 6, para resolver o problema de ambiguidade no interior do cubo. No entanto, os casos adicionados por Nielson e Hamann não foram suficientes para garantir a coerência topológica da malha gerada. Em 1994, Natarajan [8] observa que o problema de ambiguidade também pode ocorrer no interior do cubo, e que os casos 4 e 6 admitem triangulações adicionais, além das propostas por Nielson e Hamann [10] (veja Figura 3). Em seu trabalho, dada uma configuração ambígua (com ambiguidades sobre as faces ou no interior do cubo), o correto comportamento do interpolante trilinear é determinado através da comparação do valor do campo escalar sobre seus pontos críticos e sobre os vértices do cubo. Apesar de sua tabela de triangulação ainda ser incompleta, e incapaz de representar corretamente o comportamento do interpolante trilinear no interior do cubo, Natarajan foi o primeiro a considerar a possibilidade da existência de túneis (isosuperfície homeomorfa a um cilindro) no interior do cubo. Em 1995 Chernyaev [1] propõe o algoritmo Marching Cubes 33, onde apresenta uma tabela de triangulação composta por 33 casos, dos quais apenas 32 são realmente geometricamente diferentes (veja Figura 7). Como provado posteriormente, em 2003 por Nielson [9], a tabela de triangulação proposta por Chernyaev é capaz de representar corretamente todos os possíveis comportamentos do interpolante trilinear no interior do cubo. Em seu trabalho, Chernyaev utiliza o Asymptotic Decider proposto por Nielson e Haman para resolver o problema de ambiguidade sobre as faces, e propõe um novo teste para resolver o problema de ambiguidade no interior do cubo. Em 1999 Matveyev [7] propõe um algoritmo, também baseado em uma tabela de triangulação que representa corretamente o comportamento do interpolante trilinear e usa as interseções da isosuperfície sobre as diagonais do cubo para determinar o comportamento do interpolante trilinear. Em 2003, Lewiner et al. [4] propõem uma implementação do algoritmo proposto por Chernyaev, e Nielson, no trabalho On Marching Cubes [9] lista todos os possíveis comportamentos do interpolante trilinear no interior do cubo. Ainda em 2003, Lopes e Brodlie [5] estendem os testes propostos por Natarajan para todos os casos ambíguos do MC. No entanto, assim como no trabalho de Natarajan, o algoritmo proposto não considera a pos- DOI: 10.5540/03.2017.005.01.0107 010107-5 2017 SBMAC

6 sibilidade de o caso 7 possuir dois pontos críticos no interior do cubo, o que resulta em incoerências topológicas na malha gerada. Figura 7: Tabela de triangulação proposta por Chernyaev. Em 2013 Custodio et al. [2] chamam a atenção para a existência de erros no algoritmo Marching Cubes 33. Os autores observam que o teste interior proposto por Chernyaev [1] é incapaz de resolver corretamente a ambiguidade interior do caso 13. Neste mesmo trabalho, para solucionar o problema, os autores proprõem uma implementação do algoritmo MC33 com um novo teste de ambiguidade interior. DOI: 10.5540/03.2017.005.01.0107 010107-6 2017 SBMAC

7 4 Conclusão Por a sua notória popularidade o algoritmo Marching Cubes tem recebido inúmeras melhorias ao longo dos anos. Neste trabalho apresentamos a evolução do algoritmo, abordando as principais contribuições dadas, sobre o ponto de vista da continuidade e coerência topológica da malha gerada. Referências [1] E. V. Chernyaev. Marching Cubes 33: Construction of topologically correct isosurfaces. Technical Report CN/95-17, Institute for High Energy Physics, 1995. [2] L. Custodio, T. Etiene, S. Pesco, and C. Silva. Practical considerations on marching cubes 33 topological correctness. Computers and Graphics, 37(7):840 850, 2013. [3] M. Dürst. Letters: additional reference to marching cubes. Computer Graphics, 1988. [4] T. Lewiner, H. Lopes, A. W. Vieira, and G. Tavares. Efficient implementation of Marching Cubes cases with topological guarantees. Journal of Graphics Tools, 8(2):1 15, 2003. [5] A. Lopes and K. Brodlie. Improving the robustness and accuracy of the Marching Cubes algorithm for isosurfacing. IEEE Transactions on Visualization and Computer Graphics, 9(1):16 29, 2003. [6] W. Lorensen and H. Cline. Marching Cubes: A high resolution 3d surface construction algorithm. SIGGRAPH Computer Graphics, 21:163 169, 1987. [7] S. V. Matveyev. Marching cubes: surface complexity measure. Technical report, Institute for High Energy Physics, 1999. [8] B. K. Natarajan. On generating topologically consistent isosurfaces from uniform samples. The Visual Computer, 11(1):52 62, Jan. 1994. [9] G. M. Nielson. On marching cubes. IEEE Transactions on Visualization and Computer Graphics, 9:283 297, 2003. [10] G. M. Nielson and B. Hamann. The asymptotic decider: resolving the ambiguity in marching cubes. In Proceedings of the 2nd conference on Visualization, pages 83 91, Los Alamitos, CA, USA, 1991. IEEE Computer Society Press. DOI: 10.5540/03.2017.005.01.0107 010107-7 2017 SBMAC