Reformatação Curvilínea com Malhas Paralelas - FEEC - Faculdade de ... · Se tal área estiver...

4
Reformatação Curvilínea com Malhas Paralelas Wallace Souza Loos , Wu, Shin-Ting (Orientadora) Departamento de Engenharia de Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (Unicamp) Av. Albert Einstein, 400 – Campinas, SP, Brasil – CEP: 13083-852 {wloos,ting}@dca.fee.unicamp.br Abstract – In order to improve the curvilinear reformatting tool proposed in [8], we present in this paper a novel procedure to perform triangular mesh offsetting. Its main feature is to apply a decimation algorithm in the removal of degenerate faces, and thus, in preventing local self-intersections without degrading mesh quality. Keywords – Offsetting Mesh, Curvilinear Reformatting, QEM. 1. Introdução A displasia cortical focal é uma causa comum de epilepsia refratária. Em geral, o tratamento indi- cado é a remoção da área lesionada. Visualmente essa área é associada como um borramento entre a substância branca e cinzenta ao longo das camadas paralelas ao escalpo do cérebro. Embora essas re- giões possam ser identificadas por imagens de alta qualidade, fornecidas pela ressonância magnética, pequenas lesões podem ainda não serem detectadas. (a) (b) (c) (d) Figura 1. Reformatação Curvilínea: (a) amos- tragem, (b) criação da malha, (c) deslocamento da malha (d) resultado final da reformatação curvilínea. A ferramenta de reformatação curvilínea é uma solução computacional que permite uma aná- lise não invasiva das camadas paralelas ao escalpo podendo levar a detecção de tais lesões. Ela con- siste de uma série de superfícies curvilíneas equi- distantes, que são criadas com o deslocamento da superfície em relação ao seu vetor normal. Este con- junto de superfícies é denominado superfícies pa- ralelas. Wu et al. [8] propuseram uma ferramenta de reformatação curvílinea interativa. O usuário de- marca a superfície a ser explorada (Figura 1(a)). Após a demarcação, a superfície é amostrada e a partir dessas amostras uma malha triangular é cri- ada (Figura 1(b)). Essa malha é uma aproximação da superfície demarcada. A malha então é deslo- cada em relação ao seu vetor normal (Figura 1(c)), a Figura 1(d) apresenta o resultado de uma reforma- tação curvilínea. A reformatação curvilínea pode ser tra- tada como um problema de deslocamento de ma- lha. O deslocamento de uma malha é uma importante operação em várias aplicações de CAM 1 /CAD 2 [5] [6] [7]. No entanto, em [8] foi mostrado que o problema de reformatação curvilí- nea pode ser tratado, com vantagens, como um pro- blema de deslocamento de malha. (a) (b) Figura 2. Auto-interseções: locais e globais. O principal problema relacionado ao deslo- camento de malha são as auto-interseções (Figura 2). Para que a reformatação curvílinea seja bem su- cedida, precisa-se evitar essas auto-interseções ao longo do deslocamento a fim de manter a consistên- cia geométrica entre as malhas paralelas. As auto- 1 Computer Aided Manufacturing 2 Computer Aided Desing

Transcript of Reformatação Curvilínea com Malhas Paralelas - FEEC - Faculdade de ... · Se tal área estiver...

Reformatação Curvilínea com Malhas ParalelasWallace Souza Loos , Wu, Shin-Ting (Orientadora)

Departamento de Engenharia de Computação e Automação Industrial (DCA)Faculdade de Engenharia Elétrica e de Computação (FEEC)

Universidade Estadual de Campinas (Unicamp)Av. Albert Einstein, 400 – Campinas, SP, Brasil – CEP: 13083-852

{wloos,ting}@dca.fee.unicamp.br

Abstract – In order to improve the curvilinear reformatting tool proposed in [8], we present in this paper a novelprocedure to perform triangular mesh offsetting. Its main feature is to apply a decimation algorithm in the removalof degenerate faces, and thus, in preventing local self-intersections without degrading mesh quality.

Keywords – Offsetting Mesh, Curvilinear Reformatting, QEM.

1. Introdução

A displasia cortical focal é uma causa comum deepilepsia refratária. Em geral, o tratamento indi-cado é a remoção da área lesionada. Visualmenteessa área é associada como um borramento entre asubstância branca e cinzenta ao longo das camadasparalelas ao escalpo do cérebro. Embora essas re-giões possam ser identificadas por imagens de altaqualidade, fornecidas pela ressonância magnética,pequenas lesões podem ainda não serem detectadas.

(a) (b)

(c) (d)

Figura 1. Reformatação Curvilínea: (a) amos-tragem, (b) criação da malha, (c) deslocamentoda malha (d) resultado final da reformataçãocurvilínea.

A ferramenta de reformatação curvilínea éuma solução computacional que permite uma aná-lise não invasiva das camadas paralelas ao escalpopodendo levar a detecção de tais lesões. Ela con-siste de uma série de superfícies curvilíneas equi-distantes, que são criadas com o deslocamento dasuperfície em relação ao seu vetor normal. Este con-

junto de superfícies é denominado superfícies pa-ralelas. Wu et al. [8] propuseram uma ferramentade reformatação curvílinea interativa. O usuário de-marca a superfície a ser explorada (Figura 1(a)).Após a demarcação, a superfície é amostrada e apartir dessas amostras uma malha triangular é cri-ada (Figura 1(b)). Essa malha é uma aproximaçãoda superfície demarcada. A malha então é deslo-cada em relação ao seu vetor normal (Figura 1(c)),a Figura 1(d) apresenta o resultado de uma reforma-tação curvilínea.

A reformatação curvilínea pode ser tra-tada como um problema de deslocamento de ma-lha. O deslocamento de uma malha é umaimportante operação em várias aplicações deCAM1/CAD2 [5] [6] [7]. No entanto, em [8] foimostrado que o problema de reformatação curvilí-nea pode ser tratado, com vantagens, como um pro-blema de deslocamento de malha.

(a) (b)

Figura 2. Auto-interseções: locais e globais.

O principal problema relacionado ao deslo-camento de malha são as auto-interseções (Figura2). Para que a reformatação curvílinea seja bem su-cedida, precisa-se evitar essas auto-interseções aolongo do deslocamento a fim de manter a consistên-cia geométrica entre as malhas paralelas. As auto-

1Computer Aided Manufacturing2Computer Aided Desing

interseções podem ser classificadas como locais ouglobais. As globais ocorrem entre faces diferentese as locais na mesma face. Este trabalho tem comointenção aprimorar o algoritmo de deslocamento demalha utilizado na ferramenta de reformatação cur-vilínea apresentado em [8].

1.1. Trabalhos Relacionados

O deslocamento de malha começou a ser estudadono início dos anos 80, motivado pela aplicabilidadeem diversas áreas relacionadas à engenharia. Naárea de CAM e CAD a operação de deslocamentode malhas é usada em algumas aplicações, comona geração de caminhos para o controle numérico(NC tool paths). Nessas áreas foram propostos al-guns algoritmos de deslocamento de malha. Yi [9]monitora a topologia da malha deslocada com umerro quadrático associado a cada vértice. Esse erroé o somatório das distâncias ao quadrado do vér-tice deslocado v aos planos adjacentes ao vértice vantes de ser deslocado menos o deslocamento d re-alizado. Caso esse erro seja maior que um limiart, esse vértice é adicionado a uma fila de priorida-des, do maior para o menor. Para cada vértice vcolocado na fila de prioridades é realizado uma ope-ração de divisão, resultando em dois novos vérticesv0 e v1. Para cada novo vértice criado, o seu erroé comparado com o limiar t, caso o erro seja maiorque t, tal vértice é adicionado na fila de prioridades.Essa operação é realizada para cada vértice da fila.As auto-interseções não são tratadas neste trabalho.

Jung et al. [3] propuseram um algoritmo deregularização de malhas ao longo do deslocamento.A cada passo do deslocamento as faces degenera-das são removidas e as auto-interseções calculadas.Para cada face que se intercepta com outra face érealizada uma sub-triangulação removendo a auto-interseção. Caixas limitantes nos triângulos são usa-das para separar casos trivialmente descartáveis. Oalto custo da computação das auto-interseções invi-abiliza a utilização deste algoritmo.

O algoritmo de deslocamento de malha pro-posto em [8] remove as auto-interseções através domonitoramento da área das faces. É calculada paracada face sua área. Se tal área estiver abaixo deum limiar t, essa face é marcada como uma facedegenerada. Após a escolha das faces degeneradaselas são removidas. Para remover uma face degene-rada são contraídas duas arestas da face, essa esco-

lha não visa a conservação da geometria da malha,o que prejudica a qualidade da malha. Em decor-rência disso, podem aparecer artefatos em reforma-tação curvilínea.

2. PropostaO algoritmo proposto melhora a forma de como se-lecionar as faces degeneradas proposta em [8], epropõe removê-las utilizando um algoritmo de de-cimação.

2.1. Qualidade da Malha

A qualidade de uma face é medida pela sua forma,quanto mais os seus lados são proporcionais melhorserá a sua qualidade. Há diversas alternativas paraquantizar este conceito. Essencialmente, elas dife-rem nas grandezas geométricas utilizadas. Algumasmétricas são apresentadas na Figura 3.

A primeira métrica divide a área do triân-gulo pelo maior lado (Figura 3(a)), a segunda mé-trica divide o inraio pelo circunraio (Figura 3(b)), aterceira métrica usa a razão áurea (Figura 3(c)) e aquarta métrica usa a área (Figura 3(d)). A qualidadede uma face é avaliada com base a um limiar pré-definido. Um valor acima do limiar indica uma facede boa qualidade e a qualidade piora quando estiverdistanciando do limiar no sentido oposto.

2.2. Faces Degeneradas

Durante o deslocamento da malha algumas faces po-dem ficar degeneradas. Consideramos como facesdegeneradas as que tendem a virar um ponto ou umaaresta. Elas diminuem a qualidade da malha e pro-vocam auto-interseções locais. Portanto, para evitaras auto-interseções locais, é necessário evitar as fa-ces degeneradas. Em nosso trabalho foi utilizada aprimeira métrica mencionada na seção 2.1., pois nãoqueríamos que as desigualdes entre os lados fossemmuito proporcionais e nem que fossem pouco pro-porcionais. Para cada face da malha sua área é cal-culada e depois dividida pelo maior lado. As facesque se encontrarem abaixo de um limiar t serão con-sideradas degeneradas.

2.3. Remoção das Faces Degeneradas

Algoritmos de decimação são utilizados para dimi-nuir o número de faces de uma malha preservandosua geometria o máximo possível. Eles podem ser

(a) (b) (c) (d)

Figura 3. Observação da qualidade da malha sob diferentes métricas: (a)área/maior lado,(b)inraio/circunraio, (c)razão áurea e (d)área.

utilizados no nosso caso para aumentar as áreas dasfaces da malha, simplificando a malha deslocada eassegurando que as faces nunca fiquem degenera-das. O uso do erro quadrático é muito comum emalgoritmos de decimação [4] [2] [1] para ordenar oselementos a serem manipulados.

O erro quadrático é usado para calcular ocusto da contração entre dois vértices (vi, vj). Ocusto da contração (vi, vj) −→ vi é o somatóriodas distâncias ao quadrado de vi até todos os planosp adjacentes a vj. Ao invés de calcularmos as dis-tâncias entre o ponto vi até os planos adjacentes avj, encontramos o erro fundamental quadrático Qi

e Qj dos vértices vi e vj, que podem ser usados paraencontrar a distância ao quadrado de qualquer pontono espaço até o plano p. O erro fundamental qua-drático Qi é o somatório do produto dos coeficientesdos planos adjacentes a vi,

Qi =∑

p∈planes(vi)

ppT

onde p = [a b c d] representa o plano definido comoax + by + cz + d = 0 e a2 + b2 + c2 = 1. De ma-neira análoga Qj pode ser calculado. O custo dacontração entre dois vértices (vi, vj) é calculado daseguinte maneira

C(vi,vj) = viT (Qi +Qj)vi (1)

Quanto menor o custo, menor o erro, cau-sando assim menor impacto na geometria da malha.Cada custo é comparado com um limiar ε, e caso o

custo esteja acima de ε ele é adicionado a uma fila deprioridades, do menor para o maior. Cada custo estáassociado a uma contração. As contrações são reali-zadas com a remoção dos elementos da fila. Quandoa fila estiver vazia obtém-se uma nova malha simpli-ficada próxima à da malha original.

3. Resultados e ConclusõesA Figura 4 apresenta o processo de deslocamentoda malha. A Figura 4(a) apresenta a malha original,em seguida a mesma malha é deslocada em relaçãoao vetor normal, (Figura 4(b)). A Figura 4(c) apre-senta a malha deslocada. Logo após o algoritmo dedecimação é aplicado (Figura 4(d)). Para encontraras faces degeneradas utilizamos um limiar t = 0,015e erro máximo ε = 10−5.

A Figura 4(c) mostra que a qualidade damalha começa a diminiuir quando as faces tendema ficarem degeneradas. Após a aplicação do algo-ritmo de decimação a malha recupera a qualidadenas bordas (Figura 4(d)), porém acaba diminuindoa qualidade em seu interior. Como trabalho futuropretendemos para cada par contraído (vi, vj)−→ vi

calcular uma a nova posição para vi que melhore aqualidade da malha. Gostaríamos também de pro-por um algoritmo de remoção de faces degeneradasde maneira local, impactando minimamente a suavizinhança.

Não nos preocupamos em tratar as interse-ções globais pois elas não aparecem em nossa apli-cação. É, porém, relevante para a nossa aplicação

(a) (b) (c) (d)

Figura 4. Procedimento do deslocamento da malha.

deslocamento de um conjunto de malhas pintadasem separado. Pretendemos costurá-las antes do des-locamento e desenvolver um algoritmo de costura éuma das nossas metas.

Referências

[1] Michael Garland and Paul S. Heckbert. Sur-face simplification using quadric error metrics.Proceedings of the 24th annual conference onComputer graphics and interactive techniques -SIGGRAPH ’97, pages 209–216, 1997.

[2] Mingyi He and Long Li. Advance in TriangularMesh Simplification Study. (December):7–10,2010.

[3] Wonhyung Jung, Hayong Shin, and Byoung KChoi. Self-intersection Removal in TriangularMesh Offsetting. 1:477–484, 2004.

[4] Guanlong Li and Wendong Wang. The EdgeCollapse Algorithm Based on the Batched Ite-ration in Mesh Simplification. 2012 IEEE/ACIS11th International Conference on Computerand Information Science, pages 356–360, May2012.

[5] Shengjun Liu and Charlie C L Wang. FastIntersection-free Offset Surface Generationfrom Freeform Models with Triangular Meshes.IEEE Transactions on Automation Science andEngineering, 8(852):347–360, 2011.

[6] B. Pham. Offset curves and surfaces: a briefsurvey. Computer-Aided Design, 24(4):223–229, April 1992.

[7] S.E.O. Saeed, a. de Pennington, and J.R.Dodsworth. Offsetting in geometric modelling.Computer-Aided Design, 20(2):67–74, March1988.

[8] Wu Shin-Ting, Clarissa Lin Yasuda, and Fer-nando Cendes. Interactive curvilinear reformat-ting in native space. IEEE transactions on vi-sualization and computer graphics, 18(2):299–308, February 2012.

[9] Il Lang Yi, Yuan-shin Lee, and Hayong Shin.Mitered Offset of a Mesh Using QEM and Ver-tex Split. Proceedings of the 2008 ACM sym-posium on Solid and physical modeling, pages315–320, 2008.