DefApliMed–Sistema de Deformação para Aplicações Médicas com base no método Massa-Mola utilizando a API Java 3D

July 12, 2017 | Autor: Leonardo Botega | Categoria: Realidade Virtual, Virtual Environment, Tool Development, Three Dimensional
Share Embed


Descrição do Produto

DefApliMed – Sistema de Deformação para Aplicações Médicas com base no método Massa-Mola utilizando a API Java 3D Larissa Pavarini, Fátima L. S. Nunes, Ana Cláudia T. G. Oliveira, Leonardo C. Botega e Adriano Bezerra Laboratório de Aplicações de Informática em Saúde – Programa de Pós-Graduação em Ciência da Computação - Centro Universitário Eurípides de Marília (UNIVEM) Cep 17525-901 Caixa Postal 2041 – Marília – SP – Brasil {lpavarini,fatima,ana_oliveira}@fundanet.br, [email protected],[email protected]

Abstract. The deformation is an important factor to get the realism in a Virtual Environment. In the Medical training’s development tools, its relevance has more emphasis, once it must have reactions to the user’s actions. This work presents the implementation in Java 3D of a deformation’s technique in three dimensional objects, using the conception of Mass Spring method and it has a purpose to supply a class to use in Medical training’s tolls. Resumo. A deformação é um fator importante para obtenção de realismo em um Ambiente Virtual. No desenvolvimento de ferramentas para treinamento médico sua relevância é ainda mais enfatizada, visto que deve haver reações às ações do usuário. Este trabalho apresenta a implementação em Java 3D de uma técnica de deformação em objetos tridimensionais utilizando o conceito do método Massa Mola, visando a fornecer uma classe para a utilização em ferramentas de treinamento médico.

1. Introdução A Realidade Virtual é uma área do conhecimento que oferece inúmeras oportunidades de investigação científica e inovação tecnológica, permitindo que o usuário tenha interação, imersão e engajamento na aplicação. Muitas áreas vêm se beneficiando com o desenvolvimento de ferramentas de RV para simular procedimentos. Umas das áreas mais beneficiadas é a Medicina, na qual aplicações de simulação podem auxiliar no treinamento eficiente de procedimentos antes de aplicá-los em pacientes reais. Para este tipo de aplicação a deformação de objetos tridimensionais na cena é um fator muito importante, pois proporciona realismo por meio da emissão de reações às ações do usuário [Schneider, 1997]. O presente trabalho apresenta o desenvolvimento de um sistema para possibilitar a execução de deformação em objetos tridimensionais e os resultados iniciais obtidos com a implementação em Java3D, visando a sua utilização em aplicações de simulação de procedimentos médicos. O método utilizado é o massa-mola (Mass Spring - MS), adaptado para aplicações médicas, que têm características particulares.

2. Conceitos de Deformação A deformação em objetos tridimensionais (3D) é extremamente necessária para simular a reação ao encontro entre dois ou mais objetos quando pelo menos um deles é composto por tecidos flexíveis [Gladilin, 2003]. Em simulação de aplicações de procedimentos médicos, além da detecção de colisão, é importante saber onde ocorreu o impacto entre os objetos modelados e se houve ou não uma interpenetração entre eles, que pode causar uma deformação. Na literatura três métodos são os mais citados para se obter deformação de objetos em aplicações de Realidade Virtual: Free Form Deformation (FFD) [Gibson, 1997], Mass Spring (MS) [Choi et al. 2002] e Finite Element (FE) [Gladilin, 2003]. Neste trabalho foi escolhido o método massa-mola para o desenvolvimento de uma classe que gera a deformação. A escolha deste método foi devida a sua relativa simplicidade de compreensão e implementação, pois é baseado nas leis de Hooke (mola) e Newton (velocidade e aceleração) [Zill, 2003], visto que a resposta em tempo-real é um requisito primordial em aplicações para treinamento médico. O método massa-mola é uma técnica baseada na física que permite a remodelagem de objetos deformados através de nós de massa conectados por molas [Choi et al 2002]. A força de uma mola é normalmente linear, baseada na lei de Hooke [Zill, 2003], mas molas não lineares podem ser usadas para simularem tecidos como pele humana, que exibem um comportamento não elástico. A segunda lei de Newton governa o movimento de um único ponto de massa na rede. O funcionamento geral da técnica MS é dado pela equação (1), onde mi é a massa do ponto e sua posição é &x&i que é a derivada segunda da equação da aceleração de Newton. Já o lado direito é referente à atuação da força sobre o ponto da massa, que − γ i x&i é referente à derivada da velocidade dependente do amortecimento da força, g ij é a força exercida na massa i pela mola entre massas i e j e f i é o somatório das outras forças externas agindo na massa i [Gibson, 1997]

mi &x&i = −γ i x&i + ∑ gij + f i (1) j

3. Metodologia A API Java 3D [Sun, 2006] disponibiliza três formas para criar e manipular uma geometria: (a) utilizando as classes prontas disponibilizadas, (b) por meio de uma lista de vértices e uma lista de arestas ou faces poligonais e (c) carregando uma geometria através da classe Loader, que importa objetos em formatos diversos [Palmer, 2001] Dentre essas, é importante destacar a importação de modelos geométricos, pois permite incluir na cena objetos com realismo diferenciado, gerados externamente por softwares específicos para esta finalidade. A API Java 3D não possui um formato de arquivo próprio, mas por meio da classe Loader, definida no pacote com.sun.j3d.loaders, permite a importação de uma grande variedade de formatos de arquivos. O sistema DefApliMed – Deformação em Aplicações Médicas é um conjunto de classes que implementa o método massa-mola e permite a simulação da deformação em objetos flexíveis quando tocados por objetos rígidos. O sistema foi implementado

utilizando a linguagem Java em conjunto com a API Java 3D, tendo como foco o desenvolvimento de ferramentas para treinamento de procedimentos médicos, que exigem resposta em tempo real e precisão na representação de objetos na cena. O sistema permite que o usuário selecione o objeto a ser carregado na cena e selecione o local de aplicação da deformação, tendo a possibilidade de alterar os parâmetros de acordo com a característica particular de cada objeto. Para cumprir esta tarefa, a Figura 1 apresenta o diagrama de classes do sistema. Pick_Vertice

DefApliMed

ObjectFile

Deformation

Parameters

Layers

Neighbors

Figura 1. Diagrama de classes do DefApliMed.

A classe DefApliMed é a classe principal, responsável pela a interface com o usuário e a criação da cena. Esta classe instancia as classes Pick_Vertice, ObjectFile e Deformation, que possuem, respectivamente, as seguintes funcionalidades: escolha da porção do objeto a ser deformado e conseqüente relacionamento do local selecionado com os vértices que serão reposicionados; importação e manipulação do objeto 3D que compõe a cena e deformação do objeto através do cálculo da força. Deve ser salientado aqui que o código fonte da classe ObjectFile da API Java3D foi alterado a fim de disponibilizar para manipulação do sistema, a estrutura de vértices e arestas dos objetos 3D importados. As classes Parameters, Layers e Neighbors fazem parte do funcionamento da deformação e tratam, respectivamente, dos parâmetros fornecidos para as equações, da manipulação das camadas de vértices para simular a deformação e dos nós vizinhos que serão afetados pela deformação.

4. Resultados Obtidos O sistema permite a deformação de uma forma simplificada, ou seja, fornece uma base para que um estudo mais detalhado de deformação possa ser desenvolvido através de estudos de casos específicos, fornecendo reações realísticas de acordo com o objeto em questão. Os testes foram realizados para verificar a variação da força, camadas envolvidas e quantidades de vértices que um objeto pode ser carregado na cena e como tudo isso influencia na deformação. O equacionamento matemático possui parâmetros específicos de massa, constante de amortecimento, constante da mola e força. Para os testes do sistema, foram utilizados valores específicos variando a força exercida e valores pré-determinados para os demais parâmetros. Para que se pudesse obter uma deformação realista foi necessária delimitar a quantidade de camadas que seriam deformadas. A Figura 2 apresenta o resultado da deformação em um objeto que representa uma mama, variando-se o número de camadas

envolvidas e verificando-se a influência deste parâmetro na área afetada pela deformação.

Figura 2 - Deformação na mama modelada variando o número de camadas

5. Conclusões A partir da implementação realizada foi possível verificar que o método massa-mola permite deformação e em tempo real e com precisão, características imprescindíveis para aplicações de treinamento médico. Uma contribuição do sistema é a implementação das funcionalidades utilizando a tecnologia Java, que é gratuita e, por isso, permite a construção de ferramentas de RV com baixo custo. Outra contribuição que deve ser salientada é a importação de objetos. Com a alteração da classe original disponibilizada pela API Java 3D, é possível disponibilizar a estrutura de vértices e arestas a partir de qualquer formato de arquivo que representa um objeto 3D. Os métodos que executam a funcionalidade deformação estão sendo inseridos em um framework a fim de que o sistema seja aplicado na construção de ferramentas médicas para finalidades diversas.

Agradecimentos Os autores agradecem à CAPES e ao CNPq pelo apoio financeiro (Processo nº. 472348/04-3).

Referências Choi, K. S. et al (2002) “A Scalable Force Propagation Approach for the Web – Based Deformable Simulation on Soft Tissues”, Proceedings of Web3D’02 ACM, pp 185 – 193. Gladilin, E. (2003) “A Biomechanical Modeling of Soft Tissue and Facial Expressions for Craniofacial Surgery Planning”. Tese de pós-Doutorado, FUBerlin, Berlim. Gibson, S.F.F. (1997) “A Survey of Deformable Modeling in Computer Graphics”. In Mitsubishi Electric Information Technology Center America, vol. 1, pp 1-22. Palmer, I. (2001) “Essential Java 3D Fast - Developing 3D Graphics Applications in Java” Editora Springer, 279 páginas. Schneider B.O. (1997) “Modelagem Dinâmica de Mundos Virtuais”. Dissertação de Mestrado, Universidade Federal de São Carlos, São Carlos. SUN – Java 3D API Tutorial, 2000. Disponível eletronicamente . Março de 2006.

em:

Zill, D.G. (2003) “Equações Diferenciais com aplicações em Modelagem” Thomson, 3ªEdição, pp.215-266, São Paulo.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.