Algoritmos para a Homogeneização de Malhas Triangulares

Documentos relacionados
Ferramentas para geração de modelos 3D do Sistema Cardiovascular Humano

Proposta de Curso LNCC

HeMoLab: Modelagem Unidimensional do Sistema Cardiovascular Humano

Visualização de Dados Cardiovasculares Tridimensionais em Ambientes Imersivos

Análise do revestimento de um coletor

Análise do revestimento de um coletor

Programa de Pós-Graduação em Engenharia Mecânica e Informática- UFES/CT Disciplina: Elementos Finitos - 16/2

Adaptative and Quality Quadrilateral/Hexahedral Meshing from Volumetric Data

Um algoritmo para a geração da linha de centro de geometrias tubulares com ramificações genéricas

Processamento de Malhas Poligonais

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

3 Algoritmo para Operações Booleanas

4 Implementação do Gerador de arquivos VRML - VRMLGer

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

Contour element and finite element mesh generator

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

Detecção de objetos regulares em imagens de alta resolução utilizando casamento de modelos. Douglas Messias Uba 1 Luciano Vieira Dutra 1

MNT: MODELAGEM NUMÉRICA DE TERRENOS

Modelagem Geométrica

LAJES COM GEOMETRIAS ESPECIAIS

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

Uma ferramenta de processamento de imagens médicas dentro do Sistema HeMoLab

Introdução. Motivação. Modelo de biela-tirante. EDI-38 Concreto Estrutural I Laboratório / Projeto

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

Computação Gráfica II

Figura 1 Esquema da Laje.

Capítulo 1. INTRODUÇÃO

Representação de Objectos. & Estruturas de Dados. ! Os modelos são cada vez mais complexos

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

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Segmentação

ELABORAÇÃO DE MALHAS TRIDIMENSIONAIS PARA APLICAÇÃO DE MÉTODOS NUMÉRICOS 1

Exemplos Introdução

Análise de assentamento do terreno

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

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

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

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

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

7 Modelagem tridimensional do processo de corte em

Barragem de Terra Análise de Percolação em Estado Constante

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

Comparação de métodos supervisionado e não supervisionado de segmentação de aves em imagens digitais

Departamento de Matemática

Processamento de Malhas Poligonais

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

Contornos de Telhados Convexos de Edifícios Baseado em Snake

SISTEMAS DE INFOMAÇÃO GEOGRÁFICA Reconhecer conceitos associados aos SIG/GIS Estabelecer um conjunto de procedimentos em função da análise a efectuar

ESCADA EM BALANÇO 1. INTRODUÇÃO 1.1. DESCRIÇÃO DO PROBLEMA:

Computação Gráfica - 10

Modelagem Geométrica: Boundary Representation

Fundamentos e Conceitos Básicos

Coleta de dados de campo. Tratamento de dados de campo e Determinação de parâmetros. Geração de sistemas de fraturas

MÉTODO DE ELEMENTOS FINITOS (MEF) -UMA INTRODUÇÃO-

6 Referências Bibliográficas

ANÁLISE DA SEGMENTAÇÃO DO VENTRÍCULO ESQUERDO EM IMAGENS DIGITAIS DE ECOCARDIOGRAMA POR DIFERENTES MÉTODOS DE CONTORNOS ATIVOS

Processamento de Malhas Poligonais

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Aluno do Curso de Engenharia Elétrica da UNIJUÍ, 3

Introdução ao Processamento e Síntese de imagens Rendering 2016

AVALIAÇÃO DO ENRIQUECIMENTO POLINOMIAL NO MÉTODO DOS ELEMENTOS FINITOS GENERALIZADOS EM ELEMENTOS TRIANGULARES

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

TRAÇADO DE CURVAS OFFSET PARA AUXÍLIO NA GERAÇÃO DE MALHAS

Triangulação de Delauney

Utilização de Técnicas de Adaptação de Malhas para a Simulação Numérica de Escoamento em Meios Porosos. Introdução

Supporting Information I

Figura 4.1: a)elemento Sólido Tetraédrico Parabólico. b)elemento Sólido Tetraédrico Linear.

e ficam muito próximos dos resultados colhidos na literatura, inclusive nos pontos de velocidade

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

Figura 1.1: Um reservatório natural de petróleo típico: dificuldade para investigar áreas de interesse.

Tratamento da geometria e geração de malha com Gmsh para elementos finitos

Uma Compressão Simples para Malhas Irregulares com

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

ANÁLISE DINÂMICA DE TRELIÇAS USANDO O ABAQUS 6.12 STUDENT EDITION

REPRESENTAÇÃO DE DADOS EM CG

4 Sistema Computacional

Tópicos Especiais em Animação de Fluidos e Visualização Cientíca (GB 500)

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

petroblog Santini Página 1 de 6

ESTUDO NUMÉRICO DO DESLOCAMENTO DE FLUIDOS NÃO NEWTONIANOS

Objetos Gráficos Espaciais

ANÁLISE DE PLACAS LAMINADAS UTILIZANDO ELEMENTOS HÍBRIDOS DE TENSÕES TRIDIMENSIONAIS. Domingos Sávio R. Jr. (PG) & Flávio L. S.

Modelagem Numérica 51

Propagação de Som em Ambientes Acústicos Virtuais Bidimensionais

Palavras-chave: distribuição de energia elétrica; fluxo de potência; regulador de tensão.

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

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

4.1. Validação da análise de fluxo e transporte de soluto no meio fraturado

5 Implementação da Metodologia

Relatório técnico final do projeto Otimização do método multigrid em dinâmica dos fluidos computacional

Impacto da altura das falésias na geração de turbulência

Modelagem Numérica. Andréa Maria Pedrosa Valli

HeMoLab: Laboratório de Modelagem em Hemodinâmica

Operações Booleanas na Modelagem por Pontos

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

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA SIG FORMATOS DE REPRESENTAÇÃO DE DADOS FORMATO VETORIAL

Tabela 1 Características gerais dos corpos de prova escolhidos. RI=Rocha intacta; ZD=Zona de dano; NF=Núcleo da falha

Transcrição:

Algoritmos para a Homogeneização de Malhas Triangulares Rodrigo L. S. Silva, Márcio Pivello, Pablo Javier Blanco, Raul A. Feijóo LNCC Laboratório Nacional de Computação Científica {rodrigo, pivello, pjblanco, feij}@lncc.br Abstract. The generation of good quality geometry meshes is a fundamental step towards the resolution of a problem via an approximate technique such as the finite element method.. This paper presents methods that improve surface meshes, treating, particularly, triangles that have one of its edges with the size smaller than the others, called needle triangles, and triangles with an area smaller than the average area of a standard triangle within the mesh. Resumo. A geração de malhas geométricas de boa qualidade é uma etapa fundamental na resolução de problemas através de técnicas de aproximação como o método dos elementos finitos. Este artigo descreve métodos de aprimoramento da malha de superfície, tratando, particularmente, de triângulos que possuam uma de suas arestas de tamanho bem menor que as demais, denominados Triângulos Agulha, e triângulos cuja área é muito inferior à média das áreas dos triângulos encontrados na malha. 1. Introdução Uma das possíveis formas de gerarmos geometrias tridimensionais é através da utilização de algoritmos de segmentação de imagem como crescimento de região [9], Level Sets [10] ou técnicas de segmentação por contornos ativos [11][12]. Apesar de eficientes, esses algoritmos têm a desvantagem de gerar geometrias descritas através de malhas triangulares pouco uniformes. O objetivo das técnicas propostas neste artigo é tornar a malha mais homogênea, melhorando desta forma sua qualidade. Será demonstrado o algoritmo desenvolvido para remover triângulos com características geométricas muito particulares que fazem com que sejam denominados elementos tipo agulha. Também será explicada uma solução geométrica para remover triângulos que possuam área proporcionalmente menor do que a média das áreas da malha 3D. Os algoritmos desenvolvidos neste artigo fazem parte de uma ferramenta que tem por objetivo fornecer, de forma interativa, funcionalidades que permitam gerar e refinar malhas de elementos finitos 3D de boa qualidade [4]. Este ambiente foi chamado HeMoLab [2], sendo integrado ao Paraview [1], ambiente desenvolvido em C++ que utilizada a biblioteca VTK [5]. O projeto HeMoLab, em desenvolvimento no LNCC (Laboratório Nacional de Computação Científica), tem por objetivo criar um software que permita realizar todas as tarefas necessárias na modelagem e simulação do sistema cardiovascular humano. Este software permite a simulação do escoamento sangüíneo no sistema arterial humano via modelos de elementos finitos 1D, 3D ou 3D 1D acoplados, e oferece ferramentas para a geração da malha para os 3 tipos de modelos. Em particular, a geometria dos distritos arteriais 3D pode ser obtida via segmentação de imagens médicas, de modo que o usuário pode estudar o escoamento em pacientes específicos. Após a segmentação da imagem, a geometria é utilizada como base para a geração da malha de elementos 1

finitos do modelo 3D. Devido às ferramentas de edição disponíveis no Paraview, é comum que surjam durante a fase de pré-processamento triângulos deformados, com alta razão de aspecto, e outros com área muito abaixo da área média dos elementos da malha, ao serem isoladas as regiões arteriais que serão modeladas. Neste trabalho são apresentadas soluções para identificação e solução destes problemas. Na próxima Seção serão apresentados os trabalhos relacionados ao presente artigo. Em seguida, serão apresentados os conceitos básicos que envolvem a solução do problema. Na Seção 4 serão explicados os algoritmos de remoção de agulhas e triângulos de menor dimensão e finalmente, na Seção 5, serão apresentados resultados experimentais da aplicação dos filtros seguido das conclusões deste artigo e as propostas de trabalhos futuros. 2. Trabalhos relacionados Existem vários métodos na literatura cuja função é tornar (ou manter) malhas triangulares mais homogêneas. Um algoritmo para remoção de triângulos mal-formados foi proposto em [14]. Basicamente os vértices destes triângulos eram removidos e um segundo algoritmo de preenchimento era utilizado para manter a conectividade da malha. Em [13] foi usado um sistema denominado massa-mola para obter uma boa distribuição dos pontos em uma malha triangular. O sistema massa-mola também pode ser visto como um sistema de partículas interligadas por forças representadas pelas molas. A força exercida por estas molas depende da distância entre as partículas (vértices). Uma das desvantagens desse tipo de sistema para nossa abordagem é sua característica de suavizar regiões com uma densidade de triângulos maior do que as demais. 3. Conceitos básicos Os algoritmos propostos nesta seção, apesar de serem utilizados juntos na mesma ferramenta, foram separados em filtros distintos dentro do sistema HeMoLab. Para um melhor entendimento do funcionamento desses filtros, faz-se necessário introduzir alguns conceitos referentes à estrutura de dados da malha triangular de superfície utilizada no HeMoLab. 3.1 Elemento Triangular A estrutura utilizada neste trabalho é oriunda do projeto Gemesis3D [3]. Nesta estrutura, cada triângulo é constituído de informações a respeito dos triângulos vizinhos e dos índices de seus vértices (Figura 1). Esses índices fazem parte de uma lista global de vértices utilizada para evitar redundância de informações. 3.2 Grupos Uma peculiaridade da malha utilizada no ambiente HeMoLab é a necessidade da criação e manutenção de grupos de triângulos. Basicamente no contexto de aplicação desta ferramenta, as malhas triangulares constituem geometrias que por sua vez representam artérias que possuem um contorno lateral e contornos denominados tampas, que 2

representam entradas e saídas de cada distrito arterial. Os filtros a serem aplicados sobre essa malha devem manter as entradas e saídas geometricamente suaves e com um número de vértices compatível com o restante da malha. A cada um destes grupos são atribuídas características a serem utilizadas por outros módulos do sistema, como o módulo responsável por acoplar modelos 3D a um modelo 1D (Módulo de Acoplamento) por exemplo [6][7][8]. Figura 1. Modelo de triângulo utilizado. Cada triângulo possui o endereço de seus vizinhos (v1, v2 e v3) e as coordenadas de seus vértices (n1, n2 e n3). Desta forma, os dois algoritmos propostos neste artigo devem tratar os casos onde os triângulos estão localizados na fronteira entre dois grupos para não alterar esta fronteira, mantendo a quantidade total de vértices de borda próxima ao número de vértices iniciais. 3.3 Agulhas e elementos de menor dimensão Agulha é o nome dado a um tipo de triângulo que tem como característica possuir uma das arestas proporcionalmente menor que as demais. Nesta configuração, o ângulo formado pelas duas arestas de maior tamanho é pequeno e o triângulo fica alongado, como o apresentado na Figura 2.a. A identificação destes triângulos no sistema é feita através deste ângulo. Figura 2. Exemplo de geometria 3D com triângulos mal formados (em vermelho). Em triângulos agulha e em triângulos de menor dimensão. Outro problema está relacionado a triângulos com área consideravelmente menor do que a média das áreas encontradas na malha triangular. Esses triângulos podem ou não ter 3

vizinhos no formato de agulhas. Um exemplo desse tipo de configuração triangular pode ser visto na Figura 2.b 4. Solução proposta A remoção de triângulos mal formados requer a execução de várias etapas como será visto nas subseções a seguir. Basicamente a prévia identificação destes triângulos e o armazenamento da conectividade de seus vizinhos diretos é um ponto em comum em ambos os algoritmos. A seguir, serão explicadas em detalhes essas etapas. 4.1 Algoritmo para remoção de Agulhas Para remover um triângulo agulha da malha, é necessário analisar se o triângulo em questão está na fronteira entre dois grupos. Se este triângulo não estiver na fronteira, a remoção é considerada trivial e será explicada a seguir. Caso contrário, se o triângulo agulha estiver na fronteira, alguns testes deverão ser feitos para que sua remoção não altere a forma da fronteira. A seguir serão explicados os casos citados nesta seção. 4.1.1 Agulha não pertence à fronteira Quando um triângulo agulha for identificado na malha e não pertencer à fronteira, os seguintes passos deverão ser executados para que possamos fazer sua remoção: 1. Contar número de agulhas contidas na malha; 2. Marcar agulhas e seus vizinhos de menor aresta; 3. Armazenar coordenadas da menor aresta de cada agulha; 4. Refazer vizinhança das agulhas a serem removidas; 5. Refazer vizinhança dos vizinhos de menor aresta das agulhas a serem removidas; 6. Criar novos vértices através da média aritmética das coordenadas da menor aresta de cada agulha; 7. Remover agulhas e vizinhos de menor aresta; 8. Refazer a vizinhança dos vizinhos remanescentes das agulhas removidas; Os passos citados acima dão uma visão macro do problema de remoção de agulhas, visto que é um algoritmo que considera a malha como um todo. Na Figura 3, pode-se ter uma visão mais local da remoção de um triângulo agulha. 4

(c) (d) Figura 3. Remoção de um triângulo agulha. Em, identificação de um triângulo agulha (vermelho) e o seu vizinho de menor aresta seguido se suas respectivas remoções. Em (c), identificação da coordenada média da menor aresta e em (d) configuração final após a remoção. 4.1.2 Agulha está na fronteira Na subseção anterior explicou-se o caso de remoção mais simples onde o triângulo agulha não se encontra na fronteira entre dois grupos. Quando um triângulo agulha encontra-se nessa situação, deve-se definir a localização e o número de coordenadas que pertencem a esta fronteira. Os casos identificados estão resumidos no fluxograma abaixo (Figura 4). Figura 4. Fluxograma para remoção de agulhas na fronteira entre dois grupos. 4.2 Algoritmo para remoção de elementos de menor dimensão Triângulos de menor dimensão (como o triângulo visto na Figura 2.b) podem ser removidos seguindo-se os seguintes passos: 5

1. Calcular a área média dos triângulos da malha; 2. Marcar triângulos menores que uma dada proporção em relação a essa média; 3. Marcar os vizinhos dos triângulos do passo anterior 4. Calcular coordenadas médias dos triângulos do passo 2; 5. Triângulos que possuem coordenadas dos triângulos de menor dimensão, passam a apontar para a coordenada calculada no passo 4. 6. Remover os triângulos do passo 2; 7. Remover os triângulos do passo 3; 8. Refazer a vizinhança dos vizinhos remanescentes dos triângulos removidos; Na Figura 5 estão ilustrados os passos do algoritmo anterior. (c) Figura 5. Remoção de triângulos de menor dimensão. Em, identificação de um triângulo de menor dimensão (vermelho) e seus vizinhos. Os triângulos identificados são removidos e a coordenada média do triângulo central é calculada. Em (c) as coordenadas dos triângulos remanescentes são ajustadas para a nova coordenada calculada. 5. Resultados Experimentais Nesta seção serão apresentados alguns resultados experimentais do uso dos filtros propostos neste trabalho. Na Figura 6 é demonstrada a remoção de uma agulha com ângulo mínimo de 30º. Figura 6. Identificação de uma agulha de 30º e sua posterior remoção. 6

Na Figura 7 será demonstrado a remoção de agulhas encontradas na fronteira entre dois grupos. Nesta situação, cada grupo contém uma agulha, sendo um dos grupos composto pela base da superfície (parte inferior) e o segundo grupo o corpo da carótida (parte superior da Figura). Figura 7. Identificação das agulhas e grupos distintos suas posteriores remoções. A Figura 8 apresenta um exemplo de remoção de um elemento de menor dimensão em uma malha arterial. Figura 8. Identificação de triângulo de menor dimensão (menor do que 35% da área média dos triângulos da malha) e sua posterior remoção. 6. Conclusões O presente artigo descreve algoritmos que tem por objetivo prover funcionalidades que permitam processar geometrias tridimensionais para a geração de malhas de elementos finitos adequadas e de boa qualidade. As malhas processadas por esses métodos são posteriormente salvas em arquivos e processados pelo software de simulação numérica, 7

que permite tratar problemas não-lineares transientes que compreendem modelos de diferentes dimensões. Acredita-se que a utilização desta ferramenta no ambiente médico poderá fornecer informações mais precisas e valiosas na realização de diagnósticos e no planejamento cirúrgico. 7. Referências [1] Kitware Inc. ParaView. http://www.paraview.org. [2] Larrabide, I., Feijóo, R. A, HeMoLab: Laboratório de Modelagem em Hemodinâmica; Relatório Técnico 13/2006, LNCC, Brasil, 2006. [3] Vénere, M.J. Técnicas adaptativas para el Método de Elementos Finitos en dos y tres dimensiones. PhD thesis, Instituto Balseiro, Universidad Nacional de Cuyo, Novembro, 1996. [4] Vénere, M.J.. Optimización de la calidad de mallas de elementos finitos mediante cambios localizados de topologia. Rev. Int. de Mét. Num. para Cálculo y Diseño en Ing., 13:3 13, 1997. [5] VTK The Visualization Toolkit. http://www.vtk.org. [6] Formaggia, L. et al. Numerical treatment of defective boundary conditions for the navier-stokes equations. SIAM J. Numer. Anal., 40(1):376-401, 2002. [7] Lamponi, D.N. One dimensional and multiscale models for blood flow circulation. Tese de Doutorado, École Polytechnique Fédérale de Lausanne, 2004. [8] Urquiza, S. A., Blanco, P. J., Vénere, M. J. e Feijóo, R. A. Multidimensional modelling for carotid artery blood flow. Computer Methods in Applied Mechanics and Engineering, 195(33-36):4002-4017, Julho, 2006. [9] Adams, A. & Bischof, L. 1994. Seeded Region Growing. IEEE Trans. on Pattern Analysis andmachine Intel., 16(6). [10] Malladi, R.; Sethian, J. A. & Vemuri, B. C. 1995. Shape Modeling with Front Propagation: A Level Set Approach. IEEE Trans. Pattern Anal. Mach. Intell., 17(2), 158 175. [11] Cohen, L. D. 1991. On Active Contour Models and Balloons. CVGIP:Image Understanding, 53(2), 211 218. [12] Kass, M.; Witkin, A. & Terzopoulos, D. 1988. Snakes: Active Contour Models. International Journal of Computer Vision, 1(4), 321 331. [13] Figueiredo, Luiz H. de, Miranda, Jonas de, et all. 1992. Physically-Based Methods for Polygonization of Implicit Surfaces, Graphics Interface 92, 250-257. [14] Bern, Marshall and David Eppstein. 1992. Mesh Generation and Optimal Triangulation. Technical Report P92-00047, Xerox Palo Alto Research Center. 8