III Seminário da Pós-Graduação em Engenharia Mecânica Unesp - Bauru



Documentos relacionados
TRIANGULAÇÃO DE DELAUNAY COM RESTRIÇÃO EM IMAGENS BIDIMENSIONAIS

Desenvolvimento de uma Etapa

Análise e Projeto de Software

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

UML: Diagrama de Casos de Uso, Diagrama de Classes

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

2 Engenharia de Software

Software Livre e Engenharia Elétrica

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Introdução à Engenharia de Computação

Prof. Marcelo Henrique dos Santos

DESENVOLVENDO O SISTEMA

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Unidade IV GERENCIAMENTO DE SISTEMAS. Prof. Roberto Marcello

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Unidade II MODELAGEM DE PROCESSOS

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Modelagem de Processos. Prof.: Fernando Ascani

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Sistemas Operacionais. Prof. André Y. Kusumoto

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Sistemas de Informação I

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Sistemas supervisórios

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Redes de políticas: novos desafios para a gestão pública

Casos de uso Objetivo:

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Modelação 3D. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto

Base Nacional Comum Curricular Lemann Center at Stanford University

Simulador Virtual para Treinamento em Visão de Máquina com LabVIEW

3 Qualidade de Software

Desenvolvimento de uma Interface Gráfica para a Ferramenta Computacional FastComp

Introdução à Engenharia de Computação

A sigla CAD pode representar duas definições principais, das quais muitas vezes são empregadas inadequadamente:

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Mauricio Barbosa e Castro

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

UTILIZAÇÃO DE TECNOLOGIAS PARA O ENSINO DE MATEMÁTICA

Banco de Dados Orientado a Objetos

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

Separação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Sistemas de Telecomunicações I

Banco de Dados Espaciais. Banco de Dados Espaciais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

TechProf Documento de Arquitetura

Aula 03-04: Modelos de Sistemas Distribuídos

Especificação do 3º Trabalho

DEFINIÇÃO DE UMA REDE DE SENSORES SEM FIO PARA A ARQUITETURA AGROMOBILE 1

Figura 5 - Workflow para a Fase de Projeto

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE. Professor: João Carmo

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Introdução à Computação: Sistemas de Computação

TÉCNICAS DE PROGRAMAÇÃO

Processos de gerenciamento de projetos em um projeto

3 Estratégia para o enriquecimento de informações

4 Aplicativo para Análise de Agrupamentos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Análise de Pontos de Função. Por Denize Terra Pimenta

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Engenharia de Software II

UFG - Instituto de Informática

Descrição do Produto. Altus S. A. 1

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

MODELAGEM E SIMULAÇÃO

Especificação do Trabalho

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

ESTUDO DE CASO: LeCS: Ensino a Distância

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Modelagem Digital do Terreno

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

O Gerenciamento de Documentos Analógico/Digital

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Computador Digital Circuitos de um computador (Hardware)

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

2-Introdução e Conceitos Básicos das TIC

Transcrição:

RECONSTRUÇÃO E GERAÇÃO DE MALHAS BIDIMENSIONAIS NÃO ESTRUTURADAS UTILIZANDO A TRIANGULAÇÃO DE DELAUNAY Leide Daiane Caires Aluna do Programa de Pós-Graduação em Engenharia Mecânica Unesp Bauru Prof. Dr. Edson Antonio Capello Sousa Orientador Depto de Engenharia Mecânica Unesp Bauru RESUMO Dentro da biomêcanica existem várias frentes de pesquisa e estudo, sendo este, voltado para a obtenção de modelos computacionais, mais precisamente regiões ósseas, para posterior análise por elementos finitos. O método dos elementos finitos proporciona o estudo da biomecânica baseada na avaliação numérica de modelos matemáticos. Como a obtenção destes modelos não é tarefa fácil de realizar, uma vez que as formas normalmente são complexas, uma solução então é construí-los a partir de seções transversais, com a ajuda de um programa computacional. Assim, o presente projeto destina-se a obtenção desses modelos computacionais aplicados à estruturas biomecânicas, através do desenvolvimento de um software de reconstituição de modelos 2D, onde tem como propósito a solução destes e outros problemas, como a Triangulação de Delaunay 2D com restrição, a fim de construir uma topologia a partir de pontos não estruturados de uma imagem. O mesmo está sendo desenvolvido como um programa computacional multi-plataforma, orientado a objetos, desenvolvido em C++, com o uso do Visualization Toolkit (VTK) uma biblioteca livremente disponível, de código-fonte aberto, para computação gráfica, processamento de imagens e visualização e do framework QT para a construção da interface gráfica, a partir de imagens planas (fatias), normalmente imagens médicas digitais, obtidas normalmente por tomografia computadorizada ou ressonância magnética, no formato DICOM (Digital Imaging Communications in Medicine), afim de gerar malhas de superfície através da triangulação de Delaunay 2D com restrição, permitindo posterior exportação para formatos compatíveis com softwares de análise por elementos finitos, como o Ansys Multiphysics. O software em desenvolvimento será incrementado no software biomeshcreate, que resolve diversos tópicos relacionados a problemas biomecânicos, mas que trata do problema com malhas 3D. PALAVRAS-CHAVE: Delaunay, Bidimensionais, Engenharia Mecânica. 1 INTRODUÇÃO Existem vários métodos de geração de malhas não-estruturadas, e o método mais popular se baseia em triangularizações de Delaunay. Na triangularização de Delaunay, cada triângulo determina um círculo cujo interior não contém nenhum ponto a não ser os três pontos que determinam o triângulo, ou seja, baseia-se em um único critério: círculos vazios. Ela é usada com freqüência para construir malhas para o método dos elementos finitos, as

quais, para serem precisas e com boa qualidade, devem ser refinadas por algoritmos que obedecem à regra do círculo-circundante. Essa propriedade torna este tipo de triangulação adequada para a solução de problemas em domínios de geometria complexa pelo método de elementos finitos. Apesar da flexibilidade da propriedade citada, a utilização da triangulação de Delaunay apresenta algumas dificuldades. Em uma aplicação de elementos finitos, a nuvem de pontos inicial não é aleatória mas sim definida a partir de pontos gerados em segmentos de reta e curvas (problemas bidimensionais) e em superfícies (problemas tridimensionais), as quais definem a geometria do problema. Além disso, como a geração da malha baseia-se na distribuição de pontos, ignorando as linhas que interligam esses pontos, durante o processo de subdivisão do domínio pode ocorrer a perda dos contornos que definem a geometria. Muitos problemas requerem um adensamento maior de elementos em determinadas regiões no interior do domínio. A triangulação de Delaunay tem grande importância para a geração de malhas, pois a maioria dos polígonos que descreve objetos do mundo real tem formato irregular e regiões pertencentes a diferentes domínios de interesse. Nesse contexto, a triangulação de Delaunay, conceitualmente, pode ser vista como uma estratégia de decompor um domínio em triângulos, respeitando suas características geométricas, como um passo inicial do processo de discretização. Desse modo, a triangulação de Delaunay funciona como uma espécie de gabarito para delimitar o espaço de ocupação, o qual, posteriormente, será decomposto até que sejam atendidos todos os critérios de qualidade referentes à área e medida angular para cada triângulo [MOURA, 06]. Segundo [CAPELLO SOUSA,04], devido a algumas limitações desse algoritmo tal como a dificuldade em reconhecer superfícies côncavas e delimitar figuras espaciais, esse método foi sofrendo algumas modificações, passando a ser conhecido simplesmente como Algoritmo de Triangulação de Delaunay Modificado. Modificações conforme [SCHROEDER,04], por exemplo, adapta-o à geração de contornos, tetraedrização de malhas não estruturadas, geração de malhas volumétricas e assim por diante. Pode-se dizer que a triangulação de Delaunay no plano encontra segmentos de reta que conectam um conjunto de pontos, os segmentos particionam o conjunto de pontos em triângulos, nenhum desses segmentos pode cruzar com nenhum outro e cada ponto é vértice de pelo menos um triângulo. Uma ótima triangulação é uma partição do domínio em triângulos ou tetraedros que estão de acordo com alguns critérios de medida de tamanho, área ou número de triângulos. Segundo [MAGALHÃES,00], dado um conjunto de pontos distribuídos aleatoriamente em um plano (nuvem inicial), um número virtualmente ilimitado de malhas de triângulos pode ser gerado. O matemático Delaunay (1934) provou que, nestas condições, existe uma única triangulação que maximiza a soma dos menores ângulos de cada triângulo da malha. Em outros termos, dada uma nuvem de pontos, a triangulação de Delaunay é a que resulta em um conjunto de triângulos o mais próximo possível de triângulos equiláteros. As propriedades da triangulação de Delaunay estão ligadas à construção de Dirichlet (também conhecida como diagrama de Voronoi), a qual considera a forma geométrica dual da triangulação de Delaunay. A construção de Dirichlet é a região do espaço onde cada divisão representa o espaço fechado para um ponto p i (estas divisões são células de Voronoi). Uma triangulação de Delaunay pode ser feita a partir da construção de Dirichlet pela criação de arestas entre células de Voronoi que compartilham n-1 contornos comuns. Os vértices da construção de Dirichlet estão localizados nos circuncentros dos círculos mostrados na triangulação de Delaunay [SCHROEDER; MARTIN; LORENSEN,2006]. Dentre os algoritmos que implementaram restrições e refinamentos em duas

dimensões para resolver problemas relacionados à concavidade e geometria irregular foram encontrados os de Chew (1993), Ruppert (1995), uns dos mais usados na literatura, que cita todos os passos necessários para sua implementação. O CDT (constrained Delaunay triangulation) ou triangulação de Delaunay com restrição desenvolvida por Anglada (1997), resolve problemas de concavidade, possíveis buracos encontrados na superfície. Podemos também observar a aplicação orientada a objeto, implementada no CDT, desenvolvida por Magalhães, Passaro e Abe (2000). Através de modificações no algoritmo de Triangulação de Delaunay é possível, por exemplo, obter a malha de elementos a ser utilizada pelo MEF. No Método dos Elementos Finitos (MEF) [ZIENKIEWICZ,89], o domínio de estudo é subdividido em pequenos subdomínios, denominados elementos finitos, e as equações diferenciais que representam o fenômeno físico em estudo são supostas válidas em cada um dos elementos. As variáveis de estado, ou seja, as incógnitas do problema são calculadas em um conjunto de pontos denominados pontos nodais. Os pontos vértices dos elementos finitos fazem parte desse conjunto de pontos. No interior dos elementos finitos as variáveis de estado são obtidas por meio de interpolações dos valores calculados nos pontos nodais. As dimensões geométricas desses elementos e/ou o tipo de interpolação devem ser escolhidos visando à obtenção de soluções acuradas para o problema físico, uma vez que a precisão do método está diretamente relacionada com a qualidade da subdivisão do domínio em elementos finitos e com os polinômios de interpolação. A biblioteca que será utilizada para o desenvolvimento do software em questão chama-se VTK. O VTK (Visualization ToolKit) [VTK] é um sistema de software gratuito de código fonte aberto, orientado por objectos, para gráficos 3D, visualização e processamento de imagem. Apesar de implementado em C++, o VTK integra um sistema de interfaces adequadas de forma a suportar desenvolvimento em linguagens C++, Tcl, Python e Java, permitindo assim aplicações complexas, rápida aplicação de protótipos e programação simples. O VTK fornece uma variedade de representação de dados incluindo conjuntos de pontos, polígonos, imagens, volumes e grelhas rectilíneas, estruturadas e não estruturadas. Contém leitores/importadores e escritores/exportadores para troca de dados com outras aplicações. Estão disponíveis centenas de filtros de processamento de dados, desde a convolução de imagem até à triangulação de Delaunay. O modelo de renderização do VTK suporta representações 2D, poligonais, volumétricas e de textura que podem ser combinadas. Além de dezenas de algoritmos de imagem diretamente para permitir ao usuário misturar imagens 2D/3D, algortmos de imagem e dados. A junção destas tecnologias revela-se capaz de originar programas de visualização adequados e extremamente eficazes, sem descurar todos os aspectos inerentes a uma boa interação homem/máquina. Esta biblioteca é implementada em linguagem C++, seguindo o conceito de programação orientada a objetos (POO). Isto representa uma grande vantagem, pois permite a expansão da estrutura de classes. A disponibilização do código fonte também torna possível a implementação de novas funcionalidades na biblioteca. O modelo de visualização do VTK é baseado no paradigma de fluxo de dados adotado por muitos sistemas comerciais. Neste paradigma, os módulos são mantidos conectados dentro do programa. Os módulos executam algoritmos de operação nos dados como um fluxo através do programa. A execução da visualização do programa é controlada em resposta à demanda para os dados (demand-driven) ou em resposta à entrada do usuário (event-driven). O interessante deste modelo é que ele é flexível, e pode ser rapidamente adaptado para diferentes tipos de dados ou novas implementações no algoritmo.

O modelo de visualização consiste de dois tipos básicos de objetos: objetos de processos e objetos de dados. Os objetos de processos são os módulos, ou partes do algoritmo de visualização do programa. Objetos de dados, também referenciados como conjuntos de dados (datasets), representam e habilitam operações no fluxo de dados através do programa. Estes objetos constituem um modelo extensível e serão tratados com maiores detalhes no desenvolvimento do projeto [SCHROEDER,96], um dos principais criadores de VTK, traz a seguir uma descrição rápida dos sete objetos básicos por trás da cena, mas estes sete são os mais frequentemente usados de extrema importância para o desenvolvimento futuro. a) vtkrenderwindow gerencia a janela no dispositivo de exibição; um ou mais renderizadores desenham dentro de uma instância do vtkrenderwindow; b) vtkrenderer coordena o processo de renderização envolvendo luzes, câmeras e atores; c) vtklight constitui uma fonte de luz para iluminar a cena; d) vtkcamera define a posição de visão, ponto focal e outras propriedades de visualização de cena; e) vtkactor representa um objeto renderizado na cena, incluindo suas propriedades e posição no sistema de coordenadas. (Nota: vtkactor é uma subclasse de vtkprop.vtkprop, por sua vez, é uma forma mais geral de representar um ator, que inclui anotações e classes de desenhos 2D); f) vtkproperty define as propriedades relacionadas à aparência de um ator, incluindo cor, transparência e propriedades de iluminação tais como reflexão especular e difusão. Também representam propriedades como superfície sólida ou linhas; g) vtkmapper é a representação geométrica para um ator. Mais do que um ator pode referir-se ao mesmo mapper. 2 OBJETIVOS O objetivo final deste projeto é a elaboração de um software de caráter científico, capaz de fazer a reconstituição de modelos bidimensionais, geração de malhas 2D não estruturadas, a partir de tomografias computadorizadas e/ou ressonância magnética, utilizando a Triangulaçao de Delaunay com restrição. Este interesse em entender e explorar o processo de reconstrução de imagens e reconstrução de imagens está diretamente à solução numérica de problemas científicos e de engenharia, como simulações de análise estrutural, devido a sua eficiência, que depende em grande parte da obtenção de um modelo geométrico fiel a estrutura que será analisada. Por isso o software a ser desenvolvido, será capaz de gerar modelos bidimensionais reconstituídos, que serão exportados para programas de análise estrutural, como o Ansys, que é um programa adotado para realização de simulações desta natureza. Espera-se que ao final do processo, o software para tratamento de imagens a ser desenvolvido, seja capaz de: Ler e interpretar imagens obtidas a partir de tomografias computadorizadas e/ou ressonância magnética em formato DICOM (formato das imagens médicas); Remontar o volume a partir das imagens lidas; Gerar a malha de superfície; Exportar para o formato STL - o mesmo formato utilizado por softwares de análise estrutural.

O projeto em desenvolvimento encontra-se em fase evolutiva, podendo sofrer algumas modificações no futuro, pretende-se realizar a implementação do software na plataforma Microsoft Windows, utilizando o ambiente de desenvolvimento do Microsoft Visual Studio 2005 Express Edition. Será criado então, um programa orientado a objetos de análise e visualização de imagens bidimensionais e geração de modelos estruturais. Em sistemas orientado a objetos, um objeto é definido como um conjunto de dados que representam a estrutura de uma entidade concreta ou abstrata e um conjunto de procedimentos que acessam esses dados e respondem sobre o comportamento da entidade em relação a eventos externos. O emprego da Programação Orientada a Objetos (POO) em sistemas dessa natureza é adequado não somente porque a POO permite modelar problemas do mundo real tão próximo quanto possível da visão que temos desse mundo, ou porque podese escrever programas que são mais facilmente compreendidos e estendidos, mas também porque observa-se uma identidade dos conceitos de modelos e objetos. Neste sistema, as propriedades da POO encapsulamento, herança e polimorfismo serão diretamente empregadas na especificação dos modelos estruturais. Além disso, um programa orientado a objetos é baseado em um modelo de computação definido em termos de objetos que se comunicam através do mecanismo de troca de mensagens. O tipo de um objeto, ou seja, sua estrutura e comportamento, é encapsulado em uma descrição de classe de objetos. Dizemos que objetos com estrutura e comportamentos comuns pertencem à mesma classe de objetos. Os objetos deste sistema serão organizados segundo esta hierarquia de classes. O objetivo dessa arquitetura é garantir que todo o código que se refere à camada visual, como por exemplo, a manipulação de formulários, controles visuais e os demais objetos que compõem a interface gráfica do usuário possam ser escritos em uma linguagem mais acessível como o C#, deixando para as camadas intermediárias, escritas em C++, que requerem maior cuidado com o gerenciamento de memória e manipulação de ponteiros, apenas as tarefas de carregamento, análise e tratamento dos objetos constituídos por imagens, cuja instância irá trafegar entre os demais níveis. REFERÊNCIAS BIBLIOGRÁFICAS CAPELLO SOUSA, E. A., Identificação de Imagens Aplicada a Modelagem de Estruturas Ósseas em Bio-Engenharias. Bauru: Faculdade de Engenharia e Tecnologia, Universidade Estadual Paulista. Janeiro, 2004. MAGALHÃES, G. M., PASSARO, A., ABE, N. M., Geração de Malha de Delaunay Orientada a Objetos, Anais do Worcomp 2000 Workshop de Computação, São José dos Campos, SP, 17-18/10/2000. MOURA, A. L. Uma Proposta para a Triangulação De Delaunay 2D e Localização Planar de Pontos em Ocaml, 2006, 42-43 f. Tese (Doutorado em Ciências) Departamento de Engenharia Elétrica, Universidade Federal de Uberlândia, Brasil. SCHROEDER, W. J., GEVECI, B., MALATERRE, M., Compatible Triangulations of Spatial Decompositions, 15th IEEE Visualization 2004, 2004. SCHROEDER, W. J., MARTIN, K. M., LORENSEN W. E., The design and iimplementation of an object-oriented toolkit for 3D graphics and vsualization, In Proceedings of Visualization 96, 1996.

VTK - The Visualization Toolkit, disponível em: http://www.vtk.org ZIENKIEWICZ, O. C. and TAYLOR, R. L., The Finite element method. vol.1, 4th edition, MacGraw-Hill Book, 1989.