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

Documentos relacionados

EXTRAÇÃO DE SILHUETAS EM DADOS VOLUMÉTRICOS

A Evolução do Algoritmo Marching Cubes

4 Marching Cubes 33: Qualidade da Malha Resultante

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

Adaptative and Quality Quadrilateral/Hexahedral Meshing from Volumetric Data

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

Teorema da Galeria de Arte e Triangularização de Polígonos e Pontos no Plano

Marching Cubes Multiresolução

Objetos Gráficos Espaciais

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

Aruquia Barbosa Matos Peixoto. Um esquema de aproximação para superfícies. geração da Octree associada. Tese de Doutorado

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

6 Referências Bibliográficas

MNT: MODELAGEM NUMÉRICA DE TERRENOS

Computação Gráfica II

OBTENÇÃO DA FORMA TRIDIMENSIONAL DE ESTRUTURAS ANATÓMICAS EXTERNAS A PARTIR DE IMAGENS

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

Computação Gráfica - 09

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

Técnicas de Visualização para Dados Espaciais

2 Malhas Quadrangulares

Computação Gráfica - 09

Departamento de Matemática

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

Processamento de Malhas Poligonais

Aplicação de técnicas de análise numérica a um modelo de escoamento de água em áreas amazônicas alagáveis

COMPUTAÇÃO GRÁFICA COM WEBGL

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

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

Técnicas de Visualização para Dados Espaciais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Operações Booleanas na Modelagem por Pontos

foi o Rhinoceros com auxílio do plug-in Grasshopper. Desenvolveu-se a partir destes uma estrutura paramétrica, capaz de fornecer abrigo a pessoas.

Visualização Científica Algoritmos de Visualização usando o VTK

Algoritmo CLIQUE (Clustering In QUEst)

GERAÇÃO DE MALHAS ESTRUTURADAS A PARTIR DE UM ESPAÇO PARAMÉTRICO DE TRIANGULAÇÕES NÃO ESTRUTURADAS

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

c) F( 4, 2) r : 2x+y = 3 c) a = 3 F 1 = (0,0) F 2 = (1,1)

Visualização Científica Algoritmos de Visualização usando o VTK. ~tavares/ensino/visci/

Universidade Tecnológica Federal do Paraná Câmpus Campo Mourão Departamento de Matemática

Geometria Computacional: Fecho convexo

Visualização de terrenos em GPU

4 Extração direta das PELs

5 Qualidade dos Resultados

UMA ESTRATÉGIA PARA MODELAGEM GEOMÉTRICA E GERAÇÃO DE MALHAS USADAS EM SIMULAÇÕES 3D DE FLUXO EM MEIOS POROSOS E FRATURADOS

Excel INTERMEDIÁRIO. Prof. Cassiano Isler Turma 3

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA

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

c) F( 4, 2) r : 2x+y = 3 c) a = 3 F 1 = (0,0) F 2 = (1,1)

Visualização de terrenos em GPU

1 Varredura helicoidal

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Para visualizar corretamente configurar a tela para 1024 x 768 pixels. Tabelas

Introdução a Engenharia e Ciência dos Materiais

O TEOREMA DE PICK: APLICAÇÕES E IMPLICAÇÕES

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

Geometria Computacional

Computação Gráfica - 11

SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS Aula 2. SIG- Eng. Cartográfica Prof. Luciene Delazari

Visualização Volumétrica: da Teoria às Aplicações

,,,,,,,, e são constantes com,,,, e, não todas nulas. Uma equação desse tipo é a equação de uma quádrica. Observe que a equação

Superfícies Quádricas

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

Preenchimento de Polígonos

Modelagem Geométrica

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

4. Superfícies e sólidos geométricos

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

Uma Compressão Simples para Malhas Irregulares com

3 Visualização de TetraQuads

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

FIGURA 40 Geometria 7 utilizada para teste do sistema. TABELA 21 Programas CNC que foram utilizados para produzir a geometria da figura 40

Visualização Científica

Investigação de novos critérios para inserção de pontos em métodos de simplificação de terreno através de refinamento

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

Plano Curricular de Matemática 4.º Ano - Ano Letivo 2016/2017

SECÇÕES CÔNICAS E SUPERFÍCIES QUÁDRICAS Prof. Vasco Ricardo Aquino da Silva

INF 2063 Tópicos em CG III

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios

Thiago de Almeida Bastos. Campos de Distância Amostrados Adaptativamente com Aceleração. Dissertação de Mestrado

TEMA / CONTEÚDOS OBJETIVOS / DESCRITORES DE DESEMPENHO AVALIAÇÃO GESTÃO DO TEMPO Contar até ao bilião (mil milhões).

Terrenos. Triangulações de Delaunay João Comba

5 Estudo de Caso e Resultados

Material Teórico - Módulo de Geometria Espacial 2 - Volumes e Áreas de Prismas e Pirâmides. Terceiro Ano - Médio

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE MATEMÁTICA LISTA DE EXERCÍCIOS DE MAT243-CÁLCULO III

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

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

ESTUDO COMPARATIVO DE MÉTODOS DE COMPRESSÃO DE MODELOS DE TERRENOS DIGITAIS ATRAVÉS DE SUPERFÍCIES TRIANGULARES

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

Algoritmos de Recorte em 2D

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Grades (Grids)

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

2.1. Construção da Pista

SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS Aula 5. SIG- Eng. Cartográfica Prof. Luciene Delazari

Geometria Computacional: Polígonos

Laboratório 3 Modelagem Numérica de Terreno

PLANIFICAÇÃO ANUAL MATEMÁTICA 4º ANO

Transcrição:

Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Aperfeiçoamentos na triangularização do Marching Cubes para geração de menos triângulos degenerados Thiago F. Leal, PPGEM - UERJ, 20550-900, Rio de Janeiro, RJ IFRJ, 26600-000, Paracambi, RJ E-mail: thiagofranco@ime.uerj.br Cassia I. G. Silva IC - UFF, 24210-240, Niterói, RJ IFRJ, 26600-000, Paracambi, RJ E-mail: cassiaisac@ic.uff.br Aruquia B. M. Peixoto, DEPB-NI, CEFET/RJ 26041-271, Nova Iguaçu, RJ E-mail: aruquia@gmail.com Marcelo de A. Dreux, DEM - Pontifícia Universidade Católica - RJ 22453-900, Rio de Janeiro, RJ E-mail: dreux@puc-rio.br Carlos A. de Moura, IME - Universidade do Estado do Rio de Janeiro 20550-900, Rio de Janeiro, RJ E-mail: demoura@ime.uerj.br Resumo: O Marching Cubes é um algoritmo utilizado na poligonalização de superfícies implícitas, criando uma malha de triângulos que modela um volume específico. Durante este processo, entretanto, pode ocorrer a formação de triângulos degenerados, prejudiciais à aplicação adequada de métodos numéricos sobre esta malha. Visando inibir essa impropriedade, o presente trabalho propõe alterações no processo de triangularização do Marching Cubes, aplicando estratégias como mudança na conexão de vértices e inserção de arestas. São calculadas as medidas dos ângulos dos polígonos gerados e, estando estes menores do que um parâmetro pré-estabelecido, o algoritmo efetua a correção apropriada a fim de melhorar a qualidade dos triângulos gerados. 1. Marching Cubes O Marching Cubes (MC) é um algoritmo que cria uma representação tridimensional de um volume. A superfície é poligonalizada e são usados os valores de uma função implícita como base para determinar a posição dos pontos da superfície e formatar o modelo. Sua primeira aplicação foi na representação de imagens médicas, onde a partir de uma série de imagens bidimensionais era possível reconstruir computacionalmente um molde gráfico da anatomia do paciente. Isso tornou mais fácil a realização de exames de imagem e visualização de fraturas e traumatismos ósseos. 1.1 Funcionamento do MC Inicialmente, o algoritmo gera um cubo no qual a superfície de interesse possa estar totalmente contida. Este cubo será subdividido em novos cubos (voxels) suficientemente pequenos e de mesmo tamanho, fatiando uniformemente seu volume interno e, consequentemente, a superfície ali contida. Realizada esta etapa, o algoritmo cria um cubo lógico que irá percorrer cada célula da grade, capturando os pontos de interseção da superfície com suas arestas. A conexão dos pontos forma um polígono e seus vértices são conectados três a três, dando formato à triangularização naquela célula. O MC então marcha para a próxima célula do reticulado uniforme e segue nova análise e construção do modelo. DOI: 10.5540/03.2015.003.01.0121 010121-1 2015 SBMAC

O MC utiliza uma tabela específica com 14 padrões possíveis para as triangularizações, representados pela ilustração abaixo. Figura 1: Tabela de triangularização do Marching Cubes. Extraído de [3]. Ao fim dessa operação, isto é, após varrer toda a grade e realizar as triangularizações necessárias, obtém-se o molde gráfico do objeto, construído a partir de uma malha de triângulos. Figura 2: Poligonalização de uma esfera. 1.2 Triângulos degenerados A utilização do Marching Cubes, entretanto, pode ocasionar pequenos problemas devido a limitações do algoritmo. É comum a geração de triângulos degenerados, com pelo menos um de seus ângulos internos muito pequeno. Quando o propósito da poligonalização é obter uma malha onde serão aplicadas técnicas numéricas, os triângulos degenerados podem influenciar o tratamento do problema. Figura 3: Triângulos degenerados. DOI: 10.5540/03.2015.003.01.0121 010121-2 2015 SBMAC

2. Modificações A proposta envolve a realização de testes e aplicação de estratégias a casos específicos durante o processo de triangularização do algoritmo. Nos casos onde têm-se triângulos isolados, nada é feito. Isto ocorre, por exemplo, nos casos básicos 1, 3, 4, 6, 7, 12 e 13 da Figura 1. Figura 4: Casos 1, 3, 4, 6, 7, 12 e 13 da tabela do MC que apresentam triângulos isolados. Vale notar que nos casos 6 e 12 existem triângulos isolados, mas também regiões formadas por triângulos conectados entre si. Como previsto, nada será feito com o triângulo isolado. Os demais, entretanto, formam um polígono, cujo bordo deve ser considerado para gerar a triangularização. Neste, são determinadas as medidas de cada lado e ângulo interno. Se algum ângulo for menor que o parâmetro predeterminado, o MC gera um triângulo simplesmente ligando os vértices adjacentes ao que apresenta ângulo pequeno. Isso evita utilizar esse vértice numa nova triangularização, o que conduziria à divisão de um ângulo que já apresenta medida indesejada. (a) (b) (c) Figura 5: (a) Polígono com ângulo (suficientemente) pequeno no vértice vermelho; (b) Possível triangularização, com divisão do ângulo pequeno em dois menores; (c) Conexão dos vértices adjacentes, não havendo divisão do ângulo do vértice destacado. O passo seguinte à conexão de vértices descrita, que isola os vértices cujos ângulos têm medida suficientemente pequena, utiliza as medidas dos lados do polígono, para polígonos com quatro ou mais vértices. É calculada a razão entre o maior e o menor dos lados do polígono. Se o valor desta razão for maior do que o parâmetro escolhido, um novo vértice é inserido no interior da célula e todos são conectados a este, como em [2]. Porém, na referência citada, o vértice é inserido exatamente no meio do polígono, enquanto neste trabalho a inserção é ponderada e feita em posição mais conveniente. Este novo vértice deve ser alocado mais próximo do lado de menor medida, a fim de que o triângulo formado não tenha uma base muito pequena quando comparado com os outros dois lados, o que poderia resultar em sua degeneração. A aproximação do novo vértice ao menor lado ocorre naturalmente quando as medidas dos lados são ponderadas por um fator em função do DOI: 10.5540/03.2015.003.01.0121 010121-3 2015 SBMAC

valor da razão entre as medidas dos lados. Isto motiva a localização adequada do novo vértice de acordo com o objetivo. Figura 6: A inserção do novo vértice, nesta proposta, deve ser feita mais próxima do menor lado do polígono, evitando a formação de um triângulo degenerado. Se esses procedimentos não forem necessários, isto é, se a razão entre o maior e o menor lado for inferior ao valor do parâmetro, é feita a conexão dos vértices do polígono. Essa conexão é efetuada unindo o vértice relativo ao maior ângulo do polígono a um dos dois vértices que está a duas arestas de distância. Destes dois vértices é escolhido aquele que tiver maior ângulo, formando assim um triângulo. Este processo é repetido no polígono restante até que a triangularização esteja completa. Uma vez que estamos dividindo os maiores ângulos, esta deve ser a melhor situação possível para a geração de triângulos neste voxel. 3. Resultados e discussão A geração de malhas com o Marching Cubes, utilizando as melhorias aqui propostas e ajuste conveniente dos parâmetros, possibilitou observar a redução do número de triângulos degenerados na malha. Foram feitos testes em superfícies diferentes, onde estas foram poligonalizadas segundo a tabela original do MC e, posteriormente, comparadas com a poligonalização resultante das alterações sugeridas. Os resultados são exibidos a seguir. Figura 7: Esfera. A malha original gerada pelo MC está à esquerda. À direita a malha obtida com o método proposto. Em detalhe, um exemplo de região onde houve sensível melhora na qualidade dos triângulos. DOI: 10.5540/03.2015.003.01.0121 010121-4 2015 SBMAC

Outras superfícies: Figura 8: Elipsoide. Figura 9: Paraboloide. Figura 10: Hiperboloide de duas folhas. DOI: 10.5540/03.2015.003.01.0121 010121-5 2015 SBMAC

Figura 11: Paraboloide hiperbólico (sela). Apesar das alterações realizadas, ainda pode haver triângulos com ângulos abaixo do valor desejado. Isto ocorre devido a duas decisões tomadas ao longo do procedimento: a. Quando o resultado da poligonalização em um voxel é um único triângulo, estes não são modificados, permanecendo como foram originalmente gerados e eventualmente podendo apresentar ângulos pequenos; b. Antes da adição de um novo vértice à célula, se houver um ou mais ângulos muito pequenos, estes dão origem a triângulos por meio da conexão de vértices adjacentes, evitando subdividilos. Novos ajustes podem ser realizados com técnicas de pós-processamento, visando reduzir ainda mais a quantidade de triângulos degenerados. A pesquisa apresenta, portanto, possibilidades interessantes de extensão, as quais já estão em andamento. Um resumo deste trabalho foi apresentado no 11th US National Congress on Computational Mechanics [3]. Referências [1] CIGNONI, P.; MONTANI, C.; PUPPO, E.; SCOPIGNO, R., Multiresolution Representation and Visualization of Volume Data. Technical Report C97-05, CNUCE - C.N.R., Pisa, Italy, January 1997. [2] DIETRICH, C. A.; SCHEIDEGGRE, C. E.; COMBA, J. L. D.; NEDEL, L. P.; SILVA, C. T., Marching cubes without skinny triangles, Computing in Science and Engg., vol. 11, no. 2, pp. 82 87, 2009. [3] LEAL, T. F. ; PEIXOTO, A. B. M. ; DREUX, M. de A. ; MOURA, C A de. Generation of Triangular Meshes through Vertices Connection Modification of the Marching Cubes Algorithm. 11th USNCCM - US National Congress on Computational Mechanics, Minneapolis, EUA, 2011. [4] LORENSEN, W. E.; CLINE, H. E., Marching cubes: A high resolution 3D surface construction algorithm, Proceedings of the 14th annual conference on Computer graphics and interactive techniques, pp.163-169, August 1987. [5] SHEWCHUK, J., What is a Good Linear element? Interpolation, Conditioning, and Quality measures, 11th International Meshing Roundtable, pp. 115 126, Sandia National Laboratories, 2002. DOI: 10.5540/03.2015.003.01.0121 010121-6 2015 SBMAC