Você está na página 1de 155

Reconstruo de superfcies a partir de

nuvens de pontos

Joo Paulo Gois


SERVIO DE PS-GRADUAO DO ICMC-USP

Data de Depsito:

Assinatura:

Reconstruo de superfcies a partir de nuvens de


pontos

Joo Paulo Gois

Orientadora: Profo . Dro. Antonio Castelo Filho

Dissertao apresentada ao Instituto de Cincias


Matemticas e de Computao - ICMC-USP, como
parte dos requisitos para obteno do ttulo de Mestre
em Cincias de Computao e Matemtica Computa-
cional.

USP - So Carlos
Abril de 2004
1 Este trabalho tem apoio financeiro da FAPESP processo No. 01/10678-7

Dedico aos meus pais com muito carinho.

Agradecimentos

Em primeiro lugar e acima de tudo, agradeo a Deus por estar presente em todos os
momentos de minha vida.
Agradeo aos meus pais, Jos Ricardo e Gercira, pelo amor deles por mim e por me
apoiarem com o possvel e o impossvel no que est ao alcance deles.
Minhas irms Mariane e Clariana e a minha av Maria Aparecida que todas as vezes que
eu voltava para a casa para descansar e matar a saudade, estiveram l me dando ateno e
carinho.
Aos meus amigos, quatro melhores amigos Endrigo, Gabriel, Renato e Rodrigo que esto
cada um num canto do mundo mas nunca perdemos o contato e conforme o tempo passa nos
tornamos mais amigos e junto aprendemos a viver e compartilhar momentos felizes e difceis.
Ao casal de amigos Daniel e Eliane que me acompanham desde minha adolescncia me
aconselhando e ajudando com tudo que precisei.
As amigas Fer, Dani, Ev e Kika que sempre lembram de mim e me acolhem com muito
carinho.
Aos meus companheiros de repblica, Cassio e Olivine, que os conheci no primeiro ano
de graduao e desde ento passamos a ter muita afinidade e se tornaram grandes amigos.
Junto aprendemos a dividir no apenas um espao fsico, mas tambm assuntos acadmicos,
divertidos e pessoais.
Agradeo a Gil e a Day por serem aqui em So Carlos minhas irms.
Aos outros amigos de graduao, Kmelli e Samuel que esto tambm vivendo em So
Carlos e sempre pude contar com a amizade deles.
Aos meus amigos de laboratrio, principalmente ao grupo de Computao Grfica e
Gerao de Malhas que me ajudaram infinitamente com minhas dvidas. Cada um deles
sabe o quanto me ajudaram. Os principais so Igor, Helton, Alex e Eduardo.
Agradeo meus orientadores Castelo e Gustavo por tudo que aprendi com eles e por
serem, para mim, exemplos de perseverana, dedicao e simplicidade.
Existem outras pessoas no citadas aqui, algumas por no existirem palavras para des-
crever o quo especiais elas so para mim!
Novamente agradeo a Deus por ter colocado todas estas pessoas fantsticas que fazem
parte da minha vida, da minha histria. E neste momento me recordo da cano da irm
Glenda que fala: Encontrar um amigo encontrar um tesouro.
Ficam aqui meus singelos agradecimentos
Joo Paulo

v
Resumo

Representaes computacionais de formas podem ser criadas em ferramentas CAD ou


geradas a partir de um objeto fsico j existente. Esta ltima abordagem oferece como van-
tagens rapidez e fidelidade ao objeto original, que so os aspectos fundamentais em muitas
aplicaes, como Simulaes Numricas de Equaes Diferenciais Parciais e Imagens Mdi-
cas.
A reconstruo (ou gerao de malhas superficiais) a partir de pontos amostrados de uma
superfcie de um objeto um problema clssico de representao de formas.
Nesta dissertao apresentamos um vasto levantamento bibliogrfico deste tipo de recons-
truo, classificando e descrevendo os principais trabalhos presentes na literatura. A partir do
levantamento bibliogrfico, selecionamos um conjunto de algoritmos sobre os quais foram
realizadas comparaes tericas e empricas cujos resultados so apresentados.
Para finalizar, apresentamos aplicaes de nossas implementaes em Simulao Num-
rica de Equaes Diferenciais Parciais e Processamento de Imagens.

vii
Abstract

Computational representations of shapes can be developed using CAD applications or


created from data acquired from a real physical object. This latter is advantageous with
respect to time and fidelity to the original object which are essential to several applications,
such as Numerical Simulation of Partial Differential Equations and Medical Imaging.
A classical shape representation problem is that of reconstruction (or superficial mesh
generation) from points sampled over the surface of an object.
In this Masters thesis we describe a broad survey of these reconstruction methods. We
focus in the classification and characterization of the main algorithms proposed in the lite-
rature. From this survey, we selected some algorithms and conducted some theoretical and
practical comparisons.
We conclude this work describing applications of the algorithms implemented in Nume-
rical Simulations of Differential Partial Equations and Image Processing.

ix
Sumrio

1 Introduo 1
1.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Organizao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Conceitos Bsicos 9
2.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Fundamentos tericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos 25


3.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Mtodos baseados em esculpimento . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Mtodos baseados em funo implcita . . . . . . . . . . . . . . . . . . . . . 37
3.4 Mtodos incrementais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Mtodos baseados em modelos deformveis . . . . . . . . . . . . . . . . . . 43
3.6 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4 A famlia Crust 45
4.1 -skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Garantindo a reconstruo . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3 Crust 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 Comparaes entre o crust e o -skeleton . . . . . . . . . . . . . . . . . . . 58
4.5 Crust 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.6 Power crust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.7 Cocone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.8 Tight cocone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.9 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5 Implementaes 71
5.1 As triangulaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 Entrada/Sada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3 Algoritmos bidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4 Raw crust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5 Power crust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

xi
5.6 Rudos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.7 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6 Comparaes e exemplos 89
6.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7 Aplicaes 103
7.1 Simulao numrica de E.D.P.s . . . . . . . . . . . . . . . . . . . . . . . . 103
7.2 Deteco de contornos via Geometria Computacional . . . . . . . . . . . . . 105
7.3 Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

8 Concluso 119
Lista de Figuras

1.1 Reconstruo a partir de sees planares: a) conjunto de fatias de um dente,


b) reconstruo do dente segundo a tcnica descrita por Nonato (Nonato et al.,
2001). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Alguns exemplos de scanners 3D aplicados a objetos de diferentes tamanhos
(retiradas do site http://www.cyberware.com/). . . . . . . . . . . . . . . . . . 3
1.3 Seqncia de tarefas bsica para o conjunto de algoritmos de reconstruo a
partir de nuvens de pontos: a) coleta de dados utilizando um scanner 3D, b)
dados de entrada para algoritmos de reconstruo, c) reconstruo do modelo. 4
1.4 Exemplo de uma malha bidimensional em um espao tridimensional. . . . . . 5
1.5 Malha volumtrica gerada a partir da fronteira definida por um algoritmo de
reconstruo a partir de nuvens de pontos. . . . . . . . . . . . . . . . . . . . 5

2.1 Exemplo bidimensional do fecho convexo de um conjunto de pontos. . . . . . 10


2.2 Objetos topologicamente equivalentes. . . . . . . . . . . . . . . . . . . . . . 11
2.3 Objetos que no so topologicamente equivalentes. Em a) duas regies planas,
uma contendo um buraco e em b) uma esfera e um cilindro sem suas tampas. 12
2.4 Exemplo de uma variedade de dimenso 2 imersa em R3 . a) toma-se um
aberto em interseco com a variedade M (regio hachurada de M ) difeo-
morfo a um aberto de H2 , dado por b). . . . . . . . . . . . . . . . . . . . . . 12
2.5 Exemplos de variedade: a) variedade com bordo, b) variedade sem bordo. . . 13
2.6 Exemplos de no-variedade imersas em R3 . . . . . . . . . . . . . . . . . . . 13
2.7 Em a) exemplos de curvas suaves, em b) curvas no suaves. . . . . . . . . . . 14
2.8 a) 0-simplexo, b) 1-simplexo, c) 2-simplexo, d) 3-simplexo. . . . . . . . . . . 15
2.9 a) Exemplo de um complexo simplicial, b) no define um complexo simpli-
cial. Note que existem interseces que no definem uma face. . . . . . . . . 16
2.10 a) 2-variedade, b) 2-variedade linear por partes. . . . . . . . . . . . . . . . . 18
2.11 As regies hachuradas definem a) a estrela de uma aresta e e b) a estrela de
um vrtice v. As arestas mais largas indicam seus respectivos links da aresta
e e do vrtice v. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.12 Diagrama de Voronoi (dos pontos sem preenchimento) em linhas contnuas.
Em linhas pontilhadas, seu dual, a triangulao de Delaunay (definio 29). . 19
2.13 Exemplo de uma triangulao de Delaunay de um conjunto de 100 pontos no
plano Euclidiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

xiii
2.14 Exemplo de uma triangulao de Delaunay com peso: Os crculos verdes so
os pontos com peso. Em azul, a triangulao de Delaunay com peso e em
vermelho o power diagrama. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.15 Exemplo do eixo medial de uma curva (linhas pontilhadas). . . . . . . . . . . 23
2.16 Exemplo bidimensional do local feature size LF S(p) = ||p m||. . . . . . . 23
2.17 Curvas que exemplificam quais regies necessitam de maior nmero de pon-
tos (regies no interior dos crculos tracejados): a) em regies de maior cur-
vatura e b) em regies de "estrangulamento". As linhas pontilhadas represen-
tam o eixo medial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Exemplo bidimensional dos itens que um mtodo de reconstruo tenta sa-
tisfazer: a) curvas no homeomorfas, mas prximas; b) curvas homeomorfas
mas no prximas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Exemplo bidimensional do mapeamento de um tringulo para um domnio
anisotrpico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Representao do ngulo para malhas normalizadas. . . . . . . . . . . . . . 31
3.4 Tetraedro sliver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Exemplos de valores de para a aresta definida por a e b. . . . . . . . . . . . 33
3.6 Contra-exemplos de guarda-chuva 3D (figura do trabalho de Adamy (Adamy
et al., 2002)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7 Os pontos crticos so os pontos em que a derivada da funo se anula. M
representa os mximos locais, m os mnimos locais e S o ponto de sela. . . . 35
3.8 Exemplo que caracteriza os pontos crticos definido pela funo 3.2. . . . . . 36
3.9 Descrio do processo de estimativa das curvaturas da superfcie e da malha
proposta por Huang e Menq. . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 Regies proibidas: a) = 1, b) > 1. . . . . . . . . . . . . . . . . . . . . . 47


4.2 Interpretao geomtrica do teorema 2. Em linhas contnuas temos a curva
C, em tracejados, o eixo medial. A circunferncia, em pontilhado, representa
a interpretao do teorema. . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3 O crculo, em pontilhado, representa um disco de Voronoi curvo. . . . . . . . 49
4.4 Descrio geomtrica que caracteriza a observao 13. . . . . . . . . . . . . 50
4.5 Figura utilizada no teorema 7. . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6 Descrio geomtrica da observao 15. . . . . . . . . . . . . . . . . . . . . 52
4.7 Descrio geomtrica do teorema 9. . . . . . . . . . . . . . . . . . . . . . . 53
4.8 A garantia da reconstruo da curva original se d para valores na regio
hachurada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9 Construindo a contradio do teorema 13. . . . . . . . . . . . . . . . . . . . 56
4.10 Representao geomtrica da contradio do teorema 14. . . . . . . . . . . . 57
4.11 Nota-se que o ngulo maior que seu correspondente ngulo do outro lado. 57
4.12 A clula de Voronoi para superfcies r-amostradas so finas e compridas
(fonte: http://www.cs.utexas.edu/users/amenta/powercrust/). . . . . . . . . . 61
4.13 (Fonte: http://www.cs.utexas.edu/users/amenta/powercrust/) Descrio do po-
wer crust em sua verso 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.14 ngulo formado entre a interseco de duas bolas polares. . . . . . . . . . 64
4.15 Exemplos em que a unio de bolas polares internas determinam aproximaes
dos objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.16 Cocone (em azul) de pice em p. n o vetor normal, p+ e p so os plos de
p. VP a clula de Voronoi de p. . . . . . . . . . . . . . . . . . . . . . . . . 68
4.17 a) e b) exemplos de superfcies water tight, c) e d) superfcies no water tight. 69

5.1 Tetraedros slivers presentes na superfcie dos objetos (em vermelho). . . . . . 75


5.2 ngulo entre as esferas: exemplo bidimensional. . . . . . . . . . . . . . . . 77
5.3 Diagrama de Voronoi em vermelho, em linhas contnuas pretas, arestas de
Delaunay. Nomeado a bola polar p, alteram-se as prioridades das bolas po-
lares q, pelo valor do ngulo = psq.
c . . . . . . . . . . . . . . . . . . . . . 78
5.4 Comparao entre o algoritmo de rotulao dos plos terico (algoritmo 8)
e prtico (algoritmo 9): Em a) b) e c) o conjunto de pontos, em d) e) e f) a
sada do algoritmo quando aplicado o algoritmo terico, em g) h) e i) quando
aplicado o algoritmo prtico. . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.5 Estratgia para reduo dos clculos necessrios para determinao do orto-
centro: a) situao inicial, b) nesta etapa realiza-se a translao do tetraedro
para a origem do sistema de coordenadas e feito o clculo do ortocentro
para o tetraedro transladado, c) translada-se novamente o tetraedro para sua
posio inicial e conseqentemente seu ortocentro. . . . . . . . . . . . . . . 82
5.6 Representando variedade com bordo: a) exemplo de meio toro. Note que nos
extremos do objeto as bolas polares internas esto entre o interior e o exterior,
b) omitindo as faces do power diagrama destas esferas e c) verso original do
power crust do objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.7 Exemplos de ngulos entre as faces: a) apenas duas arestas (negrito) sofrem
grande variao entre as normais das faces que as compartilham, b) vrias
arestas sofrem variaes entre as normais das faces. . . . . . . . . . . . . . . 84
5.8 Aplicao do filtro laplaciano: a) objeto original, b) aplicao de 500 vezes o
filtro laplaciano, c) aplicao de 10000 o filtro laplaciano. . . . . . . . . . . . 85
5.9 Gerao de uma malha triangular a partir de uma malha hbrida: a) malha
triangular do objeto apresentado na figura 5.8-a), b) malha triangular com
aplicao do filtro laplaciano com 1000 iteraes, c) zoom in de a) e d)
zoom-in de b) na mesma posio de c). . . . . . . . . . . . . . . . . . . . 86
5.10 Exemplo do teste das clulas de Voronoi para deteco de rudos: a) trian-
gulao de Delaunay do conjunto de pontos (em vermelho as identificaes
de rudos), b) reconstruo sem a remoo dos rudos, c) reconstruo com a
remoo dos rudos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.1 Reconstruo de mltiplas componentes conexas: Em a) e b) observamos a


reconstruo utilizando o power crust e em c) e d) reconstruo utilizando o
tight cocone que ignorou completamente as componentes conexas internas. . 90
6.2 Resultados diferentes das implementaes do power crust: Em a) temos a
reconstruo da lebre (1000 pontos) com a verso original do power crust,
em b) temos a nossa implementao. . . . . . . . . . . . . . . . . . . . . . . 93
6.3 Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos,
b) -skeleton, c) crust e d) power crust (a reconstruo no est prxima). . . 94
6.4 Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos,
b) -skeleton, c) crust e d) power crust. . . . . . . . . . . . . . . . . . . . . 94
6.5 Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos,
b) -skeleton, c) crust e d) power crust. . . . . . . . . . . . . . . . . . . . . 94
6.6 Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos,
b) -skeleton, c) crust e d) power crust. . . . . . . . . . . . . . . . . . . . . 95
6.7 Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos,
b) -skeleton, c) crust e d) power crust. . . . . . . . . . . . . . . . . . . . . 95
6.8 Exemplos de -shape: Nestes exemplos buscamos os melhores valores de
para representao dos objetos. a) Buda (50000 pontos com = 40), b)
lebre (1000 pontos com = 50), c) cacto (3500 pontos com = 18), d)
salsichas (1700 pontos com = 17), e) lebre (30000 pontos com = 40), f)
mo (36000 pontos com = 37), g) e f) drago com diferentes valores de
(10000 pontos com = 35 e = 44 respectivamentes) e h) toro (500 pontos
com = 50). Vale lembrar que o intervalo dos possveis valores de alpha
para esta implementao [0,100], em que 0 a nuvem de pontos e 100 o
fecho convexo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.9 Exemplos do raw crust: a) sela (1900 pontos), b) parabolide (1400 pontos)
c) pea mecnica (4100 pontos), d) zoom-in de c), e) feto (1000 pontos), f)
Buda (50000 pontos), g) zoom-in de f), h) tnis (2000 pontos), i) sola do
tnis de h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.10 Exemplos do cocone: a) dente (4000 pontos), b) espinha dorsal (22000 pon-
tos), c) ps (120000 pontos), d) Beethovem (2600 pontos), e) zoom-in de
d) (presena de buracos), f) vaca (3000 pontos), g) zoom-in de f) (presena
de buracos), h) gato (10000 pontos), i) zoom-in de h) (presena de buracos). 99
6.11 Exemplos do tight cocone: a) feto (1000 pontos), b) tnis (2000 pontos)
c)zoom-in de b) (presena de buracos), d) pea mecnica (4100 pontos),
e) tricertopes (2800 pontos), f) zoom-in de e), g) porche ( 6100 pontos),
h) distribuidor (12700 pontos ), i) manequim (12700 pontos). . . . . . . . . . 100
6.12 Exemplos do power crust: a) pea mecnica (4100 pontos), b) mo (36000
pontos), c) bomba de leo (31000 pontos), d) feto (1000 pontos), e) espinha
dorsal (22000 pontos), f) drago (1400 pontos), g) drago (10000 pontos), h)
Buda (10000 pontos), i) monstro (24800 pontos). . . . . . . . . . . . . . . . 101

7.1 Exemplo da aplicao da equao do calor metade de um tro: a) condio


inicial, b) 200 iteraes, c) 600 iteraes, d) 800 iteraes, e) 1200 iteraes,
f) 1400 iteraes, g) 1600 iteraes, h) 2000 iteraes. . . . . . . . . . . . . 106
7.2 Exemplo da aplicao da equao do calor: a) condio inicial, b) 200 iter-
aes, c) 600 iteraes, d) 1000 iteraes, e) 1200 iteraes, f) 1600 iteraes,
g) 1700 iteraes, h) 2000 iteraes. . . . . . . . . . . . . . . . . . . . . . . 107
7.3 Exemplo da aplicao da equao do calor: a) condio inicial, b) 200 iter-
aes, c) 800 iteraes, d) 1000 iteraes, e) 1400 iteraes, f) 2000 iteraes. 108
7.4 Exemplo de triangulaes de Delaunay com peso sobre uma imagem cujos
pesos dos vrtices so o valor da convoluo no pixel: a) imagem original, b)
peso obtido pelo Laplaciano, c) peso obtido pelo Sobel e d) peso obtido pelo
Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.5 Representao de uma aresta e da triangulao de Delaunay com peso. . . . 111
7.6 Aplicao da etapa de ps-processamento que analisa a variao das inten-
sidades das cores nos tringulos: a) imagem sem o ps-processamento, b)
imagem aplicada o ps-processamento. . . . . . . . . . . . . . . . . . . . . 112
7.7 Exemplo de resultados da deteco de contornos via triangulao de Delau-
nay com peso 7.4: a) imagem original, b) Laplaciano da imagem, c) trian-
gulao de Delaunay com peso sobre a imagem cujos pesos dos pontos so
= 0.1 do laplaciano no ponto. . . . . . . . . . . . . . . . . . . . . . . . . 112
7.8 Exemplo de resultados deteco de contornos via a triangulao de Delaunay
com peso da imagem 7.4: a) Laplaciano, b) deteco do contorno com pesos
originados do Laplaciano, c) Sobel, d) deteco do contorno com pesos orig-
inados do Sobel, e) Laplaciano do Gaussiano, f) deteco do contorno com
pesos originados do Laplaciano do Gaussiano. . . . . . . . . . . . . . . . . . 113
7.9 Aplicando o threshold aos pesos durante o processo de triangulao no in-
serindo pontos com peso inferior a : a) Laplaciano, b) Sobel, c) Laplaciano
do Gaussiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.10 Aplicao do mtodo de remoo de rudos proposto por Amenta (captulo 5,
seo 5.6) aliado aos algoritmos crust e power crust: a) crust sem remoo
de rudos, b) crust com remoo de rudos, c) power crust, d) power crust
com remoo de rudos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.11 Aplicao da tcnica de deteco de contornos via triangulao de Delaunay
com peso em uma imagem ruidosa: a) imagem original, b) laplaciano da
imagem, c) deteco do contorno via triangulao de Delaunay com peso, d)
deteco do contorno cuja triangulao no contm pontos cujo peso menor
que ( = 1/10 do maior valor de laplaciano da imagem), e) crust, f) power
crust. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Lista de Tabelas

5.1 Raw crust: Atravs desta tabela possvel verificar o nmero de tetraedros
slivers e o nmero de faces presentes em alguns modelos. . . . . . . . . . . . 75

6.1 Informaes tericas dos algoritmos. A segunda coluna refere ao tipo de


malha, a terceira coluna indica se o algoritmo apresenta garantias tericas
e a ltima coluna diz se, em geral, os algoritmos apresentam semelhanas
geomtricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2 Custo computacional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 Vantagens e desvantagens de cada mtodo (*esta implementao lenta, pois
o algoritmo pr-calcula 100 valores de ), (** pontos Steiner so os pontos
utilizados por um algoritmo que no so parte da amostragem). . . . . . . . . 92
6.4 Teste prtico: Para quais modelos garantiu-se homeomorfismo (* nmero de
pontos). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.5 Tempo de execuo em segundos (* nmero de pontos). . . . . . . . . . . . . 92
6.6 Tempo de execuo em segundos (* nmero de pontos): Comparao entre a
implementao original do power crust (Hull e a nossa implementao (CGAL). 93

7.1 Matrizes de convoluo utilizadas pelo mtodo desenvolvido para deteco


de contornos em imagens via Geometria Computacional. . . . . . . . . . . . 111

xix
Lista de Algoritmos

1 Heurstica baseada em permetro das faces . . . . . . . . . . . . . . . . . . . 28


2 Heurstica baseada nos EM ST e EGH . . . . . . . . . . . . . . . . . . . . 32
3 -skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Crust 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 raw crust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6 Clculo de plos para o raw crust . . . . . . . . . . . . . . . . . . . . . . . 60
7 Power crust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8 Nomeia as bolas polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9 Algoritmo prtico de rotulao dos plos . . . . . . . . . . . . . . . . . . . . 79
10 Lista::atualize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11 Classifica arestas que representam o contorno da imagem . . . . . . . . . . . 110

xxi

C APTULO

1
Introduo

Nas ltimas duas dcadas foram propostos muitos algoritmos de Reconstruo de Superf-
cies, tambm denominada na literatura como Gerao de Malhas Superficiais ou Modelagem
Geomtrica via Complexo Celular. Algoritmos de reconstruo esto presentes em diferentes
campos de pesquisa, por exemplo em Simulao Numrica de Equaes Diferenciais Parciais
e em Imagens Mdicas, dois exemplos de aplicaes que tm motivado grupos de pesquisa
de todo o mundo a desenvolver mtodos de reconstruo melhores e mais eficientes.
O conjunto de algoritmos de reconstruo pode ser subdividido em duas classes, discuti-
das a seguir.
A primeira classe engloba os algoritmos de Reconstruo a partir de Sees Planares. O
problema de reconstruo surgiu na rea de Imagens Mdicas, motivado por equipamentos
de aquisio como aparelhos de Ressonncia Magntica e de Tomografia Computadorizada,
que capturam seqncias de imagens bidimensionais de um objeto tridimensional. Essas
imagens so entradas para um processo que gera uma representao tridimensional do objeto
em estudo.
Os procedimentos bsicos para definir tal representao tridimensional a partir das sees
bidimensionais so:

Detectar os contornos de cada imagem;

Gerar os pontos sobre estes contornos;

Conectar os contornos de modo a definir uma representao tridimensional.

1
2 Captulo 1 Introduo

A figura 1.1 apresenta uma seqncia de contornos e a reconstruo final obtida por um
algoritmo de reconstruo proposto por Nonato (Nonato et al., 2001). Outros algoritmos
de reconstruo a partir de sees planares foram propostos, por exemplo por Boissonnat
(Boissonnat, 1988) e Vargas (Vargas et al., 2002).

a) b)

Figura 1.1: Reconstruo a partir de sees planares: a) conjunto de fatias de um dente, b)


reconstruo do dente segundo a tcnica descrita por Nonato (Nonato et al., 2001).

A segunda classe de algoritmos de reconstruo mais recente e engloba algoritmos de


Reconstruo a partir de Nuvens de Pontos. Para esta classe, os pontos no so amostrados
a partir de sees planares, e no existem, a princpio, relaes entre os pontos (por exemplo
pontos distribudos sobre um mesmo plano). Tais amostragens de pontos so fornecidas por
radares, sondas ssmicas, pontos amostrados em superfcies implcitas e principalmente por
scanners 3D. A figura 1.2 apresenta alguns modelos de scanners 3D aplicados a objetos de
diferentes tamanhos.
Na figura 1.3 apresentado um esquema tpico de reconstruo a partir de nuvens de
pontos. A figura 1.3-a) exibe um scanner 3D para captura dos dados que definem uma amos-
tragem de pontos em R3 , a qual ilustrada na figura 1.3-b). Estes dados so utilizados por
algoritmos que retornam uma superfcie que define o objeto (figura 1.3-c) ). No captulo
3 apresentamos uma definio formal do problema de Reconstruo a partir de Nuvens de
Pontos, sendo que o foco desta dissertao o estudo de algoritmos desta classe.
Alm da aplicao em reconstruo de imagens mdicas, os mtodos de reconstruo
tambm se aplicam Gerao de Malhas para Simulao Numrica de Equaes Diferen-
ciais Parciais (E.D.P.s) (Babuska, 1995). Modelos gerados por algoritmos de reconstruo
de superfcie em R3 so utilizados de duas maneiras distintas para simulao numrica de
E.D.P.s: A primeira usa os modelos gerados diretamente, isto , para simulao sobre um
domnio originalmente bidimensional (figura 1.4). A segunda utiliza os modelos gerados
como fronteira de um domnio em que gerada uma malha volumtrica (figura 1.5).
1.1 Contribuies 3

a) b) c)

d)

Figura 1.2: Alguns exemplos de scanners 3D aplicados a objetos de diferentes tamanhos


(retiradas do site http://www.cyberware.com/).

1.1 Contribuies

Destacamos como principais contribuies desta dissertao:


Levantamento bibliogrfico. Existem muitos trabalhos na rea de gerao de malhas
superficiais a partir de nuvens de pontos. Neste trabalho buscamos focalizar na classificao,
compreenso e, principalmente na descrio de maneira sucinta e clara dos trabalhos propos-
tos na literatura.
4 Captulo 1 Introduo

Figura 1.3: Seqncia de tarefas bsica para o conjunto de algoritmos de reconstruo a partir
de nuvens de pontos: a) coleta de dados utilizando um scanner 3D, b) dados de entrada para
algoritmos de reconstruo, c) reconstruo do modelo.
1.1 Contribuies 5

Figura 1.4: Exemplo de uma malha bidimensional em um espao tridimensional.

a) b)

Figura 1.5: Malha volumtrica gerada a partir da fronteira definida por um algoritmo de
reconstruo a partir de nuvens de pontos.

Comparao entre mtodos. O levantamento bibliogrfico realizado permitiu escolher


tcnicas recentes e interessantes para implementar e comparar com outras tcnicas presentes
na literatura (Gois et al., 2003). Poucos trabalhos encontrados na literatura realizam com-
paraes tericas e prticas, de forma simultnea, desses algoritmos. Apresentamos aqui
comparaes tericas e as primeiras comparaes prticas entre alguns algoritmos de recons-
truo. Acreditamos que a realizao de tais comparaes necessria para o amadureci-
mento da rea, pois muitos trabalhos existentes na literatura deixam uma idia muito vaga da
eficincia dos algoritmos e apresentam poucos exemplos prticos de reconstruo.
Aplicaes dos modelos gerados em simulaes de E.D.P.s. Os modelos gerados por
nossas implementaes de algoritmos clssicos da literatura deram origem a fronteiras de ob-
jetos tridimensionais nas quais foram geradas malhas volumtricas utilizadas como domnios
3D para simulaes de E.D.P.s pelo mtodo de Volume Finitos (Maliska, 1995).
Aplicao em Processamento de Imagens. Aplicamos o arcabouo terico de Geome-
tria Computacional e de Reconstruo de Curvas em Processamento de Imagens, para a de-
teco de contornos de interesse em imagens. Nossa inteno nestas aplicaes, consiste em
6 Captulo 1 Introduo

substituir a anlise do threshold em cada pixel por testes geomtricos, como por exemplo o
teste proposto por Amenta (Amenta et al., 2001a).

1.2 Organizao do trabalho

Organizamos a dissertao da seguinte maneira:

Captulo 2 - Conceitos bsicos: Inicialmente apresentado um breve histrico das reas


de Geometria e Topologia Computacional. Em seguida, um conjunto de definies
apresentado para o enquadramento do leitor. Procuramos, para facilitar a compreenso
dos conceitos, apresentar ilustraes e exemplos. Ainda para no tornar a leitura deste
captulo cansativa, buscamos esclarecer, quando julgamos necessrio, em que momento
do trabalho as definies sero necessrias.

Captulo 3 - Levantamento Bibliogrfico: Neste captulo apresentado um vasto levan-


tamento bibliogrfico da rea de reconstruo de superfcies a partir de nuvens de pon-
tos. Nossas metas neste captulo so: i) apresentar os trabalhos mais recentes e citados
na literatura e enquadr-los em cada sub-rea de Reconstruo a partir de Nuvens de
Pontos; ii) focar as principais caractersticas de cada trabalho conforme a idia central
proposta pelos seus autores, isto , os trabalhos so, em geral, caracterizados por trs
itens: fundamentao terica, algoritmo e detalhes de implementao, sendo que geral-
mente cada autor direciona o trabalho a um desses trs itens acima. Buscamos seguir
a linha de raciocnio de cada autor para preservar a essncia dos trabalhos. Provavel-
mente o leitor notar que as descries dos trabalhos tm enfoques diferentes.

Captulo 4 - Famlia Crust: O levantamento bibliogrfico deste captulo trata de um


conjunto especial de algoritmos, aqueles que foram os primeiros a apresentar garantias
tericas de reconstruo, isto , que definem as condies de amostragem que garantem
que a reconstruo homeomorfa e prxima ao objeto original.

Captulo 5 - Implementaes: Neste captulo so descritas as implementaes realiza-


das ao longo deste trabalho. Iniciamos com uma breve descrio da biblioteca CGAL -
Computational Geometry Algorithms Library (CGAL, 2004), com nfase no pacote de
triangulaes (Boissonnat et al., 2002). Em seguida, focamos na descrio de nossas
implementaes. Adaptaes e extenses realizadas nos algoritmos originais tambm
1.2 Organizao do trabalho 7

so apresentadas. Implementamos trs algoritmos bidimensionais (-skeleton, crust e


power crust) e dois tridimensionais (raw crust e power crust).

Captulo 6 - Comparaes e exemplos: As comparaes realizadas neste captulo so


uma das principais contribuies deste trabalho. Realizamos comparaes tericas e
prticas do desempenho de algoritmos baseados em esculpimento que utilizam a bi-
blioteca CGAL.

Captulo 7 - Aplicaes: Apresentamos duas aplicaes como resultados dos nossos


estudos. A primeira consiste na simulao numrica de uma Equao Diferencial Par-
cial (E.D.P.) em que as fronteiras dos objetos dos domnios simulados foram obtidos
por meio de reconstrues realizadas com os algoritmos implementados. Na segunda
aplicao utilizamos resultados de Geometria Computacional e de reconstruo para os
processos de deteco de contornos de imagens.

Captulo 8 - Concluso: Conclumos este trabalho relatando os principais tpicos ob-


servados durante esta pesquisa e apresentando algumas sugestes de trabalhos futuros.
8 Captulo 1 Introduo
C APTULO

2
Conceitos Bsicos

2.1 Consideraes iniciais

Geometria Computacional tornou-se uma rea muito produtiva nos ltimos 20 anos com
aplicaes em muitos campos de pesquisa, tais como CAD, Robtica e Computao Grfica.
Geometria Computacional foca principalmente problemas discretos envolvendo conjunto de
pontos, polgonos, poliedros e tcnicas combinatrias para resolver problemas de ordem geo-
mtrica. Bern e Eppstein argumentam que existe a necessidade de extender a Geometria
Computacional, com nfase na eficincia e robustez, para domnios contnuos, superfcies
curvas e altas dimenses (Bern e Eppstein, 1999).
Bern e Eppstein utilizam o nome Topologia Computacional para englobar tanto questes
de desenvolvimento de algoritmos para soluo de questes topolgicas (por exemplo, re-
conhecimento de ns) quanto questes topolgicas em algoritmos (por exemplo, em nossos
estudos, quando uma reconstruo por nuvens de pontos preserva a topologia do objeto ori-
ginal).
Na prxima seo apresentamos definies e nomenclaturas pertinentes Geometria e
Topologia Computacional que sero utilizadas no decorrer deste trabalho.

9
10 Captulo 2 Conceitos Bsicos

2.2 Fundamentos tericos

Nesta seo apresentamos um conjunto de definies e nomenclaturas. No decorrer do


trabalho apresentaremos outras definies conforme a necessidade de cada tema. Considere-
mos que o leitor tenha conhecimento das definies bsicas de Clculo Diferencial e Integral
(por exemplo continuidade e diferenciabilidade), Espaos Mtricos (conjunto limitado, con-
junto fechado, combinao linear convexa, bola aberta) e lgebra Linear (espaos e sube-
spaos vetoriais).

Definio 1 (Espao Euclidiano) Chamaremos de Espao Euclidiano de dimenso n como


sendo o espao Rn dotado da mtrica euclidiana usual, isto , dado dois pontos p = (p1 , ..., pn ),
q = (q1 , ..., qn ) Rn , medimos a distncia entre p e q por:

p
||p q|| = (p1 q1 )2 + ... + (pn qn )2

Definio 2 (Fecho Convexo) Dado um conjunto de pontos P Rn , o conjunto de todas


as combinaes lineares convexas, dado pela equao 2.1, exprime a definio de fecho
convexo (figura 2.1).

n
X n
X
Conv(P ) = i p i , i = 1, i 0, i R, pi P (2.1)
i=1 i=1


  
 

  

   
  
 


   



  
 

  

  

Figura 2.1: Exemplo bidimensional do fecho convexo de um conjunto de pontos.

O fecho convexo Conv(P ) pode ser visto como o menor conjunto convexo que contm
os pontos de P . O fecho convexo ser utilizado para as definies de triangulao (definio
26) e triangulao de Delaunay (definio 29).
2.2 Fundamentos tericos 11

Definio 3 (Homeomorfismo) Sejam os conjuntos U Rn e V Rm . Dizemos que uma


funo f : U V um homeomorfismo se f e f 1 so contnuas. Neste caso U e V so
ditos homeomorfos.

Definio 4 (Difeomorfismo) Dizemos que f : U V um difeomorfismo de classe C r se


f e f 1 so diferenciveis de classe C r . Neste caso U e V so ditos difeomorfos.

Se um difeomorfismo f de classe C 0 dizemos que f um homeomorfismo.

Observao 1 Em geral, quando nos referimos a U e V como sendo homeomorfos, dizemos


que U e V so topologicamente equivalentes. Por exemplo, o cubo, o tetraedro e a esfera
so topologicamente equivalentes. Na figura 2.2 apresentamos conjuntos que so topologi-
camente equivalentes. J na figura 2.3 apresentamos conjuntos que no so topologicamente
equivalentes.

a)



 
 
 


 

  






 
 


 
 
  




   
 

 
  


 
  
  
  
 
  

b)

Figura 2.2: Objetos topologicamente equivalentes.

Definimos semi-espao para caracterizarmos variedade e conseqentemente apresentar-


mos a definio de superfcie.

Definio 5 (Semi-Espao) Define-se por um semi-espao de dimenso n o conjunto Hn =


{(x1 , ..., xn ) Rn |x1 0}.
12 Captulo 2 Conceitos Bsicos




 
 



 
 


 
a)

b)

Figura 2.3: Objetos que no so topologicamente equivalentes. Em a) duas regies planas,


uma contendo um buraco e em b) uma esfera e um cilindro sem suas tampas.

Definio 6 (Variedade) O conjunto M Rk uma variedade de dimenso n e classe C r


se para todo x M existem uma vizinhana aberta U 3 x, com U Rk , V aberto de Hn e
um difeomorfismo de classe C r : U M V (figura 2.4).


 
    



  

 


   
 V 

M

 
 





 
 


 


 V
3
R 2
H

a) b)

Figura 2.4: Exemplo de uma variedade de dimenso 2 imersa em R3 . a) toma-se um aberto


em interseco com a variedade M (regio hachurada de M ) difeomorfo a um aberto de H2 ,
dado por b).

Observao 2 Se na definio 6 existir e U M com (e) = (h1 , ..., hn ) Hn , com


h1 = 0, ento dizemos que a variedade com bordo. Caso contrrio a variedade dita sem
bordo (figura 2.5).
2.2 Fundamentos tericos 13

a) b)

Figura 2.5: Exemplos de variedade: a) variedade com bordo, b) variedade sem bordo.

Observao 3 Os pontos x satisfazendo as condies de variedade so ditos pontos regula-


res. Se M no uma variedade ento os pontos que no satisfazem as condies de variedade
so ditos pontos singulares.

A figura 2.6 apresenta exemplos de conjuntos que no so variedades.




        


Figura 2.6: Exemplos de no-variedade imersas em R3 .

Definio 7 (Superfcie) Uma superfcie S R3 uma 2-variedade imersa em R3 .


14 Captulo 2 Conceitos Bsicos

A seguinte definio utilizada, em geral, como condio necessria para os algoritmos


de reconstruo.

Observao 4 (Variedades suaves) Se M uma variedade, limitada e de classe C k , k 2,


dizemos que a variedade suave. Casos particulares ocorrem quando M uma 1-variedade,
que denominamos de curva suave (figura 2.7) e se M for uma 2-variedade, denominamos de
superfcie suave.

a) b)

Figura 2.7: Em a) exemplos de curvas suaves, em b) curvas no suaves.

Definio 8 (Amostragem) Uma amostragem de uma variedade M um conjunto finito de


pontos de M .

Em geral os algoritmos de reconstruo a partir de nuvens de pontos assumem como


entrada uma amostragem de uma variedade suave e tem como sada uma variedade linear
por partes (definio 22).
De maneira intuitiva, podemos pensar no genus de um objeto como sendo o nmero de
buracos nele contido. Os objetos da figura 2.2-a) tem genus 0 e os da figura 2.2-b) tm genus
2 (considerando as partes hachuradas como sendo os buracos das sees planares).
Apresentamos as seguintes definies para caracterizarmos os conceitos de triangulao,
triangulao de Delaunay e seu dual, o diagrama de Voronoi.

Definio 9 (Esfera S n ) Uma esfera S n de centro em c = (c0 , ..., cn ) e raio r o conjunto


dos pontos X = {p Rn+1 /p = (x0 , x1 , ..., xn )} tal que:
q
(x0 c0 )2 + (x1 c1 )2 + ... + (xn cn )2 = r

Definio 10 (Subespao Afim) Definimos um subespao afim como sendo um subespao


vetorial transladado da origem.
2.2 Fundamentos tericos 15

Definio 11 (Posio Geral) Dizemos que um conjunto de pontos X Rn est em posio


geral se:

1. Nenhum subespao afim contm X;

2. Nenhuma esfera S n1 intercepta mais de n + 1 pontos de X.

Definio 12 (Simplexo) Um n-simplexo Rn o fecho convexo de n + 1 pontos em


posio geral (figura 2.8).

a) b) c) d)

Figura 2.8: a) 0-simplexo, b) 1-simplexo, c) 2-simplexo, d) 3-simplexo.

Definio 13 (Face) Se um n-simplexo formado pelos pontos X = {x0 , ..., xn }, qualquer


l-simplexo dado por um subconjunto de l + 1 com l < n elementos de X face de .

Definio 14 (Fronteira de um n-simplexo) A fronteira de um n-simplexo , denotada por


, consiste de todos os (n k)-simplexos contidos em , 0 < k n.

Cada simplexo na fronteira de S uma face de S. Um k-simplexo na fronteira denomi-


nado k-face.
Pode ser mostrado (Munkres, 1984) que um n-simplexo contm exatamente n+1

k+1 k-
simplexos como faces e mais:

n
!
X n +1
= 2n+1
k=1
k+1
16 Captulo 2 Conceitos Bsicos

Definio 15 (Complexo Simplicial) Um complexo simplicial C um conjunto finito de


simplexos satisfazendo:

1. Se um simplexo em C e 0 uma de suas faces, ento 0 tambm pertence a C.

2. Se 1 e 2 so dois simplexos de C, ento 1 2 ou face de ambos, ou vazia (figura


2.9).

a) b)

Figura 2.9: a) Exemplo de um complexo simplicial, b) no define um complexo simplicial.


Note que existem interseces que no definem uma face.

Definio 16 (Dimenso de um Complexo Simplicial) A dimenso de um complexo sim-


plicial C definida pela dimenso mxima de seus simplexos.

Se um n-simplexo e n > 0, ento a fronteira um complexo simplicial de dimen-


so n 1.

Definio 17 (Clula) A clula (convexa) gerada pelos pontos X = {x0 , ..., xn } dada
pelo fecho convexo de X.

Definio 18 (Dimenso de uma Clula) Seja o conjunto de pontos X = {x0 , ..., xn }. A


dimenso de uma clula o maior nmero de vetores linearmente independentes {x1
x0 , ..., xn x0 }.

Casos particulares so as clulas de dimenso 1, chamadas de arestas, e as clulas de dimen-


so 0, denominadas vrtices.
2.2 Fundamentos tericos 17

Definio 19 (Bordo de uma Clula) O bordo de uma clula , denotado por (), o con-
junto de clulas satisfazendo:

1. Se 0 (), ento 0 gerado por um subconjunto de vrtices de ;

2. p 0 , onde 0 (), no existe uma bola inteiramente contida em 0 de centro em


p, raio r com dimenso de ;

3. 0 1 () e 0 2 () 0 1 * 0 2 e 0 2 * 0 1 .

Definio 20 (Complexo Celular) Seja C uma coleo finita de clulas em Rn . Dizemos


que C um complexo celular de um conjunto K Rn se forem satisfeitas:

1.
[
K=
C

2. Se 1 e 2 C, ento 1 2 = , ou 1 2 C uma face de 1 e 2 .

Os algoritmos de reconstruo que apresentamos neste trabalho geram sadas que so


complexos celulares ou complexos simpliciais.

Definio 21 (Espao Gerado) O espao gerado por um complexo celular C, denotado por
|C| Rn a unio de todos os pontos das clulas de C.

Definio 22 (Variedade Linear por Partes) Seja M Rn uma n-variedade de classe C 0


e M = |C|, onde C um complexo celular, dizemos que M uma Variedade Linear por
Partes de dimenso n (figura 2.10).

Definio 23 (Estrela) A estrela de uma clula S, denotada por Star(S), o conjunto de


clulas de C que contm S (figura 2.11).

Definio 24 (Link) O link de uma clula S, denotado por link(S), o conjunto (Star(S))
(figura 2.11).
18 Captulo 2 Conceitos Bsicos

a) b)


    
Figura 2.10: a) 2-variedade, b) 2-variedade linear por partes.


 
 
 
  
      

 
 
 
   
 
 
 

  e link 
 
 
  
   

 
   
  
     
 v
  
  
 
link
a) b)

Figura 2.11: As regies hachuradas definem a) a estrela de uma aresta e e b) a estrela de um


vrtice v. As arestas mais largas indicam seus respectivos links da aresta e e do vrtice v.

Definio 25 (Grafo) Um grafo G(V, E) definido como um conjunto finito de vrtices V 6=


e um conjunto finito de arestas E, conectando os vrtices de V .

Definio 26 (Triangulao) Seja P Rn um conjunto de pontos. Uma triangulao de P


de dimenso k n um complexo simplicial onde todo simplexo de dimenso m < k est
contido em algum simplexo de dimenso k e os vrtices da triangulao so pontos de P .

Observao 5 Uma triangulao um exemplo de grafo.

Definio 27 (Diagrama de Voronoi) Seja P Rn um conjunto de pontos. Para cada


p, q P , seja B(p, q) = {x : ||x q|| = ||x p||} o bissetor de p e q. Considere o
semi-espao D(p, q) = {x : ||x p|| ||x q||} contendo p, e D(q, p) o semi-espao que
contm q. Define-se por V R(p, P ) = qP,q6=p D(p, q) a regio de Voronoi1 . O diagrama de
T

1
Conhecido tambm como clula de Voronoi.
2.2 Fundamentos tericos 19

Voronoi de P definido por:


[ \
V (P ) = V R(p, P ) V R(q, P )
p,qP,p6=q

A figura 2.12 apresenta um exemplo de diagrama de Voronoi em R2 .




 




 

Figura 2.12: Diagrama de Voronoi (dos pontos sem preenchimento) em linhas contnuas. Em
linhas pontilhadas, seu dual, a triangulao de Delaunay (definio 29).

Definio 28 (Circunsfera) Denominamos de circunsfera de um n-simplexo a esfera S n1


que contm todos os vrtices de . Em R2 denominamos de circuncrculo. O raio da cir-
cunsfera denominado circunraio.

Definio 29 (Triangulao de Delaunay) Seja X = {x0 , ..., xk } Rn , n k, dizemos


que uma triangulao de X de Delaunay se a circunsfera de todo n-simplexo no contm
nenhum outro ponto de X em seu interior (figura 2.13).

Entre as propriedades da triangulao de Delaunay podemos citar (Edelsbrunner, 2001;


Shewchuk, 1997):

O circuncrculo de cada tringulo no contm nenhum outro vrtice da triangulao (


possvel generalizar para Rn ).
20 Captulo 2 Conceitos Bsicos

Maximiza o ngulo mnimo de cada tringulo (vlida somente em R2 );

dual do diagrama de Voronoi (Aurenhammer e Klein, 2000);

nica para pontos em posio geral;

Em R2 possvel obter a triangulao em O(n log n);

Para pontos (x, y) R2 , a triangulao a projeo ortogonal da parte inferior do


fecho convexo dos pontos (x, y, x2 + y 2 ) R3 ( possvel generalizar esta relao para
Rn ) (Edelsbrunner, 2001).

Figura 2.13: Exemplo de uma triangulao de Delaunay de um conjunto de 100 pontos no


plano Euclidiano.

Alguns subconjuntos da triangulao de Delaunay, apresentados a seguir so utilizados


como heursticas para reconstruo de superfcies a partir de nuvens de pontos, descritas no
captulo 3.

Definio 30 (Grafo do Vizinho mais Prximo) O grafo do vizinho mais prximo (Nearest
Neighbour Graph, NNG) de um conjunto de pontos P o grafo NNG(P) = (P,E) tal que
E P P e E = {ek = (pi , pj ), k = 1, ..., n : pj o ponto de P mais prximo de pi }.

Definio 31 (rvore Geradora Mnima Euclidiana) A rvore geradora mnima Euclidi-


ana (Euclidean Minimun Spanning Tree, EMST) a rvore EM ST (P, E) = (P, E), tal que
P
E P P e E = {ek = (pi , pj ), k = 1, ..., n : ||pi pj || mnima}.

Definio 32 (Grafo de Gabriel) O grafo de Gabriel de P o grafo GG(P) = (P,E), definido


por E P P e E ={ek = (pi , pj ), k = 1, ..., n : a menor esfera tocando pi e pj no contm
qualquer outro ponto de P }.
2.2 Fundamentos tericos 21

A partir destas definies e denotando por EDT (P ) o conjunto das arestas da triangula-
o de Delaunay dos pontos pertencentes a P , tem-se a seguinte relao de incluso:

N N G(P ) EM ST (P ) GG(P ) EDT (P ) (2.2)

Attene generaliza a definio de grafo de Gabriel para suportar tringulos, alm de vr-
tices e arestas (Attene e Spagnuolo, 2000).

Definio 33 (Hipergrafo de Gabriel Extendido (EGH)) Dado P e dado o


GG(P ) = (P, EGG ), o EGH(P ) = (P, EEGH , T ), onde P , E e T so, respectivamente o
conjunto de vrtices, de arestas e de tringulos do grafo. O conjunto de arestas iniciais de
EGH o mesmo de GG. O conjunto de tringulos construdo da seguinte maneira:

e1 , e2 EGG , e1 = (v1 , v2 ), e2 = (v2 , v3 ), no colineares e se a menor esfera por


v1 , v2 e v3 no contm quaisquer outros pontos de P , ento e3 = (v1 , v3 ) EEGH ;

qualquer ciclo de trs arestas em EEGH um tringulo em T .

O EGH tambm um subconjunto de uma triangulao de Delaunay, neste caso, para


R3 .
Mais detalhes sobre estas estruturas podem ser encontradas em (Stolfi, 1994; Attene e
Spagnuolo, 2000).
As seguintes definies so utilizadas para a caracterizao da triangulao de Delaunay
com Peso.

Definio 34 (Ponto com Peso) Seja p = (p, w2 ) Rn R+ , dizemos ser um ponto com
peso, onde w2 o peso associado ao ponto p e p sua posio em Rn .

Definio 35 (Distncia com Peso) A distncia com peso entre dois pontos com peso p =
(p, w12 ) e q = (q, w22 ) dada por ||p q||w = ||p q||2 w12 w22 .

Dizemos que dois pontos p e q so ortogonais se ||p q||w = 0.

Definio 36 (Ortocentro) Dado um conjunto de pontos com pesos p1 , ..., pn+1 Rn dis-
tintos dois a dois existe um nico ponto com peso o, que denominamos por ortocentro tal que
||pi o||w = 0 para 1 i n + 1.
22 Captulo 2 Conceitos Bsicos

Figura 2.14: Exemplo de uma triangulao de Delaunay com peso: Os crculos verdes so
os pontos com peso. Em azul, a triangulao de Delaunay com peso e em vermelho o power
diagrama.

Um ponto com peso p = (p, w2 ) pode ser interpretado geometricamente como uma esfera
de centro em p e raio w. A definio de distncia com peso pode ser vista em termos de uma
esfera ao invs de um ponto com peso (Edelsbrunner, 2001).

Definio 37 (Power Diagrama) O power diagrama de um conjunto de pontos com peso


definido como o diagrama de Voronoi utilizando a distncia com peso, ao invs da distncia
Euclidiana (figura 2.14).

Definio 38 (Triangulao de Delaunay com Peso) Define-se por triangulao de Delau-


nay com Peso ou Regular Triangulation o dual do power diagrama (figura 2.14).

Observao 6 O dual de cada n-simplexo de uma triangulao de Delaunay com peso em


Rn seu prprio ortocentro.

Existem alguns casos especiais de vrtices da triangulao de Delaunay com peso. Um


vrtice da triangulao pode no estar dentro de sua clula do power diagrama ou at mesmo
no existir tal clula (neste caso o vrtice denominado redundante). Edelsbrunner carac-
teriza em maiores detalhes a triangulao de Delaunay com peso (Edelsbrunner, 2001). Na
figura 2.14 existem clulas do power diagrama sem vrtices em seu interior e tambm vrtices
da triangulao sem arestas conectadas a ele (no existe sua clula dual).
As seguintes definies so empregadas nos captulos 3 e 4 com o intuito de definirmos e
apresentarmos os resultados que garantem a reconstruo das variedades.
2.2 Fundamentos tericos 23

Definio 39 (Eixo Medial) Define-se como o eixo medial de uma n-variedade M o con-
junto dos pontos que definem os centros de esferas S n que tangenciam M em ao menos dois
pontos. (figura 2.15).

No caso bidimensional, se P uma amostra de pontos de uma curva C ento o diagrama


de Voronoi uma boa aproximao para o eixo medial. Consideremos P um conjunto com
n pontos de C e sejam M o eixo medial de C e Vv o conjunto de vrtices do diagrama de
Voronoi de P . Ento pode ser mostrado que (Brandt, 1994):

n , P C Vv M

Definio 40 (Transformao do Eixo Medial) (Amenta et al., 2001b) A Transformao do


Eixo Medial define-se como a unio das esferas que definem o eixo medial.

Figura 2.15: Exemplo do eixo medial de uma curva (linhas pontilhadas).

Definio 41 (Local Feature Size) (Amenta et al., 2001b) Seja um ponto p P . A distncia
Euclidiana de p ao eixo medial de M definida como o local feature size de p, denotado por
LF S(p) (figura 2.16).

Figura 2.16: Exemplo bidimensional do local feature size LF S(p) = ||p m||.

Definio 42 (r-amostragem) Dizemos que uma variedade M r-amostrada por um con-


junto de pontos P M ou P uma r-amostragem de M se:
24 Captulo 2 Conceitos Bsicos

||p c||
c M, p P : r. (2.3)
LF S(c)

Intuitivamente o parmetro r determina a quantidade de pontos em determinadas regies


da variedade. Onde a variedade tem alto valor da curvatura (figura 2.17 a) ) e em regies
de estrangulamento (figura 2.17 b) ) necessita-se uma maior amostragem sobre a variedade
para satisfazer a condio de r-amostragem. Notemos que em regies de alta curvatura e de
estrangulamento o eixo medial est prximo a variedade. Na figura 2.17 o eixo medial dado
em linhas pontilhadas.

a) b)

Figura 2.17: Curvas que exemplificam quais regies necessitam de maior nmero de pontos
(regies no interior dos crculos tracejados): a) em regies de maior curvatura e b) em regies
de "estrangulamento". As linhas pontilhadas representam o eixo medial.

2.3 Consideraes finais

Neste captulo foram apresentadas definies gerais referentes Geometria e Topologia


Computacional que sero empregadas no decorrer deste trabalho.
No prximo captulo apresentamos a primeira parte do levantamento bibliogrfico refe-
rente reconstruo de objetos tridimensionais a partir de nuvens de pontos.
C APTULO

3
Reconstruo de objetos
tridimensionais a partir de nuvens de
pontos

3.1 Consideraes iniciais

Seja uma superfcie S R3 e uma amostragem de pontos P S , que definimos como


nuvem de pontos de S.
Uma reconstruo a partir de nuvens de pontos P S , na quase totalidade dos traba-
lhos apresentados, uma aproximao linear por partes S 0 de S.
Os mtodos de reconstruo buscam satisfazer os seguintes itens:

S 0 deve manter a mesma topologia de S;

Dado um ponto de S 0 , sua distncia superfcie S deve ser suficientemente pequena


(figura 3.1).

Questes crticas em reconstruo de superfcies so manipular superfcies de topologia


arbitrria, utilizar conjunto de pontos no-uniformes e produzir superfcies que garantam
uma boa representao da forma original do objeto. Os algoritmos de reconstruo, em geral,

25
26 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

a) b)

Figura 3.1: Exemplo bidimensional dos itens que um mtodo de reconstruo tenta satisfazer:
a) curvas no homeomorfas, mas prximas; b) curvas homeomorfas mas no prximas.

alm destas questes ainda buscam satisfazer requisitos como eficincia de tempo e espao
(estrutura de dados espaciais e topolgicas eficientes).
A correta reconstruo de uma superfcie possvel apenas se o conjunto P for adequado.
A definio de um conjunto adequado varia conforme os algoritmos. Em geral, ou exige-se
uma maior densidade de pontos nas regies em que a curvatura do objeto sofre maior variao
(Gopi et al., 2000), ou superfcies r-amostradas (definio 42) (Amenta et al., 1998b), ou
amostragem densa e uniforme (Edelsbrunner e Mcke, 1994).
Classificamos os mtodos de reconstruo a partir de nuvens de pontos da seguinte maneira:

Mtodos baseados em esculpimento ou decomposio espacial;

Mtodos baseados em funes implcitas;

Mtodos incrementais;

Mtodos baseados em modelos deformveis.

Outras formas de classificao menos gerais so encontradas na literatura. Huang clas-


sifica as categorias baseadas em superfcie (equivalente aos mtodos incrementais), volume
(equivalente mtodos de esculpimento) e implcitas (Huang e Menq, 2002). Zhao apenas
classifica os trabalhos como paramtrico (baseados em esculpimento) e no paramtrico (su-
perfcies implcitas) (Zhao et al., 2000).
Apresentamos nas sees 3.2 a 3.5 a descrio de trabalhos recentes na rea de reconstru-
o de superfcies para cada uma das categorias acima.
3.2 Mtodos baseados em esculpimento 27

3.2 Mtodos baseados em esculpimento

O princpio bsico da abordagem de esculpimento consiste em obter primeiramente a


triangulao de Delaunay do conjunto de pontos e, em seguida, por meio de heursticas de-
nominadas de esculpimento, remover um conjunto de simplexos com a finalidade de obter
uma forma que melhor represente o objeto original. O conjunto de faces que representa a
superfcie ser uma restrio da triangulao de Delaunay, de maneira semelhante a proposta
por Chew (Chew, 1993).

Observao 7 (Triangulao de Delaunay sobre superfcies) Em 1993, Chew definiu uma


triangulao de Delaunay de um conjunto finito de pontos P sobre uma superfcie S R3
modificando o critrio circunsfera vazia. Especificamente, o tringulo formado pelos pontos
q, q, r P pertence a triangulao de Delaunay da superfcie se existe uma esfera B com
centro em S e passando por p, q e r que vazia de outros pontos de P (Chew, 1993). Em
outras palavras, a superfcie definida por Chew um subconjunto de faces da triangulao
de Delaunay dos pontos amostrados nas superfcies.

A observao 7 ser utilizada na seo 4.2 no auxlio das demonstraes dos algoritmos
de reconstruo de curvas no plano.
Rodriguez prope uma heurstica para esculpimento baseada no tamanho das faces trian-
gulares dos tetraedros medida atravs do permetro (Rodriguez et al., 1994). Existem outras
medidas, tais como a rea e o circunraio. A escolha do permetro tem vantagens, primeira-
mente pelo fato de ser computacionalmente mais rpido que o clculo de outras medidas.
Alm disso, dependendo da posio dos pontos, a triangulao de Delaunay gera elementos
muito irregulares, com isso o circunraio e a rea podem no ser boas formas de heuristica,
pois, por exemplo, podem existir tanto tringulos grandes com rea grande quanto trin-
gulos grandes com reas prximas de zero que mostra a possvel ineficincia desta forma
de medida. A heuristica baseada em permetro eficiente pois existem grandes chances de
tringulos pequenos estarem presentes na superfcie do objeto quando a superfcie bem
amostrada.
O algoritmo 1 representa a heurstica proposta por Rodriguez.
O autor argumenta que algumas vezes conveniente multiplicar vm por um fator para
evitar buracos na superfcie.
28 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Algoritmo 1 Heurstica baseada em permetro das faces


Dada a triangulao de Delaunay do conjunto de pontos P
(A) Seja l uma lista de todas as faces pertencendo a apenas um tetraedro;
(B) Calcule vm como sendo a mdia dos permetros das faces de l;
repita
se o permetro de uma face f de l excede vm ento
remova o tetraedro a qual f pertence, e insira as trs faces restantes do tetraedro em l;
fim do se
at todos os permetros sejam menores que vm ;
(C) Recalcule vm .
se a diferena entre vm antigo e o vm recalculado superior 1% ento
retorne ao passo (B).
fim do se

Edelsbrunner e Mcke (Edelsbrunner e Mcke, 1994) apresentam um algoritmo denomi-


nado -shape. Dada a triangulao de Delaunay, o parmetro controla o nvel de detalhes
do objeto (a definio formal de -shape entre outras definies relacionadas tcnica esto
presentes no trabalho original (Edelsbrunner e Mcke, 1994)).
Uma viso intuitiva de -shape para complexo simplicial obtida ao imaginar uma esfera
com raio cujo objetivo remover todo o espao que consegue atravessar, sem tocar
nenhum dos pontos da triangulao. O objeto resultante denominado -shape.
Dois extremos so o 0-shape, que se reduz coleo de pontos original, e o -shape,
que coincide com a triangulao de Delaunay do conjunto de pontos.
Dado um complexo simplicial, existe um nmero finito de -shapes (Edelsbrunner e
Mcke, 1994). -shape adequado para pontos bem distribudos, mas freqentemente
problemtico para a reconstruo de superfcies, porque o usurio deve definir o parmetro
que utilizado para todo o conjunto. mais interessante utilizar vrios valores de para
regies especficas do domnio, no entanto, isso torna o processo ainda menos automtico.
Em 1997, Bernardini e Bajaj apresentaram mtodos prticos, para 1-variedades em R2 ,
para selecionar automaticamente valores de de forma que a reconstruo seja homeomorfa
curva original (Bernardini e Bajaj, 1997). No entanto este trabalho no foi extendido para
R3 . No captulo 6, na figura 6.8 apresentamos exemplos de -shapes para diferentes valores
de .
Teichmann e Capps apresentam generalizaes do -shape, denominado -shapes com
densidade e anisotropia escalvel (Teichmann e Capps, 1998). Este trabalho vem princi-
palmente para contornar a deficincia do -shape de apresentar bons resultados apenas para
3.2 Mtodos baseados em esculpimento 29

amostragens regularmente espaadas. Os autores propem duas extenses para contornar


as limitaes sobre as amostragens para o -shapes para permitirem uma reconstruo de
nuvens de pontos no regulares:

1. Escala anisotrpica: Permite substituir o teste da esfera por elipsides que atraves-
sam os simplexos (-elipside). As normais estimadas em cada ponto da nuvem de
pontos determina o eixo em que as esferas sero achatadas para se tornar o elipside
do teste. Os autores argumentam que, ao invs de implementar o teste baseado em
elipsides, mais conveniente realizar um mapeamento dos pontos dos tringulos para
um domnio anisotrpico1 e realizar o teste do -shape convencional. Na figura 3.2
apresentamos um exemplo bidimensional do mapeamento de um tringulo para um
domnio anisotrpico. A figura 3.2-a) o teste convencional do -shape (no remove o
tringulo). A figura 3.2-b) a alterao do teste para elipside (remove o tringulo). A
figura 3.2-c) o mapeamento do tringulo para um domnio anisotrpico e realizao do
teste tradicional do -shape. Note que os testes em b) e em c) so equivalentes.

2. Mapeamento de densidade: Permite variar o valor de conforme a densidade (quanti-


dade de pontos) local da superfcie.

Os parmetros da escala anisotrpica e do mapeamento de densidade so definidos pelos


usurios.

a) b) c)

Figura 3.2: Exemplo bidimensional do mapeamento de um tringulo para um domnio


anisotrpico.

Attali (Attali, 1998) props um mtodo cuja reconstruo garantida para o caso bidi-
mensional, no entanto a demonstrao no pode ser extendida para o caso 3D. Attali apresenta
1
Domnio anisotrpico pode ser visto como um domnio adaptado as caractersticas do problema em estudo.
30 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

definies de malhas normalizadas, que so subconjuntos das arestas da triangulao de De-


launay e de r-regular shape no qual so estabelecidas as garantias de reconstruo, isto ,
para determinados valores de r tem-se a garantia da reconstruo correta de curvas no plano.
As definies e o problema bidimensional so caracterizados da seguinte maneira:

Definio 43 (r-regular shape) Sejam X R2 e C a fronteira de X. X dito r-regular


shape se o crculo passando por trs pontos de C tem raio maior que r.

Definio 44 (Malha normalizada) Malha normalizada o grafo definido pelos simplexos


cujos duais interceptam a curva C.

Definio 45 (-amostragem) Uma amostragem P da fronteira C de uma r-regular shape


chamada de -amostragem se x C, p P : ||x p|| r..

Seja (pq) o ngulo definido pela interseo dos circuncrculos dos tringulos opostos
pela aresta pq (figura 3.3). Sobre certas condies de suavidade, possvel provar que a
malha normalizada consiste exatamente de todas as arestas com pequeno valor de (pq). Os
autores argumentam em selecionar as arestas com (pq) < 2 .
O teorema a seguir junta os fatos e definies anteriores para apresentar a garantia de
reconstruo:

Teorema 1 Seja X uma r-regular shape, com uma amostragem de sua fronteira sendo -
amostragem e  < r.sen 8 . Ento a malha normalizada representa a correta reconstruo da
curva.

A definio de malha normalizada extendida para R3 , mas o algoritmo no possvel


extender de maneira anloga ao bidimensional. O motivo semelhante ao que ocorre para
a generalizao do crust 2D para o caso tridimensional (Amenta et al., 1998b) (que apre-
sentamos no captulo 4). As circunsferas dos tetraedros slivers no so quase tangentes
superfcie. Um tetraedro sliver caracterizado por possuir seus vrtices prximos ao equador
de sua circunsfera (a figura 3.4 apresenta um exemplo de tetraedro sliver). Attali apresenta
heursticas para contornar o problema de tetraedros slivers (Attali, 1998).
Obtida a triangulao de Delaunay de uma amostragem, Attene e Spagnuolo (Attene e
Spagnuolo, 2000) propem uma heurstica baseada na rvore geradora mnima euclidiana -
EM ST (definio 31) e no hipergrafo de Gabriel extendido - EGH (definio 33).
3.2 Mtodos baseados em esculpimento 31

Figura 3.3: Representao do ngulo para malhas normalizadas.

Figura 3.4: Tetraedro sliver.

O EGH e o EM ST so utilizados para localizar, na triangulao de Delaunay, aque-


les tringulos que tm maior probabilidade de pertencer superfcie original. As seguintes
condies (que chamaremos de condies de singularidade) so utilizadas em conjunto com
o EGH e o EM ST no critrio de esculpimento proposto por Attene e Spagnuolo.

1. Remover um tetraedro com trs tringulos de fronteira desconectar um vrtice da fron-


teira atual. Portanto, remover este tipo de tetraedro no permitido;

2. Um tetraedro com apenas uma face na fronteira pode ser removido apenas se o vrtice
oposto face no est na fronteira (caso contrrio gera um ponto singular);

3. Um tetraedro com duas faces na fronteira que compartilham uma aresta em comum
pode ser removido apenas se sua aresta oposta no est na fronteira (caso contrrio
gera uma aresta singular).

O algoritmo 2 sumariza esta tcnica de esculpimento.


32 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Algoritmo 2 Heurstica baseada nos EM ST e EGH


Calcule a triangulao de Delaunay de P
Construa uma pilha ordenando os tetraedros de maneira que a maior aresta que pertencente
a fronteira deve ser removido primeiro;
Exige que a remoo do tetraedro no viole as condies de singularidade
se o tetraedro t tem apenas uma face na fronteira e esta face no pertence ao EGH ento
remova t;
fim do se
se o tetraedro t tem duas faces na fronteira e estas no pertencem ao EGH e a aresta
comum a estas no pertence ao EM ST ento
remova t
fim do se

Adamy (Adamy et al., 2002) apresenta um algoritmo de esculpimento baseado no filtro


guarda-chuva . Garantias de reconstruo homeomorfa e prxima superfcie original para
o caso bidimensional so apresentadas. Para o caso 3D, para garantir reconstrues mais
satisfatrias, o autor prope um ps-processamento baseado em tcnicas de programao
linear.
As seguintes definies so empregadas no algoritmo proposto por Adamy:

Definio 46 (-bola) Sejam (0, 1] e um (n 1)-simplexo com vrtices da amostra-


gem, uma -bola b () uma bola aberta de dimenso n e dimetro diam()

cujos vrtices
esto em sua fronteira.

Definio 47 (-intervalo) O -intervalo I() associado a um (n 1)-simplexo com pon-


tos da amostragem :
I() = { R/b () P = } (3.1)

e P a amostragem.

A figura 3.5 apresenta alguns exemplos de -bola para o simplexo (aresta) definido por a
e b. O -intervalo da aresta I = [0.2, 1].

Observao 8 Para (n 1)-simplexos de Delaunay, seus -intervalos I() so subinter-


valos de [0,1], enquanto que simplexos que no esto na triangulao de Delaunay tem
-intervalos vazios.
3.2 Mtodos baseados em esculpimento 33

=0.5
a
=0.5
=0.2
=1

Figura 3.5: Exemplos de valores de para a aresta definida por a e b.

Observao 9 Se os (n 1)-simplexos de Delaunay possuem -intervalos degenerados


I() = {1} temos o grafo de Gabriel (caso 2D) ou o hipergrafo de Gabriel extendido (caso
3D).

Adamy argumenta que este trabalho tenta manter as boas caractersticas do -shape
(Edelsbrunner e Mcke, 1994) e -skeleton (Kirkpatric e Radke, 1985) e evitar as carac-
tersticas indesejveis. A sada deste algoritmo, que denominada -complexo, no to
restritiva quanto o -skeleton e no limitada a variaes de densidade de amostragens as-
sim como o -shape.
A seguir apresentamos a definio de guarda-chuva:

Definio 48 (Guarda-chuva) A vizinhana de um vrtice v de um complexo simplicial de


dimenso n a unio dos interiores de todos os simplexos incidentes a v mais o vrtice v. Se
a vizinhana homeomorfa a uma bola aberta n-dimensional ento dita guarda-chuva.

Para o caso bidimensional, duas arestas que compartilham um vrtice v e sem seus outros
dois vrtices definem um guarda-chuva. Note que esta configurao de arestas homeomorfa
a um intervalo aberto. Isto , se existem trs (ou mais) arestas incidentes a v, isto no
homeomorfo a um intervalo aberto e portanto no define um guarda-chuva. Um guarda-
chuva em trs dimenses homeomorfo a uma regio aberta B R2 . A figura 3.6 apresenta
contra-exemplos de guarda-chuvas.
O critrio de esculpimento para determinar o -complexo definido da seguinte maneira:
Para cada ponto escolhe-se um guarda-chuva timo a partir do grafo de Gabriel utilizando
o seguinte critrio de otimizao: Escolhe-se o guarda-chuva que minimize os limites infe-
riores dos -intervalos de todos os seus (n 1)-simplexos. Isto , a idia do critrio de
34 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Figura 3.6: Contra-exemplos de guarda-chuva 3D (figura do trabalho de Adamy (Adamy


et al., 2002)).

otimizao, em duas dimenses, escolher duas arestas incidentes a um vrtice com limites
superiores de seu -intervalo iguais a 1 e inferiores os menores possveis.
Em trs dimenses escolhe-se os tringulos incidentes a cada vrtice com limite superior
= 1 e limites inferiores menores possveis at definirem um guarda-chuva. Descarta-se os
tringulos que no fazem parte do guarda-chuva.
Adamy mostra que os -intervalos podem ser eficientemente calculados a partir da trian-
gulao de Delaunay.
Os dois trabalhos seguintes so significativamente diferentes dos demais devido aos con-
ceitos matemticos utilizados para definio das regras de esculpimento.
Edelsbrunner props um algoritmo em que utiliza-se um sofisticado conceito matem-
tico, denominado Teoria de Morse (Edelsbrunner, 2002). Aqui omitiremos a descrio desta
teoria e nos focaremos apenas na relao desta teoria e o critrio de esculpimento proposto
pelo autor. Para maiores informaes sobre Teoria de Morse consulte o trabalho de Milnor
(Milnor, 1963) .
Em linhas gerais, Edelsbrunner utiliza a Teoria de Morse para definir uma funo, deno-
minada funo de Morse sobre a triangulao de Delaunay.
Seja : M R3 R, onde uma funo de Morse e M uma 2-variedade. A principal
caracterstica de a relao entre os pontos crticos com a topologia de M .
Partindo de , Edelsbrunner define um campo gradiente nos simplexos da triangulao de
Delaunay e mostra que existe uma relao de ordem acclica entre os simplexos que determina
quais sero removidos.
O autor ainda demonstra que existe uma relao entre o campo gradiente de e os tipos
de interceo entre os simplexos e seus duais. Na prtica, os testes topolgicos originados
de so substitudos por testes geomtricos. Ento baseado nos tipos de interseo entre os
simplexos e seus duais, um algoritmo de esculpimento foi proposto.
3.2 Mtodos baseados em esculpimento 35

Este algoritmo foi implementado em 1996 pela Raindrop Geomagic2 (patenteado nos
Estados Unidos).
Giesen e John apresentam trabalhos na mesma linha de sofisticao Matemtica de Edels-
brunner (Giesen e John, 2002) e (Giesen e John, 2003). O conceito matemtico por trs destes
trabalhos so os sistemas dinmicos.
O algoritmo, que descreveremos de maneira sucinta, construdo baseado na observao
que o grafo de Gabriel (definio 32) um conjunto de pontos crticos da funo 3.2 que ser
utilizada no processo de reconstruo e, principalmente, por oferecer boas aproximaes para
as superfcies.
Primeiramente, define-se uma funo distncia para o conjunto de pontos P :

h(x) = min ||x p|| (3.2)


pP

Giesen e John argumentam que esta funo no pode ser utilizada como uma funo para
os mtodos baseados em funes implcitas (ver seo 3.3) e pode ser provado que os pontos
crticos (figura 3.7) de h so as interseces entre simplexos da triangulao de Delaunay
com seus respectivos duais do diagrama de Voronoi.
A figura 3.8 apresenta um exemplo bidimensional da construo de h; os vrtices da trian-
gulao so mnimos locais (pois sempre interceptam seus duais); as interseces marcadas
com um quadrado () so mximos locais (vrtices de Voronoi localizados no interior de
seus tringulos duais) e as arestas de Voronoi marcados com um crculo () so pontos de
sela.

M
M

m
m

Figura 3.7: Os pontos crticos so os pontos em que a derivada da funo se anula. M


representa os mximos locais, m os mnimos locais e S o ponto de sela.

2
http://www.geomagic.com/.
36 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Figura 3.8: Exemplo que caracteriza os pontos crticos definido pela funo 3.2.

A partir desta funo, ento definido um sistema dinmico:

Definio 49 (Sistema Dinmico) Seja f : R3 R uma funo suave e f o campo gra-


diente de f . A partir desta definio temos a seguinte equao diferencial ordinria:

d
(t, x) = f ((t, x)) (3.3)
dt

Atravs da teoria de Equaes Diferenciais Ordinrias, tm-se o seguinte mapa : R


3
R R satisfazendo as propriedades:

1. (0, x) = x;

2. (t, (s, x)) = (t + s, x).

Podemos interpretar como a posio do ponto x no tempo t e denominamos por


sistema dinmico ou fluxo em R3 .

Os autores definem um sistema dinmico atravs da funo h definida em 3.2 impondo


condies para h se tornar suave (note que h apenas suave no interior das clulas de
Voronoi).
Denomina-se por pontos fixos os pontos x tal que (t, x) = x t R. Podemos notar
que os pontos fixos de so os pontos crticos de h.
3.3 Mtodos baseados em funo implcita 37

Aps estas tarefas, os autores definem a rbita x de cada ponto x que descreve o movi-
mento de x ao longo do tempo e variedades estveis como sendo, para cada ponto crtico x
de h, o conjunto de todos os pontos cujas rbitas terminam em x.
Definida esta teoria, os autores utilizam um subconjunto de variedades estveis para
definir o complexo de fluxo que a reconstruo da superfcie.
Uma etapa de ps-processamento, denominada complexo de fluxo reduzido tambm
proposta para melhorar a reconstruo atravs da eliminao de alguns simplexos.

3.3 Mtodos baseados em funo implcita

Estes mtodos, tambm conhecidos como mtodos baseados em conjunto zero de funo,
consistem em utilizar a amostragem para definir uma funo distncia com sinal f e calcular
o conjunto zero de f , que denotamos por Z(f ). A superfcie estimada atravs de uma
superfcie de nvel de f .
Os pontos em Z(f ) devem ser, por hiptese, regulares (observao 3) ou o processo de
reconstruo pode no gerar a superfcie original do objeto.
O algoritmo descrito por Hoppe (Hoppe et al., 1992) executado em dois estgios:
O primeiro consiste em definir uma funo f : D R3 R em que f estima uma
distncia com sinal para a superfcie S procurada. O conjunto Z(f ) a estimativa para S. A
segunda fase consiste em aproximar Z(f ) por um complexo simplicial.
A funo distncia definida por Hoppe dada por f (p) = disti (p) = (p oi ).ni sendo
oi o centro (centride) de uma regio plana e ni a normal unitria desta regio. O centro do
plano oi definido pelos k pontos mais prximos de xi (xi pertence a nuvem de pontos),
denotado por V (xi ). O clculo do vetor normal feito pela matriz de covarincia simtrica e
semi-definida positiva definida por:

X
Cov = (y oi )t (y oi ) (3.4)
yV (xi )

Pelo fato da matriz ser simtrica e semi-definida positiva (Isaacson e Keller, 1966), tem-se
trs autovalores reais e maiores ou iguais a zero, sejam eles 1 2 3 . Ento escolhe-se
n como o autovetor associado a 3 ; v3 ou v3 , de modo a manter os planos orientados.
38 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Para obter a isosuperfcie, Hoppe utiliza uma variao do algoritmo Marching Cubes em
que cada cubide decomposto em tetraedros (Hoppe et al., 1992).
Boissonnat e Cazals utilizam vizinhanas naturais e superfcies r-amostradas (definio
42) para provar garantias de reconstruo homeomorfa e prxima a superfcie original (Bois-
sonnat e Cazals, 2002).
Dado um conjunto de pontos P R3 , os vizinhos naturais Nx,P de um ponto x R3 so
dados pelo conjunto 3.5:

Nx,P = {p P : V (x) Vp 6= } (3.5)

Onde V (x) a clula de Voronoi de x em VP {x} 3 e Vp a clula de Voronoi de p de VP 4 .


Seja A(x, p) o volume tomado por x de Vp , definido por:

A(x, p) = V (x) Vp (3.6)

A coordenada natural associada ao ponto p a funo contnua p : R3 R onde:

A(x, p)
p (x) = P (3.7)
qP A(x, q)

Os autores ressaltam algumas propriedades interessantes de p : Continuamente diferen-


civel, exceto em p e qualquer x R3 combinao convexa ( pNx,P p (x)p = x, ver
P

equao 2.1) de seus vizinhos naturais. Boissonnat e Cazals assumem ainda que cada ponto
p est associado a uma normal unitria np . A funo distncia com sinal para cada ponto p
definida por:

hp (x) = (p x).np (3.8)

Uma funo global utilizada interpolando estas funes com as coordenadas naturais:

X
h(x) = p 1+ (x)hp (x) (3.9)
pP

3
Diagrama de Voronoi de P {x}.
4
Diagrama de Voronoi de P .
3.4 Mtodos incrementais 39

O termo (pequeno) adicionado para tornar h continuamente diferencivel para evitar


pontos no regulares.
Neste algoritmo, aplica-se h a todos os vrtices das arestas de Voronoi. O conjunto de
tringulos duais das arestas de Voronoi que possuem sinais diferentes definem a aproximao
linear por partes da superfcie.
Bajaj (Bajaj et al., 1995) props um mtodo5 que opera em trs fases:
A primeira fase, denominada pr-processamento, consiste em criar uma funo distncia
com sinal, em que o sinal da funo vem da classificao dos tetraedros da triangulao de
Delaunay (como internos e externos). A classificao dos tetraedros realizada com auxlio
de uma -shape calculada sobre a amostragem (o ponto est fora se estiver contido em um
tetraedro externo ou o ponto est dentro se estiver localizado no interior de um tetraedro
interno). A distncia da funo obtida com auxlio do diagrama de Voronoi.
Na aproximao, como designada a segunda fase, o espao subdividido em tetraedros
que contm pores do domnio. Os tetraedros so refinados at satisfazer condies de erro
estabelecida pelo usurio. Nesta fase, garante-se uma aproximao de classe C 0 .
A fase final, denominada suavizao, consiste em suavizar a superfcie obtida nas fases
anteriores para uma superfcie de classe C 1 .

3.4 Mtodos incrementais

O princpio dos mtodos incrementais : Dada uma aresta inicial (ou um conjunto de
arestas iniciais), que denominamos por fronteira de avano, construda pela conexo de dois
pontos da nuvem e seguindo de maneira iterativa, obtm-se as demais arestas definindo uma
superfcie. A questo definir as arestas iniciais do processo de reconstruo. Entre as
possibilidades, tem-se a rvore geradora mnima euclidiana (definio 31) como um conjunto
de arestas iniciais (Mencl e Mller, 1998). Os mtodos incrementais tambm so conhecidos
como mtodos de avano de fronteira.
Uma etapa de pr-processamento necessria nos mtodos incrementais o armazena-
mento dos pontos em alguma estrutura de dados espacial (kd-tree, quad-tree ou grade volu-
mtrica (Samet, 1990)) pois dada uma aresta da fronteira de avano ef , o algoritmo deve ser

5
No trabalho, alm do ajuste da superfcie, feita uma interpolao de dados escalares definidos sobre os
vrtices da malha.
40 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

capaz de encontrar de maneira eficiente o conjunto de pontos candidatos a definir um novo


tringulo com ef . Testes de interseo tambm so freqentes nestes mtodos.
Bernardini (Bernardini et al., 1999) apresenta um algoritmo incremental denominado
Ball-Pivotting Algorithm (BPA). Este mtodo conceitualmente simples. Consideremos uma
2-variedade em R3 e uma amostragem suficientemente densa desta variedade. Seja uma bola
de raio que no atravesse a variedade sem tocar em pontos da amostragem.
O processo se inicia colocando esta bola de raio em contato com trs pontos da amos-
tragem (tringulo inicial). Mantendo a bola em contato com dois destes pontos, pivotea a
bola at tocar um outro ponto. O pivotamento se d ao redor de cada aresta da fronteira atual
e a cada triplas de pontos tocadas pela bola pivoteada, define um novo tringulo.
A sada deste algoritmo um subconjunto de -shape (Edelsbrunner e Mcke, 1994) e
o autor argumenta que algumas das propriedades do -shape tambm so garantidas para o
BPA.
Entre as principais vantagens apresentadas para este algoritmo que sua sada um sub-
conjunto da triangulao de Delaunay obtida sem a necessidade do clculo da triangulao,
uma vez que este um processo custoso.
Gopi apresenta um algoritmo denominado Triangulao de Delaunay Localizada (Gopi
et al., 2000). Este nome dado a este algoritmo pelo fato do clculo local de triangulaes de
Delaunay 2D. So apresentados provas baseadas nas curvaturas da superfcie e na distribuio
dos pontos em que se garante a reconstruo homeomorfa e prxima a superfcie original. O
algoritmo suporta tanto reconstruo de variedades com ou sem bordo.
Quatro passos principais definem este algoritmo:

Clculo da normal: O primeiro passo neste algoritmo calcular a normal de todas as


amostras. Este passo tambm orienta consistentemente as normais das amostras para
obter-se uma variedade orientada. O clculo da normal semelhante ao proposto por
Hoppe (Hoppe et al., 1992) (captulo 3, seo 3.3);

Seleo dos pontos candidatos: Neste passo escolhe-se os pontos que podem ser os
possveis vizinhos a um vrtice na triangulao final. Ento calcula-se os pontos do
conjunto Pp vizinhos para cada ponto p.

Clculo da triangulao de Delaunay em Vizinhanas: Cada ponto em Pp projetado


para o plano tangente de p e este conjunto de pontos projetados denotado por Pp T .
3.4 Mtodos incrementais 41

Ento calcula-se a triangulao de Delaunay 2D local dos pontos de Pp T ao redor de


p em seu plano tangente. Este clculo repetido para todos os pontos p. O autor
apresenta alternativas para evitar inconsistncias na representao da superfcie.

Petitjean e Boyer (Petitjean e Boyer, 2001) apresentam um mtodo incremental no caso


bi e tridimensional para pontos regulares e como um intermdio entre incremental e esculpi-
mento, no caso tridimensional para pontos no regulares.
Em contraposio s garantias de reconstruo propostas por Amenta (Amenta et al.,
1998b; Amenta et al., 2001b) que requerem os pontos e a variedade original, as garantias
de reconstruo sugeridas por Petitjean e Boyer so baseadas apenas nas amostragens. Os
autores argumentam que isto se d pelo fato de que conexes de pontos adjacentes depende
muito mais das propriedades locais da superfcie reconstruda do que da forma original (Pe-
titjean e Boyer, 2001).
Alicerado nesta observao, so apresentados mtodos de reconstruo a partir de pontos
regulares para os espaos bi e tridimensionais. Quando o conjunto de pontos no regular,
combina-se heursticas de esculpimento ao mtodo incremental para obter a reconstruo e
as garantias no so mais asseguradas.
A idia por trs deste mtodo manter os simplexos que pertencem ao grafo de Gabriel
(caso 2D) e ao hipergrafo de Gabriel extendido (caso 3D) para pontos regulares. Quando os
pontos no so regulares, o autor prope heursticas para remover um conjunto de tringulos
do EGH que possivelmente no so os tringulos que representam a superfcie.
Huang e Meng (Huang e Menq, 2002) propem um algoritmo que no busca uma malha
que seja um subconjunto da triangulao de Delaunay. Um dos principais diferenciais deste
trabalho est na etapa de ps-processamento em que o autor relaciona conceitos de Geometria
Diferencial para definir e estimar tanto a curvatura de arestas e a curvatura da nuvem de
pontos que estimativa da curvatura da superfcie original.
A figura 3.9 ilustra a estimativa da curvatura da superfcie (a estimativa obtida a partir
da definio de uma estrutura de vizinhana) (Huang e Menq, 2002) para um ponto em uma
direo e curvatura para uma aresta (obtida atravs do ngulo definido entre as duas faces
triangulares que compartilham a aresta). Em 3.9-a) tem-se a configurao original da malha.
Em 3.9-b) tem-se as estimativas da curvatura da aresta e, representada pela curva c e da
superfcie, representada pela curva d. Em 3.9-c) a malha reestruturada localmente para que
as curvaturas fiquem prximas.
42 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

b)
a)

c)

Figura 3.9: Descrio do processo de estimativa das curvaturas da superfcie e da malha


proposta por Huang e Menq.

Mederos apresenta um trabalho em que proposto uma reduo das nuvens de pontos
para em seguida realizar a reconstruo da superfcie (Mederos et al., 2003).
Os principais passos deste algoritmo so:

1. Clusterizao: Primeiro divide-se a nuvem de pontos em conjunto de clusters6 . O


ponto principal desta etapa que a variao da curvatura da superfcie em cada cluster
pequena;

2. Reduo: Encontra-se o ponto representativo para cada cluster. O conjunto de pontos


representativos sero utilizados no algoritmo de reconstruo.

3. Triangulao: Aplica-se um mtodo incremental para triangulao dos pontos repre-


sentantes baseado no grafo dos vizinho mais prximo (definio 30).

Mederos tembm prope um refinamento que melhor adapte a geometria do modelo


(Mederos et al., 2003).
6
Cluster so agrupamentos de pontos, nesse caso, que tem alguma semelhana entre si.
3.5 Mtodos baseados em modelos deformveis 43

3.5 Mtodos baseados em modelos deformveis

Nestes mtodos de reconstruo, a partir de uma superfcie inicial, aplicam-se defor-


maes gerando uma aproximao para nuvem de pontos. Estes mtodos so rpidos e
apresentam resultados satisfatrios se a superfcie inicial no estiver muito distante da forma
original.
Existem basicamente dois subconjuntos de mtodos baseados em modelos deformveis:
O primeiro baseado em Equaes Diferenciais Parciais (E.D.P.s) para deformao dos mo-
delos iniciais (Zhao et al., 2000). No entanto estes trabalhos necessitam de discretizaes das
E.D.P.s e resoluo de grandes sistemas lineares. J o segundo subconjunto de mtodos
baseado em funes paramtricas (Bardinet et al., 1998).
Dada uma funo paramtrica inicial, aplicam-se alteraes nos parmetros at atingir
um valor satisfatrio que melhor enquadre a funo a nuvem de pontos. No entanto funes
paramtricas so muito limitadas variao da topologia e superfcies com muitos detalhes.
Bardinet (Bardinet et al., 1998) apresenta um trabalho baseado em superqudricas cuja
principal vantagem o nmero reduzido de parmetros necessrios para representar o ob-
jeto. No entanto, mesmo fornecendo boas aproximaes para objetos pouco complexos, esta
abordagem limitada para a representao de superfcies com certo grau de complexidade,
necessitando uma segunda fase de processamento, denominada deformao de forma livre
FFD (free-form deformation).
A utilizao de superqudricas requer algum conhecimento sobre a forma global do ob-
jeto. Bardinet argumenta que o trabalho est voltado para nuvens de pontos adquirida a partir
de imagens mdicas, em particular, do corao. Como exemplo, apresenta reconstrues do
ventrloquo esquerdo, utilizando superelipsides como forma inicial.
O superelipside pode ser representado pela funo implcita:

1 /2
 2/2  2/2 !2 /1  2/1
x y z
+ + =1 (3.10)
r1 r2 r3

Como conseqncia imediata, a equao do superelipside permite definir uma funo


F : R3 R, de maneira que:
44 Captulo 3 Reconstruo de objetos tridimensionais a partir de nuvens de pontos

Sendo p = (x, y, z)
1 /2
 2/2  2/2 !2 /1  2/1
x y z
F (x, y, z) = + + (3.11)
r1 r2 r3

Se F (p) > 1 p est fora da superfcie;


Se F (p) = 1 p est sobre a superfcie;
Se F (p) < 1 p est dentro da superfcie.
Isto significa que possvel avaliar se os pontos da nuvem esto prximos a superfcie
inicial.
No F F D o objeto a ser deformado mergulhado em uma grade volumtrica ligando-a ao
objeto (por um polinmio que define uma funo deformao). A grade volumtrica ento
deformada por meio de deslocamentos e a deformao transmitida ao objeto pela funo
deformao.
Muitas variaes de F F D podem ser encontradas na literatura. No entanto, Bardinet
utilizou a definio clssica, por assegurar bons resultados e bom desempenho de tempo. Na
F F D clssica utiliza-se polinmios de Bernstein (Isaacson e Keller, 1966) como funes de
deformao e uma grade cartesiana volumtrica para definir a grade de controle.

3.6 Consideraes finais

Apresentamos, neste captulo, trabalhos recentes de reconstruo de objetos a partir de


pontos no organizados, enquadrados em diferentes categorias (esculpimento, incrementais,
deformveis e funes implcitas). Tambm foram apresentadas as caractersticas mais perti-
nentes de cada um dos trabalhos.
No captulo seguinte apresentaremos o conjunto de algoritmos que complementam o le-
vantamento bibliogrfico. A estes algoritmos denominamos famlia Crust. As definies e os
teoremas pertinentes aos algoritmos desta famlia complementam o prximo captulo.
C APTULO

4
A famlia Crust

Neste captulo apresentamos o conjunto de algoritmos desenvolvidos por Nina Amenta


e outros autores para a reconstruo de variedades a partir de nuvens de pontos, resultados
tericos que garantem a reconstruo e comparaes entre os mtodos.
Na seo 4.1 apresentamos o grafo denominado -skeleton, com a finalidade de com-
parao com o crust bidimensional, descrito na seo 4.3. Na seo 4.2 so apresentados
resultados para a garantia de reconstruo do -skeleton. Estes resultados tambm so em-
pregados na demonstrao do resultado de garantia do crust bidimensional, presente na seo
4.3.
Posteriormente, ser descrita a extenso do crust 2D para a reconstruo de superfcies
a partir de nuvens pontos, denominado raw crust (Amenta e Bern, 1999). No entanto, as
condies de garantia de reconstruo da forma original da superfcie deste algoritmo so
fracas, acarretando a necessidade de etapas de ps-processamento para garantir melhores
resultados. Com estas etapas de ps-processamento o algoritmo passa a se chamar crust
(verso 3D).
Em 2001 foi definido o algoritmo power crust (Amenta et al., 2001a), em que garantias
mais fortes so oferecidas para a reconstruo a partir de uma nuvem de pontos. Neste algo-
ritmo, alm de obter a reconstruo da superfcie, tambm obtida uma aproximao linear
por partes do eixo medial, denominada por Amenta de power shape.
Outros dois trabalhos complementam esta famlia: o cocone (Amenta et al., 2002) que
otimiza o crust 3D em relao a tempo de execuo e o tight cocone (Dey e Goswami, 2002a)

45
46 Captulo 4 A famlia Crust

que uma etapa de ps-processamento do cocone e utilizado para contornar os problemas


deixados pelo cocone. A sada deste algoritmo uma superfcie water tight (definio 59).
Apresentamos as demonstraes de garantia dos algoritmos bidimensionais e omitimos
as demonstraes para o caso tridimensional, apresentando apenas os resultados mais signi-
ficativos.

4.1 -skeleton

Em meados dos anos 80, Kirkpatrick e Radke (Kirkpatric e Radke, 1985) definiram um
grafo denominado -skeleton como uma medida de vizinhana entre pontos. Diversas estru-
turas de vizinhana tm sido propostas, como a rvore geradora mnima euclidiana, o grafo
de Gabriel, o grafo do vizinho mais prximo e a prpria triangulao de Delaunay (Stolfi,
1994).
No entanto, todas essas estruturas so fixas para um determinado conjunto de pontos.
Assim como as -shapes descritas por Edelsbrunner (Edelsbrunner e Mcke, 1994), o -
skeleton de um conjunto de pontos varia conforme o valor do parmetro definido pelo
usurio, implicando em diferentes grafos para um mesmo conjunto de pontos.
Os exemplos apresentados por Kirkpatrick no se relacionam reconstruo de curvas
planares a partir de pontos. Amenta (Amenta et al., 1998a), vendo a real possibilidade de
utilizar -skeleton para a reconstruo de curvas planares, apresenta resultados tericos que
estabelecem a garantia de reconstruo da forma original da curva a partir de um conjunto de
pontos planares.
Amenta argumenta que nenhum algoritmo de reconstruo 2D capaz de reconstruir
qualquer curva partindo de qualquer amostragem. Para garantir que a reconstruo da amos-
tragem P tenha a mesma topologia da superfcie original, so necessrias algumas condies
sobre P .
Segundo Nina Amenta, o -skeleton permite obter a forma de uma curva C a partir de uma
amostragem cuja densidade varia conforme o local feature size (definio 41). As definies
a seguir caracterizam o -skeleton.

Definio 50 (Regies Proibidas) Sejam p1 , p2 P . A regio proibida de p1 e p2 a unio


das duas circunferncias de raio ||p22p1 || tocando p1 e p2 (figura 4.1).
4.2 Garantindo a reconstruo 47
p1

p1 p2

p2

a) b)

Figura 4.1: Regies proibidas: a) = 1, b) > 1.

Definio 51 (-skeleton) Se a regio proibida de p1 e p2 P vazia de pontos de P , ento


a aresta de extremos p1 e p2 pertence ao -skeleton de P .

Veltkamp (Veltkamp, 1992) apresentou o grafo -vizinhana como uma generalizao do


-skeleton que permite que as circunferncias das regies proibidas tenham diferentes raios.
Amenta (Amenta et al., 1998a) argumenta que seus resultados podem ser extendidos para o
-vizinhana.

Observao 10 O -skeleton um subconjunto da triangulao de Delaunay.

O algoritmo 3 determina o -skeleton:

Algoritmo 3 -skeleton
Para um conjunto de pontos P
Calcule a triangulao de Delaunay de P
para toda aresta e da triangulao de Delaunay faa
se os circuncrculos dos tringulos adjacentes a e tem raios menores que 2 ||e|| ento
e pertence ao -skeleton
fim do se
fim do para

Na seo seguinte apresentamos os teoremas de reconstruo que sero utilizados para


provar as garantias do -skeleton e do crust 2D.

4.2 Garantindo a reconstruo

Consideremos para demonstraes dos algoritmos bidimensionais apresentados neste cap-


tulo uma curva suave C e um conjunto de pontos P C.
48 Captulo 4 A famlia Crust

Figura 4.2: Interpretao geomtrica do teorema 2. Em linhas contnuas temos a curva C,


em tracejados, o eixo medial. A circunferncia, em pontilhado, representa a interpretao do
teorema.

Os seguintes resultados garantem a reconstruo da curva baseada no -skeleton e tam-


bm sero utilizados para demonstrar as garantias do crust 2D (seo 4.3). As demonstraes
dos teoremas que apresentamos nesta seo so originais do trabalho de Amenta (Amenta
et al., 1998a).

Teorema 2 Qualquer circunferncia que contm no mnimo dois pontos de uma curva suave
no plano apresenta as seguintes possibilidades de interseco:

Intercepta uma curva num segmento de curva ou;

Contm um ponto do eixo medial ou;

Ambos.

Interpretao geomtrica na figura 4.2.

Teorema 3 Seja P C, C uma curva suave em R2 . Ento qualquer circuncrculo dos


tringulos de uma triangulao de Delaunay de P deve conter um ponto do eixo medial de
C.

Observao 11 O teorema 3 no permite generalizao para Rn , n > 2.

A observao 11 interessante pois um dos principais fatos que no permite generalizar


de maneira direta alguns algoritmos bidimensionais em algoritmos tridimensionais para os
mtodos de esculpimento.
4.2 Garantindo a reconstruo 49

Figura 4.3: O crculo, em pontilhado, representa um disco de Voronoi curvo.

Observao 12 Os circuncrculos dos tringulos da triangulao de Delaunay tambm so


conhecidos como discos de Voronoi. Os vrtices das clulas de Voronoi so os centros dos
discos de Voronoi. Cada disco de Voronoi contm trs pontos da amostragem em sua fron-
teira (para pontos em posio geral).

A seguinte definio foi apresentada originalmente por Chew (Chew, 1993), a partir da
idia de poligonalizar uma curva utilizando circunferncias vazias centradas na fronteira (ver
observao 7, captulo 3) e ser utilizada nas prximas demonstraes.

Definio 52 (Disco de Voronoi Curvo) O disco de Voronoi curvo o disco mximo, vazio
de pontos da amostragem, centrado num ponto da curva. O vrtice de Voronoi curvo o
centro do disco de Voronoi curvo (figura 4.3).

A partir da representao na figura 4.4 pode-se extrair as relaes trigonomtricas pre-


sentes na observao 13, que sero utilizadas nos prximos teoremas.

Observao 13 (Relaes trigonomtricas)


Consideremos a figura 4.4 com circunferncia de raio igual a um. Sejam os pontos c e
d sobre a circunferncia, o ponto b o centro da circunferncia, x o ngulo dbc
c e a a base
da altura do tringulo bcd pela aresta perpendicular a aresta bc. Ento temos as seguintes
relaes:

sen(x) = ||d a|| ;

||d c|| = 2sen(x/2) (note que o tringulo bcd issceles, e m o ponto mdio de
||d c||);

y = x/2 (o ngulo z comum aos tringulos bcm e acd e que os dois tringulos
possuem um ngulo reto).
50 Captulo 4 A famlia Crust

y
m

x z
b a c

Figura 4.4: Descrio geomtrica que caracteriza a observao 13.

Os teoremas 4 e 5 garantem que para uma curva r-amostrada, a triangulao de Delaunay


contm o subconjunto de arestas que determina a reconstruo da curva.

Teorema 4 Seja C uma curva suave no plano r-amostrada com r 1. Existe um disco de
Voronoi curvo tocando cada par de pontos adjacentes.

Teorema 5 Seja P C, P uma r-amostragem de uma curva suave C no plano, com r < 1.
A triangulao de Delaunay de P contm uma aresta entre cada par de pontos adjacentes.

Observao 14 Seja C R2 , P C uma r-amostragem de C. A reconstruo pode no


ser nica se r 1.

Para r consideravelmente pequeno, possvel mostrar que existe uma nica reconstruo
em que o -skeleton est enquadrado. Este fato ser demonstrado nos prximos teoremas.
O teorema 6 utilizado como argumento na demonstrao do teorema 7.

Teorema 6 Uma circunferncia tangente a uma curva suave C em um ponto p com raio no
mximo LSF (p) contm nenhum ponto de C em seu interior.

Os teoremas 7 e 8 so utilizados nas demonstraes dos teoremas finais que apresentaro


os valores adequados de r e para a obteno da forma original da curva.
4.2 Garantindo a reconstruo 51

C
s


r
B
c 1
p

Figura 4.5: Figura utilizada no teorema 7.

Teorema 7 Para uma curva r-amostrada no plano, com r < 1, o ngulo formado no vrtice
de Voronoi curvo entre dois pontos adjacentes da amostragem , no mnimo, 2arcsen(r/2)
(figura 4.5).

Prova: Consideremos a figura 4.5. Seja p vrtice de um disco de Voronoi curvo e uma
circunferncia B, centrada em c, cujo raio LF S(p) = 1, sem perda de generalidade. Pelo
teorema 6, temos que C no intercepta o interior de B. Ento, o ngulo mais agudo possvel
alcanado quando os pontos so adjacentes a fronteira de B a uma distncia r de p. Temos
que p+2 = p = 2.1 Pela observao 13, temos que = arcsen(r/2), implicando
p = 2arcsen(r/2). 
De maneira similar pode ser demonstrado o resultado seguinte:

Teorema 8 Seja C uma curva r-amostrada no plano, r < 1, o ngulo gerado por trs pontos
adjacentes, no mnimo 4arcsen(r/2).

As regies proibidas das arestas tambm podem ser definidas em termos dos ngulos entre
os dois crculos da regio:

Observao 15 Sejam p1 e p2 R2 , 1 e = arcsen(1/) e as duas circunferncias


de raios ||p2 p1 ||/2. As tangentes t1 e t2 em p1 e p2 definem um ngulo de 2 em p1 e p2
(figura 4.6).

1
p o ngulo no interior de B.
52 Captulo 4 A famlia Crust
t1 t2
b

p
a 1

x y

p
2

t1 t2

Figura 4.6: Descrio geomtrica da observao 15.

De fato: Seja o tringulo t = xyp1 , o ngulo interno a t em p1 e os ngulos a e b como


representados na figura 4.6.
Temos as seguintes relaes:

a + b + /2 =

+ /2 + a =

Subtraindo as duas equaes acima, temos que b = . Devido simetria das retas tan-
gentes aos crculos que definem a regio proibida, temos a observao 15 satisfeita. 

Consideremos a figura 4.7 para a descrio e demonstrao do teorema 9:

Teorema 9 Sejam p1 , p2 , p3 pontos sucessivos sobre C. Quando > 4arcsen(r/2), p3 no


pertence a regio proibida definida pela aresta p1 p2 .

Prova: Pelo teorema 8 temos que o ngulo mnimo que pode ser definido por p\
1 p2 p3

4arcsenr/2.
Note que se p\1 p2 p3 for maior que , (ver figura 4.7), ento p3 no pertencer regio

proibida definida por p1 e p2 ; logo, p3 estar fora da regio.


4.2 Garantindo a reconstruo 53

p
3

p
2

p
1

Figura 4.7: Descrio geomtrica do teorema 9.

1 p2 p3 > ( 4arcsen(r/2)), o que conclui a prova.


Da p\ 

Os dois teoremas seguintes so utilizados na demonstrao dos teorema que garantem a


reconstruo do -skeleton.

Teorema 10 A regio proibida de uma aresta entre dois pontos adjacentes sobre uma curva
C r-amostrada no pode conter um ponto do eixo medial, quando >
> arcsen(2sen(2arcsen(r/2))).

Teorema 11 O -skeleton de uma curva suave C r-amostrada no contm arestas entre


qualquer par de pontos no adjacentes, quando < arccos(2r) 2arcsen(r/2).

Teorema 12 Seja C uma curva suave r-amostrada, com r < 0.297. O -skeleton de C
contm exatamente as arestas entres vrtices adjacentes, para = 1.70 (figura 4.8).

Prova: Pelo teorema 11 temos que no existem arestas entre vrtices no adjacentes para:

< arccos(2r) 2arcsen(r/2) (4.1)

Sejam p1 e p2 dois pontos adjacentes e sejam p0 e p3 adjacentes a p1 e p2 respectivamente.


Pelo teorema 9, nem p0 e p3 pertencem s regies proibidas quando:

> 4arcsen(r/2) (4.2)


54 Captulo 4 A famlia Crust


1.5
(1)
(3)
(2)

0.5

0.4 0.5 r

Figura 4.8: A garantia da reconstruo da curva original se d para valores na regio hachu-
rada.

Se existir algum pi pertencente a regio proibida, no sendo p0 e p3 , isto implicaria que


um dos crculos da regio proibida intercepta na curva C em no mnimo duas componentes
conexas (uma contendo p1 e outra contendo pi ) e portanto pelo teorema 2, contm um ponto
do eixo medial. No entanto, pelo teorema 10 isto no ocorre quando:

> arcsen(2sen2(arcsen(r/2))) (4.3)

Fazendo a intercesso da regio definida pelas inequaes, 4.1, 4.2 e 4.3, temos que existe
uma escolha adequada para r < 0.297.
O valor de que permite pontos mais esparsos obtido quando se maximiza r, que
equivale a aproximadamente = 0.637, equivalente a = 1.70. 

4.3 Crust 2D

Nesta seo apresentamos definies e teoremas relacionados ao crust bidimensional.


Resultados presentes na seo 4.2 sero utilizados nesta seo.

Definio 53 (Crust) Consideremos P C e V os vrtice das clulas do diagrama de


Voronoi de P . Seja P 0 = P V e consideremos a triangulao de Delaunay de P 0 . Uma
aresta de Delaunay pertence ao crust de P se ambos os pontos finais da aresta pertencem a
P.

O algoritmo 4 apresenta o algoritmo para obter o crust 2D.


4.3 Crust 2D 55

Algoritmo 4 Crust 2D
Para um conjunto de pontos P
Calcule a triangulao de Delaunay de P
para todo tringulo t faa
Calcule seu dual (definindo o conjunto V )
fim do para
Calcule a triangulao de Delaunay de P 0 = P V
Selecione as arestas de P 0 que no tem vrtices de V

Observao 16 Se uma aresta entre dois pontos de P pertence triangulao de Delaunay


de P 0 , ento esta pertence triangulao de Delaunay de P , portanto o crust de P est
contido na triangulao de Delaunay de P .

Amenta demonstra que, para uma curva r-amostrada e para um valor de r suficientemente
pequeno, todas as arestas desejadas pertencem ao crust e que as indesejveis no pertencem.
Tais teoremas so enunciados e demonstrados a seguir (Amenta et al., 1998a).

Teorema 13 Dada uma curva suave r-amostrada, com r < 0.40, o crust contm as arestas
entre cada par de amostras adjacentes.

Demonstrao: Pela definio, uma aresta pertence ao crust se e somente se existe um crculo
tocando os extremos da aresta vazio de outros pontos da amostragem e vrtices de Voronoi.
Afirmamos que isto verdade para cada disco de Voronoi curvo sobre uma curva r-amostrada,
pois um disco de Voronoi curvo toca cada par de vrtices adjacentes (teorema 4). Seja B um
disco de Voronoi curvo centrado em p. Por definio, B no contm pontos da amostragem.
Ento temos que mostrar que B no contm vrtices de Voronoi. Consideremos a figura 4.9.
O ponto v um vrtice de Voronoi que assumimos, por contradio, estar no interior de B.
Assumimos sem perda de generalidade LF S(p) = 1. Como v um vrtice de Voronoi, o raio
R do crculo de Voronoi V de centro em v no mximo a distncia das amostras induzidas
por p. Este crculo de Voronoi deve conter um ponto do eixo medial (teorema 3). Por outro
lado, a circunferncia B 0 de raio LF S(p) = 1 de centro p no contm pontos do eixo medial,
pela definio de Local Feature Size. Tomemos r tal que V esteja contido inteiramente dentro
de B 0 , definindo a contradio. Qualquer ponto em V est a uma distncia no mximo r + R
de p, e R maximizado quando v est na fronteira de B. Neste caso, R o comprimento da
base de um tringulo issceles cujas outras arestas tm comprimento r. Como a curva suave
em p (teorema 7), o ngulo em p , no mximo, 0.5( + 2arcsen(r/2) e R/2 rsen(/2).
Juntando as duas condies sobre os ngulos temos que: r + 2rsen( +2arcsen(r/2)
4
) 1. Se
56 Captulo 4 A famlia Crust

r [0, 1], o valor da expresso acima no mximo /2, e tal expresso crescente neste
intervalo. Ento, para r 0.40 temos a inequao satisfeita. 

V
v
R r

p
B
B

Figura 4.9: Construindo a contradio do teorema 13.

Teorema 14 Dada uma curva suave r-amostrada com r < 0.252, o crust no contm arestas
de pontos no adjacentes.

Demonstrao: Consideremos a figura 4.10 para demonstrao do teorema. Temos que


mostrar que no existem crculos vazios de amostras e vrtices de Voronoi tocando quaisquer
dois pontos no adjacentes. Assumiremos, por contradio, que existe um crculo B que
contm algum ponto em seu interior. Consideremos os dois crculos V e V 0 tocando s e t e
centrados em v e v 0 em que B interceptam o bissetor perpendicular de s e t. Afirmamos que
se B vazio de vrtices de Voronoi, ento V e V 0 so vazios de pontos de P . Se um deles
fosse no vazio, poderia conter um ponto s0 P determinando um crculo mnimo tocando
s, t e s0 , vazio de todos outros pontos e, portanto induzindo a ter um vrtice de Voronoi dentro
de B. Consideremos a figura 4.11, que um zoom da figura 4.10 na regio do ponto s. O
ngulo entre os crculos tangentes aos crculos V e V 0 em s igual a /2 (devido aos fatos
do semi-crculo inferior de B, contendo s, ser conjunto dos pontos que formam um ngulo
raso com v e v 0 e as tangentes serem perpendiculares a vs e v 0 s. O ngulo s[1 ss2 , no mnimo,

4arcsen(r/2) (teorema 8). Sem perda de generalidade, seja V o crculo tal que o ngulo
entre a tangente de V e s e a corda (s, s1 ) ou (s, s2 ) maior que o ngulo correspondente
do outro lado. Ento:

1/2( 4arcsen(r/2) /2) = /4 2arcsen(r/2) (4.4)

Se assumirmos, sem perda de generalidade, que o raio de V um, o limite de , ento


pela observao 13:
4.3 Crust 2D 57

||s s2 || 2sen(/4 2arcsen(r/2)). (4.5)

Existe um disco de Voronoi curvo p entre s e s2 , (teorema 4) e portanto como a curva


r-amostrada. Substituindo a equao 4.5 na definio de Local Feature Size temos:

sen(/4 2arcsen(r/2)) r.LF S(p) (4.6)

Agora temos um limite superior para LF S(p), de modo que estabelecida a contradio.
Os pontos s e t pertencem a duas diferentes componentes conexas da interseco C V ,
portanto V contm um ponto do eixo medial (teorema 2).

t
V V
B

v v

p
s
s1 s2

Figura 4.10: Representao geomtrica da contradio do teorema 14.

s
s1 s2

Figura 4.11: Nota-se que o ngulo maior que seu correspondente ngulo do outro lado.

O ponto p est no interior de V , com raio um, ento LF S(p) 2. Portanto:

sen(/4 2arcsen(r/2)) 2r (4.7)

A equao 4.7 crescente para r [0, 1]. Escolhendo 0 r 0.252 temos a desigual-
dade violada, implicando numa contradio. 
58 Captulo 4 A famlia Crust

4.4 Comparaes entre o crust e o -skeleton

Como anlise dos mtodos de reconstruo de curvas planares apresentados temos as


seguintes consideraes, na qual a curva suave r-amostrada:

A triangulao de Delaunay contm as arestas que definem a reconstruo de uma curva


suave para r 1;

Para r 0.40 o crust contm a reconstruo da curva suave;

Para r 0.279 o -skeleton a reconstruo da curva suave;

Para r < 0.252 o crust a reconstruo da curva suave.

Conforme os itens acima podemos concluir que o -skeleton tem uma garantia melhor de
reconstruo em relao ao crust. No entanto, pelos exemplos obtidos, notamos que o crust
tende a adicionar arestas que podem ser teis para a reconstruo (figuras 6.3 6.7).
O problema principal desta discusso se existe a possibilidade de generalizao destes
algoritmos para o espao Euclidiano tridimensional. O crust foi extendido para R3 , no entanto
no caso do -skeleton, no se conhece trabalhos descrevendo a tentativa de implementao
para R3 . O trabalho de Adamy (Adamy et al., 2002), apresentado no captulo 3, seo 3.2,
utiliza um conceito em que a idia do -skeleton est embutida.

4.5 Crust 3D

Como extenso do algoritmo crust 2D para o espao tridimensional, foram apresentados


dois trabalhos que se complementam. Um apresenta resultados tericos garantindo a recons-
truo (Amenta e Bern, 1999) e no segundo discutida a complexidade do algoritmo, sua
eficincia e aspectos de implementao (Amenta et al., 1998b). Este algoritmo denominado
raw crust.
O raw crust apresenta garantias de reconstruo da forma original da superfcie. No en-
tanto, so garantias fracas, acarretando a necessidade de amostragens muito densas. Para
4.5 Crust 3D 59

contornar este problema, etapas de ps-processamento so propostas para obteno de me-


lhores resultados. Adicionando estas etapas, o algoritmo passa a ser denominado de crust
(em sua verso 3D)2 .
A generalizao do algoritmo no direta para a reconstruo de uma superfcie suave
imersa em R3 . Pode ser notado que o vrtice de Voronoi (centro da circunsfera) de um tetrae-
dro sliver pode estar arbitrariamente prximo superfcie. Com isto, este vrtice de Voronoi
poderia acarretar na inexistncia de um tetraedro que conteria uma face da reconstruo.
Para solucionar este problema, a sada foi considerar os plos:

Definio 54 (Plos) Seja S uma superfcie suave, p um ponto de P S e Vp sua clula de


Voronoi. Definimos como plos os dois vrtices de Vp mais distantes de p, porm um interior
e outro exterior a S.

Definio 55 (Crust - verso 3D) Seja o conjunto de pontos P R3 e Vp os vrtices de


Voronoi dos pontos de P que so plos. Define-se por crust de P os tringulos da triangula-
o de Delaunay de P Vp , onde todos os vrtices pertencem a P .

O algoritmo para obteno do raw crust em linhas gerais:

Algoritmo 5 raw crust


Para um conjunto de pontos P
P seja subconjunto de uma superfcie
para todo p P faa
Calcule seus plos
fim do para
Calcule a triangulao de Delaunay de P unido com os plos
Mantenha apenas os tringulos cujos vrtices pertencem a P

O algoritmo original proposto por Amenta para deteco dos plos, para o algoritmo 5,
dado pelo algoritmo 6.
Na prtica no utilizamos o algoritmo 6 para a deteco dos plos. Ns adicionamos o
conjunto de pontos num bounding box e tratamos tanto pontos do fecho convexo quanto do
interior ao fecho convexo de maneira similar. Esta estratgia do bounding box aplicada ao
algoritmo de deteco dos plos tambm utilizado no algoritmo power crust, que apresen-
tamos na seo 4.6. A seguir apresentamos o teorema de garantia do raw crust:
2
Podemos observar que a definio formal de crust coincide com o algoritmo proposto por Amenta, deno-
minado raw crust e que quando se fala no algoritmo crust este possui etapas de ps-processamento.
60 Captulo 4 A famlia Crust

Algoritmo 6 Clculo de plos para o raw crust


Considere o diagrama de Voronoi do conjunto de pontos P
para todo p P faa
se p no pertence ao fecho convexo de P ento
seja p+ o vrtice de Vp mais distante de p.
fim do se
se p pertence ao fecho convexo de P ento
seja p+ um ponto no infinito fora do fecho convexo com direo pp+ igual ao valor
mdio da direo normal das faces encontradas em p
fim do se
Entre todos os vrtices de v de Vp tais que o ngulo p+ pv maior que /2, escolha o
mais distante de p para ser o p .
fim do para

Teorema 15 (Garantia do raw crust (Amenta et al., 1998b)) Seja P um conjunto de pontos
de uma superfcie suave r-amostrada S. Se r < 0.06 ento:

1. O raw crust de P contm um conjunto de tringulos topologicamente equivalente a S.

2. Cada ponto do raw crust tem distncia 5rLF S(p) a algum ponto p de S.

Notamos que a garantia do raw crust fraca (r < 0.06). Isto implica na necessidade de
uma amostragem de pontos extremamente densa para a convergncia do processo. Duas eta-
pas de ps-processamento foram propostas (Amenta et al., 1998b) para tornar a reconstruo
mais eficiente:

Filtering by Normal: Remove os tringulos tal que o ngulo entre sua normal e o
vetor definido pelo plo mais distante e um vrtice do tringulo formam um ngulo
muito grande (os autores argumentam sobre um ngulo prximo de 2 , diminuindo-o
at comear a surgir buracos na superfcie).

Trimming: Orienta os tringulos e plos consistentemente, isto , todos os tringulos


possuiro orientao no sentido anti-horario e os plos que pertencem ao exterior da
superfcie sero marcados como externos e os que pertencem ao interior como internos.
Tambm nesta etapa de ps-processamento extrai-se nesta etapa uma variedade linear
por partes sem bordo.

Maiores detalhes de implementao e descrio destas etapas de ps-processamento po-


dem ser encontrados nos trabalhos que descrevem o crust (Amenta et al., 1998b) e (Amenta
e Bern, 1999).
4.6 Power crust 61

Amenta demonstra que para uma superfcie r-amostrada o mtodo de deteco dos plos
(algoritmo 6) eficiente. Notemos que o plo p+ sempre existe e o plo p tambm sempre
existir, pois estar do lado oposto ao semi-espao definido pela face e que contm p+ e
este lado certamente contm vrtices da clula de Voronoi. Podemos tambm observar que
as clulas de Voronoi so finas e compridas e com isto os plos podem ser utilizados como
aproximao para os vetores normais da superfcie (figura 4.12), conseqentemente podem
ser aplicados aos mtodos baseados em funo implcita (Hoppe et al., 1992) e (Boissonnat,
1988).

Figura 4.12: A clula de Voronoi para superfcies r-amostradas so finas e compridas (fonte:
http://www.cs.utexas.edu/users/amenta/powercrust/).

4.6 Power crust

Dois trabalhos descrevem o algoritmo power crust, o primeiro trabalho descreve funda-
mentos tericos, resultados de garantia da reconstruo e um algoritmo terico para rotulao
das bolas polares (definio 56) (Amenta et al., 2001b). O segundo descreve detalhes do algo-
ritmo e caractersticas da implementao (Amenta et al., 2001a). Neste ltimo, um algoritmo
prtico para nomeao das bolas polares apresentado, pois na prtica nomear corretamente
as bolas polares como internas e externas no uma tarefa trivial. Tambm so apresentadas
extenses do algoritmo para tratamento de amostragens ruidosas, erros de aproximao de
ponto flutuante e representaes de variedades com bordo.
A idia principal do algoritmo power crust produzir uma aproximao linear por partes
do eixo medial utilizando triangulao de Delaunay com peso (definio 38) e o power dia-
grama (definio 37) para a obteno de uma variedade linear por partes da superfcie.
62 Captulo 4 A famlia Crust

Observao 17 (Power crust bidimensional) No apresentaremos separadamente a des-


crio do power crust bidimensional do tridimensional por dois principais motivos: O pri-
meiro que a generalizao do algoritmo bidimensional para o tridimensional feita di-
retamente, mas isto no implica que a implementao tambm foi generalizada de maneira
direta, uma vez que outros problemas surgiram na verso 3D, por exemplo clculo de duais
e problemas de ordem numrica. O segundo ponto que no existem na literatura resultados
tericos para o algoritmo bidimensional, mas na prtica este algoritmo apresenta resultados
mais satisfatrios que o crust e o -skeleton (ver figuras de 6.3 6.7).

A seguir apresentaremos definies necessrias na caracterizao do power crust.

Definio 56 (Bolas Polares) As esferas de centro nos plos e tocando os pontos da amos-
tragem mais prximos so denominados bolas polares.

Definio 57 (Power Crust) O power diagrama3 divide o espao em um conjunto de clu-


las que podemos classificar como internas ou externas superfcie. O conjunto de faces
poligonais que separam as clulas internas das externas chamado de power crust.

Definio 58 (Power Shape) O power shape definido como o dual do power crust e uma
aproximao para o eixo medial.

Observao 18 Os simplexos que definem o power shape so os duais das faces do power
diagrama que no definem o power crust.

Apresentamos, para o caso bidimensional, as etapas do algoritmo power crust na figura


4.13. Para o caso bidimensional, consideramos as bolas polares originadas de todos os vr-
tices de Voronoi. Em (a) temos a curva original, seu eixo medial e uma circunferncia bitan-
gente a curva de centro num ponto do eixo medial. Em (b) a amostragem e seu diagrama de
Voronoi. Em (c) circunferncias nas bolas polares e tocando as amostras mais prximas. Em
(d) o power diagrama do conjunto bolas polares. Em (e) o power crust e a aproximao do
eixo medial interno, aqui denominado por power shape, obtido pelas arestas definidas pelas
bolas polares internas.
O seguinte teorema demonstrado por Amenta (Amenta et al., 2001b) d uma idia intu-
itiva que o power diagrama pode ser utilizado para reconstruo:
3
O power crust calculado considerando as bolas polares como vrtices.
4.6 Power crust 63

Figura 4.13: (Fonte: http://www.cs.utexas.edu/users/amenta/powercrust/) Descrio do po-


wer crust em sua verso 2D.

Teorema 16 Dado o diagrama de Voronoi V de uma nuvem de pontos em Rn , o power


diagrama de todos os vrtices de V , sendo os pesos dos vrtices a distncia ao quadrado
do vrtice de Voronoi amostra mais prxima, a triangulao de Delaunay da nuvem de
pontos.

A figura 4.13-(d) exemplifica o teorema 16 e apresenta o power diagrama das bolas po-
lares (considerando todos os vrtices de Voronoi). Se aplicarmos a triangulao de Delaunay
na mesma amostragem que deu origem s bolas polares, notaremos que a triangulao de
Delaunay (tradicional) a igual ao power diagrama.
Os seguintes teoremas demonstrados por Amenta (Amenta et al., 2001b) garantem que o
power crust, para uma r-amostragem com r suficientemente pequeno uma representao
homeomorfa e prxima a superfcie original.

Observao 19 (Condio de amostragem) Amenta assume que as amostragens utilizadas


nas demonstraes das garantias so sempre r-amostragens, com r 0.1 e que as varieda-
des so sem bordo.
64 Captulo 4 A famlia Crust

Figura 4.14: ngulo formado entre a interseco de duas bolas polares.

Teorema 17 (Interseco rasa) Seja S uma superfcie suave r-amostrada, com r suficiente-
mente pequeno. O ngulo entre uma bola polar interna e externa no mximo r0 = 1r
r
=
O(r).

Este teorema diz que a interseco das bolas polares internas e externas, quando existir,
rasa (figura 4.14). Uma outra idia por trs deste teorema que as bolas polares internas
esto quase inteiramente contidas no interior do objeto. Amenta apresenta um trabalho em
que relata que a unio das bolas polares internas uma aproximao para o objeto (Amenta
e Kolluri, 2000). A figura 4.15 apresenta exemplos desta situao.
Os vrtices da amostragem de pontos, em geral, no so os vrtices do power crust, mas
Amenta apresenta o seguinte resultado que garante que os pontos da amostragem esto sobre
a reconstruo:

Teorema 18 Cada ponto da amostragem pertence ao power crust.

Os teoremas 19 e 20, demonstrados por Amenta garantem que dada uma r-amostragem
com r pequeno, o power crust prximo e homeomorfo superfcie original.

Teorema 19 (Proximidade) Qualquer ponto u de uma face do power crust est a uma dis-
tncia de no mximo O(r)LF S(x) para algum x da superfcie.

Teorema 20 (Homeomorfismo) Existe uma deformao contnua que transforma o power


crust na superfcie.

Observao 20 A sada do algoritmo power crust sempre uma variedade sem bordo. No
captulo 5 apresentaremos maneiras de obter variedades com bordo utilizando o power crust.
4.6 Power crust 65

Figura 4.15: Exemplos em que a unio de bolas polares internas determinam aproximaes
dos objetos.

Algoritmo 7 Power crust


Para um conjunto P de pontos
para todo p P faa
Calcule o conjunto de bolas polares Pp
fim do para
Calcule o power diagrama de Pp
para todo p Pp faa
Marque as bolas polares como internas ou externas superfcie ()
fim do para
Retorne as faces do power diagrama separando as clulas internas e externas como o power
crust.
66 Captulo 4 A famlia Crust

Em linhas gerais, o algoritmo 7 caracteriza o power crust:


Amenta (Amenta et al., 2001a) demonstra resultados tericos assegurando que, a partir
de uma superfcie r-amostrada, com r suficientemente pequeno, pode-se classificar correta-
mente as bolas polares como internas e externas a superfcie com base no ngulo formado
pela interseco de uma bola polar externa e uma interna (Amenta et al., 2001b).
No algoritmo 7 (linha denotada por ) acrescentamos o algoritmo 8 que nomeia as bolas
polares.

Algoritmo 8 Nomeia as bolas polares


Selecione um ponto do fecho convexo de P
Marque sua bola polar com vrtice no infinito como externa e a oposta como interna e
insira ambas numa fila;
enquanto a fila no estiver vazia faa
retire uma bola polar da fila e examine cada vizinho q no marcado do power diagrama
se se a bola polar de q intercepta a bola polar p num ngulo maior que /4 ento
atribua a q o mesmo rtulo de p e insira-o na fila;
para cada ponto s P tal que q uma bola polar de s faa
se a bola polar q 0 oposta a q em s no est marcada, atribua a q 0 o rtulo oposto
de q e insira q 0 na fila;
fim do para
fim do se
fim do enquanto

Amenta apresenta o seguinte teorema (Amenta et al., 2001b) que prova que o algoritmo
8 correto:

Teorema 21 Toda bola polar recebe um rtulo pelo algoritmo, e mais, as bolas polares so
rotuladas corretamente, isto , bolas polares internas (externas) so rotuladas como internas
(externas).

Os dois seguintes teoremas caracterizam o formato de uma clula de Voronoi, dado uma
r-amostragem de uma superfcie. O teorema 22 constata a largura e o teorema 23 constata o
comprimento de uma clula de Voronoi. Estes teoremas so utilizados no captulo 5 para ca-
racterizar quando um ponto da amostragem rudo. No captulo 7 utilizamos estes resultados
como auxlio no processo de deteco contornos de imagens.
4.7 Cocone 67

Teorema 22 Seja P uma r-amostragem de uma superfcie S, para r suficientemente pe-


queno. Para qualquer p P tal que > arcsenr0 , temos que:

r0
||p v|| LF S(p) (4.8)
sen( arcsenr0 )

Em que r0 = 1r
r
, v representa os vrtices da clula de Voronoi de p e o ngulo entre o
vetor normal em p e o vetor

pv.

Teorema 23 A distncia de cada plo sua amostra p no mnimo LF S(p).

4.7 Cocone

Apesar de garantias tericas de reconstruo e dos modelos gerados atravs do crust


(Amenta et al., 1998b) serem satisfatrias, o clculo necessrio para realizar duas triangu-
laes de Delaunay a principal desvantagem deste algoritmo.
Amenta props um algoritmo baseado no crust mas que utiliza apenas uma triangulao
de Delaunay no processo de reconstruo. Este algoritmo denominado cocone (Amenta
et al., 2002). As provas apresentadas para garantia de reconstruo do cocone tambm so
simplificadas.
Um cocone Cp de um ponto p de uma amostragem definido como o duplo cone, sendo
p seu pice e o ngulo entre a normal do ponto p e a lateral do cone igual 3
8
(figura 4.16).
Como o plo de p+ de p aproxima o vetor normal n em p, o cocone aproxima uma
vizinhana do plano tangente em p. Para cada ponto p, o algoritmo determina todas as arestas
de Voronoi de Vp que so interceptadas pelo cocone CP . Os tringulos duais destas arestas
de Voronoi constituem o conjunto de tringulos que definem a reconstruo.
Os trs teoremas que apresentamos a seguir, demonstrados por Amenta (Amenta et al.,
2002), garantem homeomorfismo e proximidade do cocone.
O primeiro teorema nos diz que os tringulos candidatos a representao da superfcie
tendem a apresentar uma forma de um tringulo equiltero:

Teorema 24 (Condio de tringulos pequenos) Seja R o circunraio de qualquer trin-


1.3r
gulo t de uma r-amostragem. Ento para cada vrtice p de t tem-se: R 1r lf s(p),
para r 0.09.
68 Captulo 4 A famlia Crust
+
p

V
p



n
S
p

 
        

Figura 4.16: Cocone (em azul) de pice em p. n o vetor normal, p+ e p so os plos de p.


VP a clula de Voronoi de p.

O segundo teorema trata que tais tringulos com circunraio pequeno tendem a serem
tangentes superfcie, isto :

Teorema 25 (Condio de tringulos tangentes superfcie) Consideremos uma superf-


cie S r-amostrada, com r 0.09. Se nt o vetor normal de um tringulo t e x um vrtice de
t ento o ngulo nt nx + arcsen 23 sen2, onde arcsen 1.3r
1r
e o ngulo nt nx o
menor ngulo entre os vetores nt e nx .

O ltimo teorema apresenta para quais valores de r, em uma superfcie r-amostrada tem-
se a garantia da reconstruo.

Teorema 26 (Homeomorfismo) Seja uma superfcie S r-amostrada com r 0.06. Ento a


reconstruo pelo algoritmo cocone homeomorfa S.

Alm da utilizao de apenas uma triangulao de Delaunay, este algoritmo tambm eli-
mina a etapa de ps-processamento filtering by normal, proposta por Amenta (Amenta et al.,
1998b), pois esta j alcanada diretamente pelo cocone. Apenas a segunda etapa de ps-
processamento trimming aplicada ao cocone.
4.8 Tight cocone 69

4.8 Tight cocone

O tight cocone, proposto por Dey e Goswami, uma etapa de ps-processamento do


cocone (Dey e Goswami, 2002a). A sada deste algoritmo uma superfcie denominada
water tight:

Definio 59 (Water Tight (Dey e Goswami, 2002a)) Uma superfcie denominada water
tight se um 2-complexo simplicial em R3 cujo espao gerado o mesmo que a fronteira de
uma 3-variedade em R3 (figura 4.17).

a) b)

c) d)

Figura 4.17: a) e b) exemplos de superfcies water tight, c) e d) superfcies no water tight.

A idia geral deste algoritmo nomear os tetraedros de Delaunay como internos e ex-
ternos, baseado na superfcie obtida pelo cocone. Os tetraedros nomeados como externos
so removidos e a fronteira dos tetraedros nomeados como internos definem a fronteira de
uma superfcie water tight. Este fato possvel devido ao princpio da localidade (Dey e
Goswami, 2002a) que assegura que regies mal amostradas so locais.
Isto significa que o cocone calcula a maioria da superfcie esperada, com buracos que so
localmente reparveis. Claro que se este princpio no for satisfeito, a sada do tight cocone
pode no ser uma boa representao da superfcie original.
Dey apresenta discusses sobre das implementaes do cocone e do tight cocone (Dey
et al., 2001) e (Dey e Goswami, 2002b).
70 Captulo 4 A famlia Crust

4.9 Consideraes finais

Neste captulo apresentamos o conjunto de algoritmos que apresentaram os primeiros re-


sultados de garantia de reconstruo homeomorfa e prxima variedade original. Definies
e resultados que garantem a reconstruo das formas originais de curvas e superfcies tambm
foram apresentadas.
Existem alguns levantamentos bibliogrficos na literatura que tambm relatam trabalhos
de reconstruo. Edelsbrunner apresentou um trabalho que descreve um conjunto de algo-
ritmos de reconstruo via triangulao de Delaunay (Edelsbrunner, 1998). Neste trabalho
o autor buscou apenas descrever algoritmos, sem realizar comparaes e focar em outras
tcnicas de reconstruo alm das baseadas em esculpimentos. Dey apresenta um recente
levantamento bibliogrfico em que as primeiras comparaes tericas entre algoritmos so
realizadas (Dey, 2002). Neste trabalho Dey focou em algoritmos que apresentam garantias
de reconstruo. Gois apresenta um levantamento bibliogrfico de tcnicas de esculpimento
com comparaes prticas, alm de comparaes tericas e descries dos algoritmos (Gois
et al., 2003).
No captulo seguinte discutiremos as implementaes que realizamos.
C APTULO

5
Implementaes

Neste captulo descrevemos um conjunto de caractersticas das implementaes que rea-


lizamos, focando principalmente no power crust.
No entramos em detalhes das implementaes, pois acreditamos que a descrio dos
algoritmos no captulo 4, juntamente com os comentrios realizados neste captulo oferecem
uma idia base em relao s implementaes.
Durante as implementaes, estivemos em constante contato com os autores dos trabalhos
e com o comit da biblioteca CGAL para esclarecimento de eventuais duvidas e sugestes.
Os principais colaboradores foram Nina Amenta (amenta@cs.ucdavis.edu), Andreas Fabri
(Andreas.Fabri@sophia.inria.fr) e Sylvain Pion (Sylvain.Pion@mpi-sb.mpg.de).

5.1 As triangulaes

A triangulao de Delaunay o processo mais custoso nas tcnicas de gerao de ma-


lhas superficiais a partir de nuvens de pontos quando se utiliza tcnicas de esculpimento. A
escolha de um algoritmo robusto e de estruturas de dados eficientes de fundamental im-
portncia para a manuteno da triangulao e nos processos de esculpimento.
Choi e Amenta (Choi e Amenta, 2002) argumentam que existem algoritmos em que a
triangulao de Delaunay em R3 pode alcanar tempo linear na prtica para pontos gerados
aleatoriamente, no entanto, para pontos distribudos sobre uma superfcie este tempo pode se

71
72 Captulo 5 Implementaes

tornar quadrtico. Choi tambm faz comparaes entre as triangulaes de Delaunay mais
utilizadas na literatura para dados distribudos em superfcies.
A biblioteca que utilizamos para obtermos as triangulaes de Delaunay tradicional e com
peso so as presentes na biblioteca CGAL - Computational Geometry Algorithms Library,
verso 2.4 (CGAL, 2004) que contm diversas triangulaes implementadas de maneira efi-
ciente, robusta e flexvel a alteraes e adaptaes (Boissonnat, 1988).
Em 4 de novembro de 2003 uma nova verso da biblioteca CGAL comeou a ser dis-
tribuda (verso 3.0). No realizamos testes ainda com esta nova verso. Mas acreditamos
que no surgiro grandes dificuldades de migrao para a nova verso, pois as classes no
sofreram modificaes significativas. Apenas os algoritmos bidimensionais que teremos que
redefinir a interface grfica de entrada e sada pois na verso que utilizamos possua a in-
terface LEDA (ver seo seguinte) e na atual verso no est disponvel mais esta interface,
apenas interfaces baseadas no Qt1 .
Alm dos pontos citados acima, outros foram de fundamental importncia na escolha da
biblioteca CGAL: As classes presentes na biblioteca so muito bem documentadas e esto
disponveis on-line no site http://www.cgal.org. Existem interfaces para outras bibliotecas
(por exemplo LEDA2 ) e dispositivos de entrada e sada de dados. CGAL escrita em C++
padro e pode ser compilada sob diversos sistemas operacionais (compilamos e testamos os
cdigos bi e tridimensionais que implementamos nos sistemas operacionais Windows XP e
Linux-Slackware). Existe uma lista de discusso em que colaboramos e recebemos colabo-
raes de usurios de todo o mundo e desenvolvedores da biblioteca.
O ltimo ponto, e no menos importante, o suporte a classes com aritmtica de preciso
arbitrria, uma vez que diversos clculos geomtricos so necessrios para realizar as trian-
gulaes de Delaunay tradicional e com peso, e trabalhar com tipos numricos convencionais
se torna invivel nas triangulaes de conjuntos de pontos que representem superfcies.
Uma otimizao pode ser realizada na etapa de insero de pontos na triangulao de
Delaunay, uma vez que a triangulao um processo custoso nos mtodos de esculpimento.
CGAL oferece uma estratgia de otimizao da triangulao de Delaunay na etapa de in-
sero dos pontos denominada Hierarchy Triangulation. No site da biblioteca CGAL encontra-
se explicaes desta estratgia de insero e como utiliz-las. O processo de otimizao para
triangulao de Delaunay com peso ainda no foi desenvolvido para a bilbioteca.

1
http://trolltech.com/qt.
2
http://www.mpi-sb.mpg.de/LEDA/index.html.
5.2 Entrada/Sada 73

A seguir faremos comentrios gerais sobre as implementaes que realizamos.

5.2 Entrada/Sada

Os arquivos de entrada (as nuvens de pontos) dos algoritmos implementados so formados


pelas coordenadas dos pontos, por exemplo o arquivo formado por 5 pontos em R3 dado da
seguinte maneira:

5.200 1.300 1.700


3.200 4.700 1.200
1.500 1.300 7.900
1.500 3.700 0.000
-8.000 0.200 -7.000

Ou 5 pontos em R2 para os algoritmos bidimensionais:

0.000 2.300
1.200 3.200
-4.300 2.500
1.700 2.200
1.600 2.200

Podemos variar o nmero de casas decimais. Na literatura arquivos de nuvens de pontos,


como descrito anteriormente, em geral, possuem extenso .pts.
As implementaes bidimensionais ainda permitem que o usurio entre com os pontos
atravs de cliques com o mouse na janela de entrada/sada grfica CGAL/LEDA, tambm
escrita em C++ padro.
Para a visualizao dos dados tridimensionais, podemos optar por sadas em trs for-
matos: .vtk, .off e .vrml.
Os arquivos com extenso .vtk so formatos de arquivo para a biblioteca grfica VTK -
Visualization Tool Kit3 desenvolvida com base no Opengl.
3
http://www.vtk.org
74 Captulo 5 Implementaes

O Geomview4 um software para sistemas Linux que utilizamos para visualizao de


dados tridimensionais. Os arquivos de entrada do Geomview possuem extenso .off.
Uma vantagem de utilizar o Geomview com a biblioteca CGAL a existncia de classes
implementadas na biblioteca que permitem utilizar o Geomview como dispositivo de sada
atravs de operadores sobrecarregados da linguagem C++.
J a extenso .vrml5 interessante, pois permite visualizar e realizar operaes (por exem-
plo translao, rotao) nos objetos atravs de navegadores da internet que possuam plug-ins
especficos.
Informaes sobre como estes arquivos so representados so encontradas nos sites cita-
dos anteriormente.

5.3 Algoritmos bidimensionais

A implementao dos algoritmos bidimensionais ofereceu maturidade para compreen-


dermos e implementarmos as verses tridimensionais dos algoritmos. Implementamos trs
algoritmos bidimensionais, -skeleton (existe somente a verso 2D), crust e power crust.
Atravs destas implementaes constatamos diversas caractersticas que apareceram tam-
bm no caso tridimensional e tambm foram teis para determinarmos o formato das classes
dos algoritmos.

5.4 Raw crust

Em nossa implementao do raw crust ao invs de realizarmos uma triangulao com n


pontos (triangulao dos pontos da amostragem) e em seguida outra com cerca de 3n pontos
(triangulao dos pontos da amostragem unido com os plos), realizamos apenas uma tri-
angulao de 3n pontos em que os n primeiros pontos so originados da amostragem e os
outros 2n pontos, inseridos em seguida, so os plos. Como no implementamos os ps-
processamentos, a estrutura que utilizamos para gerar a reconstruo desta forma mais
simples. Isto nos permitiu analisar o quanto vantajoso as etapas de ps-processamento.

4
http://www.geomview.org
5
http://www.vrml.org/
5.5 Power crust 75

O raw crust, em geral, gera modelos com menos buracos que o crust. No entanto, surge
um nmero excessivo de tetraedros slivers nas solues do raw crust. A tabela 5.1 apresenta
o nmero de tetraedros slivers e o nmero de tringulos presentes nos modelos.
Elipside Toro Salsichas Mo
slivers 6 363 1203 16723
tringulos 188 1724 5897 106530
Tabela 5.1: Raw crust: Atravs desta tabela possvel verificar o nmero de tetraedros slivers
e o nmero de faces presentes em alguns modelos.

Na triangulao de Delaunay de pontos amostrados sobre superfcies, em geral, os tetrae-


dros pertencentes ao interior so finos e compridos, e o principal problema o nmero exces-
sivo de tetraedros slivers na superfcie (na figura 5.1 podemos notar, em vermelho, tetraedros
slivers pertencentes a fronteira do objeto). A presena de tetraedros slivers pode acarretar em
problemas de aproximao numrica, pois os testes geomtricos da triangulao de Delaunay
envolvem clculos de determinantes. Este problema no s aparece no algoritmo raw crust,
mas na quase totalidade dos algoritmos baseados em esculpimento presentes na literatura.

Figura 5.1: Tetraedros slivers presentes na superfcie dos objetos (em vermelho).

5.5 Power crust

Questes referentes a aproximao numrica devem ser destacadas na implementao do


power crust. Os tetraedros presentes na triangulao de Delaunay com peso necessria para
76 Captulo 5 Implementaes

obter o power crust so, em geral, extremamente finos e compridos e algumas vezes at
computacionalmente planares, o que muitas vezes compromete o processo de reconstruo,
sendo necessrio realizarmos pequenas perturbaes nas amostras antes de executarmos a
primeira triangulao de Delaunay necessria para o power crust.
Com o intuito de obter estimativas para os vrtices das clulas de Voronoi infinitas, adi-
cionamos oito vrtices na triangulao definindo um bounding box que contm a nuvem de
pontos em seu interior. Conforme aumentamos o tamanho do bounding box obtemos estima-
tivas mais precisas dos plos, no entanto, existe uma tendncia de ocorrerem erros numricos
com maior freqncia. Para o caso bidimensional colocamos o bounding box at 500 vezes
o tamanho do menor bounding box que contm o conjunto de pontos. Para o caso tridi-
mensional colocamos entre 5 a 10 vezes o menor bounding box para obtermos resultados
satisfatrios.

Clculo da interseco entre as esferas

Para encontrarmos o ngulo entre as duas esferas procedemos da seguinte maneira:


Consideremos a figura 5.2 como sendo um corte de duas esferas que se interceptam.
Sejam as esferas e1 e e2 com raios r1 e r2 e centros c1 e c2 respectivamente. A interseco
de e1 e e2 um crculo m, representado pela figura 5.2 como um segmento de reta (devido
ao corte). Este crculo tem centro c3 e raio r3 . Sejam d = ||c1 c2 ||, d1 = ||c1 c3 || e
d2 = ||c2 c3 ||.
Ento temos o sistema de equaes:

d1 + d2 = d

d1 2 + r3 2 = r1 2 (5.1)

2
d2 + r3 2 = r2 2

Com incgnitas d1 , d2 e r3 . Ento sejam k um ponto qualquer do crculo m e = c[


1 kc2 . O

ngulo entre as esferas = , pelo fato da superfcie das esferas serem perpendiculares
aos segmentos c1 k e c2 k em k.
No foi necessrio implementar um mtodo de resoluo do sistema de equaes 5.1.
Atravs de substituies das equaes em 5.1 conseguimos obter expresses para as incgni-
tas.
5.5 Power crust 77
e2

e1

k
r1 r3 r2

c1 c3 c2

Figura 5.2: ngulo entre as esferas: exemplo bidimensional.

Rotulao dos plos: Algoritmo prtico

Quando a superfcie bem amostrada, o algoritmo de rotulao das bolas polares (algo-
ritmo 8, que chamaremos de algoritmo terico) provado ser correto utilizando dois fatos:
O primeiro que as interseces entre bolas polares internas e externas, quando existem,
pequena e o outro que, para cada amostra, uma bola polar interna e a outra externa.
Neste algoritmo ocorrem falhas facilmente devido ao fato das condies de amostra-
gem geralmente no serem verificadas e o algoritmo ser muito sensvel a perturbaes nas
amostras. Se uma bola polar receber um rtulo errado, o erro se propaga e a reconstruo
fica comprometida. Para solucionar este problema Amenta (Amenta et al., 2001a) sugere
uma heurstica baseada numa lista de prioridade em que as bolas polares mais confiveis so
rotuladas primeiro. Esta heurstica explicada a seguir:
Para cada bola polar mantemos dois valores 0 in 1 e 0 out 1, que representam
a possibilidade da bola polar ser interna ou externa respectivamente, em que 0 incerteza e 1
certeza. O processo inicializado atribuindo s bolas originadas das amostras do bounding
box out = 1 e in = 0. Os plos restantes inicializamos in = out = 0.
Todas as bolas polares so colocadas numa lista de prioridade, com prioridade determi-
nada pelos valores in e out. Se apenas um dos valores no nulo, ns utilizamos o valor no
nulo como a prioridade. Se ambos os valores so no nulos a rotulao desta bola polar deve
ocorrer o mais tarde possvel e so dadas a estas bolas a prioridade de 1 |in out|. Note
que este valor est no intervalo [0, 1].
78 Captulo 5 Implementaes

A cada iterao o algoritmo remove-se o topo da lista e rotula-o conforme o maior valor
entre in e out. Ento propaga os novos valores de in e out para o restante da lista de priori-
dade, alterando as prioridades das bolas polares.
Dois testes so realizados para alterao das prioridades da lista, que descrevemos a
seguir.
O primeiro baseado no ngulo formado pelo centro da bola polar p, do topo da lista,
cada amostra s (que tem p como plo) e a segunda bola polar q de cada s. Na figura 5.3 apre-
sentamos um exemplo bidimensional do primeiro teste de alterao da lista de prioridades.



s s

q q

Figura 5.3: Diagrama de Voronoi em vermelho, em linhas contnuas pretas, arestas de De-
launay. Nomeado a bola polar p, alteram-se as prioridades das bolas polares q, pelo valor do
ngulo = psq.
c

Notemos que o ngulo [/2, ] (pela definio do algoritmo de deteco dos plos).
Conforme o ngulo se aproxima de a chance maior de q ter rtulo oposto ao de p. Para
medir o peso da conexo entre os plos p e q, utilizamos: 0 cos() 1.
A segunda baseada na interseco entre as bolas polares. Conforme o teorema 17, a
interseco entre uma bola polar interna e uma externa rasa. Ento se a interseco for
funda mais provvel que p e q tenha o mesmo rtulo. Ento como medida de conexo entre
p e q 0 cos() 1, em que o ngulo formado pelas duas bolas polares (figura
4.15).
A discusso acima sumarizada no algoritmo 9. O algoritmo 10 representa o critrio de
atualizao da lista de prioridades.
5.5 Power crust 79

Algoritmo 9 Algoritmo prtico de rotulao dos plos


para todo plo p P faa
inicialize p.in = p.out = 0.0
insira p na lista de prioridade l
fim do para
para todo p adjacente ao bounding box faa
p.out = 1
l.atualize(p)
fim do para
enquanto l 6= faa
l.remove_topo(p)
se p.in > p.out ento
p.label = IN e p.temp = p.in
caso contrrio
p.label = OU T e p.temp = p.out
fim do se
para todo s tal que p plo faa
Tome q como sendo o outro plo de s
q.labeloposto(p.label) = max(p.temp (cos(psq)),
c q.labeloposto(p.label)
l.atualize(q)
fim do para
para toda interseco entre p e seus plos vizinhos q faa
q.(p.label) = max(p.temp (cos()), q.(p.label)
fim do para
fim do enquanto

Algoritmo 10 Lista::atualize
Entrada do algoritmo : p
se p.in > 0 e p.out > 0 ento
p.priority = |p.in p.out| 1
caso contrrio
p.priority = max(p.in, p.out)
fim do se

Para o caso bidimensional, foram implementados ambos algoritmos terico e prtico de


rotulao dos plos. Resultados destas implementaes esto presentes na figura 5.4.

Clculo do dual com peso

A verso 2.4 da bilbioteca CGAL no possui uma implementao do clculo de duais


de tetraedros da triangulao de Delaunay com peso (na atual verso 3.0 tambm no est
80 Captulo 5 Implementaes

a) b) c)

d) e) f)

g) h) i)

Figura 5.4: Comparao entre o algoritmo de rotulao dos plos terico (algoritmo 8) e
prtico (algoritmo 9): Em a) b) e c) o conjunto de pontos, em d) e) e f) a sada do algoritmo
quando aplicado o algoritmo terico, em g) h) e i) quando aplicado o algoritmo prtico.

disponvel), tambm conhecidos como ortocentros. A seguir descrevemos o clculo do orto-


centro e a estratgia que utilizamos para reduzir o nmero de operaes aritmticas.
Seja o tetraedro t com vrtices com peso p1 = (x1 , y1 , z1 , w1 2 ), p2 = (x2 , y2 , z2 , w2 2 ), p3 =
(x3 , y3 , z3 , w3 2 ) e p4 = (x4 , y4 , z4 , w4 2 ) e com ortocentro o = (ox , oy , oz , wo 2 ). Apresentamos
a construo da expresso que determina o ortocentro:
Sejam os determinantes:

x1 y1 z1 1
x2 y2 z2 1
a= (5.2)
x3 y3 z3 1
x4 y4 z4 1
5.5 Power crust 81

x1 2 + y1 2 + z1 2 w1 2 y1 z1 1
x2 2 + y2 2 + z2 2 w2 2 y2 z2 1
bx = + 2 (5.3)
x3 + y3 2 + z3 2 w3 2 y3 z3 1
x4 2 + y4 2 + z4 2 w4 2 y4 z4 1

x1 2 + y1 2 + z1 2 w1 2 x1 z1 1
x2 2 + y2 2 + z2 2 w2 2 x2 z2 1
by = 2 (5.4)
x3 + y3 2 + z3 2 w3 2 x3 z3 1
x4 2 + y4 2 + z4 2 w4 2 x4 z4 1

x1 2 + y1 2 + z1 2 w1 2 x1 y1 1
x2 2 + y2 2 + z2 2 w2 2 x2 y2 1
bz = + 2 (5.5)
x3 + y3 2 + z3 2 w3 2 x3 y3 1
x4 2 + y4 2 + z4 2 w4 2 x4 y4 1

bx by bz
Consideremos ox = 2a
, oy = 2a
e oz = 2a
. O ortocentro dado por:

o = ox , oy , oz , (ox x1 )2 + (oy y1 )2 + (oz z1 )2 w1 2



(5.6)

Observao 21 O principal problema no clculo do ortocentro que o determinante em 5.2


pode ser um valor muito prximo de zero, caso os pontos sejam praticamente coplanares.
A classe numrica que utilizamos para representar pontos flutuante com preciso arbitrria
no suporta diviso exata e converte numerador e denominador para double padro da lin-
guagem C + +, podendo anular o denominador.

Para contornar o problema constatado na observao 21 adotamos as seguintes estrat-


gias: A primeira quando identificamos que a diviso ser por zero, realizamos uma pequena
perturbao em uma das coordenadas dos vrtices do tetraedro de maneira que este vrtice se
afaste do plano definido pelos trs outros vrtices do tetraedro.
A segunda estratgia o teste de ortogonalidade, em que verificamos a ortogonalidade
do ortocentro com seu tetraedro. Este teste verifica se o ortocentro calculado ortogonal aos
quatro vrtices do tetraedro.
82 Captulo 5 Implementaes

Estas estratgias no so sugeridas no trabalho original de Amenta, pois a triangulao


e os predicados numricos utilizados na implementao do power crust fornecem resultados
satisfatrios (Amenta et al., 2001a).
Utilizamos uma estratgia para reduzir o nmero de operaes aritmticas dos clculos
(utilizada pela biblioteca CGAL no clculo do circuncentro) que aplicar uma translao
ao tetraedro de modo que um de seus vrtices fique na origem do sistema de coordenadas
cartesianas. Com esta operao reduzimos a ordem do determinante, que de 4, para 3,
implicando na reduo do nmero de operaes significativamente. A figura 5.5 apresenta o
esquema de translao do tetraedro para reduo do nmero de operaes.

q q

s p s
p q
r r

p s
r

a)
b) c)

Figura 5.5: Estratgia para reduo dos clculos necessrios para determinao do ortocentro:
a) situao inicial, b) nesta etapa realiza-se a translao do tetraedro para a origem do sistema
de coordenadas e feito o clculo do ortocentro para o tetraedro transladado, c) translada-se
novamente o tetraedro para sua posio inicial e conseqentemente seu ortocentro.

Identificao de buracos

A sada do power crust uma variedade sem bordo. No entanto alguns conjuntos de dados
so originados de variedades com bordo. Podemos observar que as faces do power crust que
tampam o bordo da variedade esto entre bolas polares cujas interseces so fundas. Este
fato ocorre pois, neste caso, esferas internas pulam para fora do objeto. Definimos ento
um parmetro para omitir as faces do power crust cuja interseco entre as bolas polares so
fundas. A figura 5.6 apresenta um exemplo desta aplicao.
5.5 Power crust 83

a) b) c)

Figura 5.6: Representando variedade com bordo: a) exemplo de meio toro. Note que nos
extremos do objeto as bolas polares internas esto entre o interior e o exterior, b) omitindo as
faces do power diagrama destas esferas e c) verso original do power crust do objeto.

Extenses

Implementamos duas extenses para o power crust: A suavizao dos pontos com o
intuito de gerar elementos mais regulares e triangulao das faces com mais de trs vrtices
uma vez que a sada do power crust no uma malha triangular.

Suavizao

Aplicamos um mtodo de suavizao das coordenadas para obter uma malha com ele-
mentos mais regulares e os vrtices melhor distribudos. O filtro que aplicamos denominado
suavizao laplaciana.
O algoritmo procede da seguinte maneira: Dado um vrtice v, seja Vv = {v1 , ..., vk } os
vrtices no link de v (definio 24). As coordenadas de v so alteradas segundo a mdia
aritmtica das coordenadas dos vrtices de Vv .
O filtro laplaciano no pode ser aplicado a todos os vrtices. A seguir apresentamos as
duas excees:

1. Vrtices do bordo: Se a variedade tiver bordo, no realizamos alteraes nas coorde-


nadas do bordo;

2. Vrtices de quinas e interiores: Para cada aresta e incidente em v analisamos se a


variao do ngulo entre as normais de cada face que compartilham e maior que
um valor limite (em geral utilizamos 45o ). Se ocorrem exatamente duas variaes de
ngulos maiores que o valor limite e se o ngulo entre as duas arestas menor que um
limitante para o ngulo entre as arestas (em geral 15o ) (figura 5.7-a) ) ento a suavizao
84 Captulo 5 Implementaes

realizada ao longo destas duas arestas . Se ocorrem mais de duas variaes maiores
que o valor limite no alteramos a coordenada do vrtice (figura 5.7-b) ).

v
v

a) b)

Figura 5.7: Exemplos de ngulos entre as faces: a) apenas duas arestas (negrito) sofrem
grande variao entre as normais das faces que as compartilham, b) vrias arestas sofrem
variaes entre as normais das faces.

As caractersticas geomtricas da malha podem ser perdidas quando aplicamos muitas


vezes o filtro laplaciano (figura 5.8).

Triangulao da malha hbrida

Com o intuito de obter uma malha triangular a partir da sada do power crust, imple-
mentamos um mtodo de triangular os polgonos diferentes de tringulos. No entanto, esta
rotina no garante que a soluo seja satisfatria. Aliando o mtodo de suavizao com a
triangulao da malha hbrida possvel obter malhas com elementos mais regulares (figura
5.9).
A principal desvantagem deste ps-processamento o aumento do nmero de vrtices e
faces da malha. Um fato a ser investigado utilizar algoritmos de clusterizao (Mederos
et al., 2003) como etapa de pr-processamento para selecionar pontos mais significativos
para a reconstruo, realizar o power crust dos pontos significativos e, em seguida, aplicar
as operaes de ps-processamento. Acreditamos que estas etapas pr e ps-processamento
aliadas ao power crust podem gerar um algoritmo eficiente, e o tempo de execuo diminuiria
significativamente.
5.6 Rudos 85

a) b) c)

Figura 5.8: Aplicao do filtro laplaciano: a) objeto original, b) aplicao de 500 vezes o
filtro laplaciano, c) aplicao de 10000 o filtro laplaciano.

Para estas etapas de ps-processamento utilizamos a estrutura de dados half-edge imple-


mentada na biblioteca CGAL 2.4 pelo fato dela suportar operaes topolgicas sobre uma
2-variedade em R3 . No entanto para o filtro laplaciano optamos em utilizar a classe presente
na biblioteca VTK 4.2 devido ao fato da biblioteca CGAL no permitir que o usurio altere
as coordenadas dos vrtices.

5.6 Rudos

Uma situao em que o teorema 22 (captulo 4) falha na existncia de amostragens


ruidosas. Neste caso, algumas clulas de Voronoi so arredondadas, ou so longas e perpen-
diculares num sentido, mas no no outro.
Ao invs de assumirmos que o teorema 22 sempre vlido, testamos o formato da clula
de Voronoi para cada ponto p da amostragem. O usurio atribui uma estimativa para r0 =
r
1r
de modo a obter um limite inferior para o LF S(p). A seguinte expresso utilizada para
estimar o LF S(p).

 
||p v||sen( )
LF S(p) min (5.7)
vVp
86 Captulo 5 Implementaes

a) b)

c) d)

Figura 5.9: Gerao de uma malha triangular a partir de uma malha hbrida: a) malha tri-
angular do objeto apresentado na figura 5.8-a), b) malha triangular com aplicao do filtro
laplaciano com 1000 iteraes, c) zoom in de a) e d) zoom-in de b) na mesma posio de
c).

O conjunto Vv contm os vrtices da clula de Voronoi de p. O ngulo o menor ngulo


entre uma amostra p e dois vrtices de Voronoi da clula de p.
Este resultado derivado do teorema 22 em que substitumos arcsen por pois arcsen
=
quando assume pequenos valores (0 0.6).
5.7 Consideraes finais 87

De acordo com o teorema 23 para um plo x, ||p x|| LF S(p). Se a distncia do plo
viola este limite inferior, a clula de Voronoi possui forma indesejvel e descartamos p. A
figura 5.10 apresenta um exemplo bidimensional da aplicao deste filtro de rudos.

a)

b) c)

Figura 5.10: Exemplo do teste das clulas de Voronoi para deteco de rudos: a) triangulao
de Delaunay do conjunto de pontos (em vermelho as identificaes de rudos), b) reconstruo
sem a remoo dos rudos, c) reconstruo com a remoo dos rudos.

No captulo 7 apresentamos exemplos em que aplicamos este critrio em conjunto com o


crust e o power crust para deteco de contornos de imagens.

5.7 Consideraes finais

Neste captulo apresentamos algumas caractersticas das implementaes que realizamos.


No captulo seguinte mostramos comparaes que realizamos entre os algoritmos que imple-
mentamos e outros presentes na literatura.
88 Captulo 5 Implementaes
C APTULO

6
Comparaes e exemplos

Neste captulo apresentamos comparaes tericas e prticas entre algoritmos de esculpi-


mento que utilizam as triangulaes presentes na biblioteca CGAL 2.4. Os algoritmos com-
parados so: -shapes1 , cocone e tight cocone2 , raw crust e power crust. Tambm apresen-
tamos comparaes entre o power crust original3 e nossa implementao do power crust.
Dey apresenta uma comparao terica entre os algoritmos (comparaes entre algorit-
mos de esculpimento e funo implcita) (Dey, 2002). Vale lembrar que comparaes de
ordem prtica no so encontradas na literatura. Existe este interesse em realizar compara-
es tericas e prticas simultaneamente pois a pergunta quando um mtodo mais eficiente
que o outro est presente em diversas reas do conhecimento e, em Reconstruo de Super-
fcies, esta questo tem que ser mantida sendo que muitas vezes um algoritmo que apresenta
resultados tericos satisfatrios, na prtica pode apresentar desepenho inferior a um outro
algoritmo que no possui garantias tericas to satisfatrias (note que isto acontece com o
-skeleton e o crust no caso bidimensional - captulo 4).
Realizamos um teste de reconstruo para verificar a capacidade dos algoritmos em iden-
tificar mltiplas componentes. Aplicamos os algoritmos em dois elipsides (um contido no
interior do outro) e uma cabea de um homem e o seu crebro. Todos os algoritmos con-
seguiram identificar as duas componentes com exeo do tight cocone que ignorou o elipside
e o crebro localizados no interior das amostragens (figura 6.1).

1
Demo presente na biblioteca CGAL: http://www.cgal.org.
2
Implementados por Tamal K. Dey: http://www.cis.ohio-state.edu/tamaldey.
3
A verso original do power crust est no site http://www.cs.utexas.edu/users/amenta/powercrust.

89
90 Captulo 6 Comparaes e exemplos

a) b)

c) d)

Figura 6.1: Reconstruo de mltiplas componentes conexas: Em a) e b) observamos a re-


construo utilizando o power crust e em c) e d) reconstruo utilizando o tight cocone que
ignorou completamente as componentes conexas internas.

Alguns conjuntos de pontos aplicados ao tight cocone no retornam sada, por exemplo,
se aplicarmos os conjuntos de pontos que resultaram nas figuras 6.9-a) (obtida pelo raw crust)
e 7.3-a) (obtida pelo power crust).
Na tabela 6.1 apresentamos informaes tericas sobre os algoritmos. A segunda coluna
se refere ao tipo de malha superficial gerada por cada mtodo. A terceira coluna apresenta
resultados tericos referentes garantia de homeomorfismo. A ltima coluna diz se os al-
goritmos, em geral, fornecem resultados geometricamente prximos superfcie original.
Naturalmente as informaes fornecidas na tabela 6.1 so garantidas apenas para variedades
bem amostradas, lembrando que para o -shape uma boa amostragem considerada para
pontos regularmente espaados e para a famlia crust so os baseados em r-amostragens,
com r suficientemente pequeno.
Discutimos o custo computacional na tabela 6.2. Na coluna 2 apresentamos o nmero de
triangulaes de Delaunay, em que n nmero de pontos considerados durante o processo de
triangulao. Na coluna 3 o nmero de clculos de duais e o nmero de pontos envolvidos
para cada clculo. Na ltima coluna os clculos geomtricos mais custosos para cada algo-
91

Algoritmo Tipo de Malha Garantias Geometricamente prximo


de homeomorfismo
-shapes Triangular No Sim
raw crust Triangular Sim Sim
cocone Triangular Sim Sim
tight cocone Triangular Sim Sim
power crust Hbrida4 Sim Sim
Tabela 6.1: Informaes tericas dos algoritmos. A segunda coluna refere ao tipo de malha,
a terceira coluna indica se o algoritmo apresenta garantias tericas e a ltima coluna diz se,
em geral, os algoritmos apresentam semelhanas geomtricas.

ritmo. As principais vantagens e desvantagens mais significativas de cada um dos algoritmos


apresentamos na tabela 6.3.

Algoritmo Delaunay/ Voronoi/ Clculos geomtricos


Nmero Nmero mais custosos
de pontos de pontos
-shapes 1/n 0/0 Inraios
raw crust 1/3n 1/n Duais
cocone 1/n 1/n Duais e ngulos entre vetores
tight cocone 1/n 1/n Duais e ngulos entre vetores
power crust 2/n e 2n 2/n e 2n Duais, ngulos entre vetores,
ngulos entre esferas e
funes trigonomtricas
Tabela 6.2: Custo computacional.

Nas tabelas 6.4 e 6.5 apresentamos comparaes de resultados prticos que aplicamos aos
algoritmos. Executamos os testes em um dual Athlon 2200+ com 1Gb de memria RAM.
Na tabela 6.6 comparamos o tempo entre a nossa implementao do power crust e a
implementao original (Amenta et al., 2001a) cujo algoritmo de triangulao denominado
Hull5 , um cdigo aberto com aritmtica exata para clculo da triangulao de Delaunay.
Amenta realizou adaptaes a este cdigo para gerar uma triangulao de Delaunay com
peso. Este algoritmo possui estratgias de otimizao de insero de pontos que implica na
reduo do tempo de processamento (Choi e Amenta, 2002).
Para esta comparao aplicamos a estratgia de otimizao da triangulao de Delaunay
da biblioteca do CGAL, denominado Hierarchy Triangulation6 . Para a triangulao de De-
5
Implementado por Ken Clarkson: http://www.cs.sunysb.edu/algorith/implement/clarkson/implement.shtml.
6
No site da biblioteca CGAL encontra-se a descrio desta estratgia de otimizao.
92 Captulo 6 Comparaes e exemplos

Algoritmo Vantagem Desvantagem


-shapes Heurstica simples No garante homeomorfismo,
definio de valores de e
muito lenta a implementao do CGAL*
raw crust Geometricamente semelhante Nmero pontos na triangulao, duais e
amostragem densa para
garantir variedade
cocone Melhora o crust e Na prtica deixa a superfcie
rapidez com buracos
tight cocone Busca obter uma variedade e Pode deixar na reconstruo
rapidez tringulos indesejveis,
isola pontos da amostragem e
no identifica superfcies
internas a outras superfcies
power crust Obtm-se uma variedade Muitos clculos geomtricos,
criao de pontos
Steiner** e
problemas numricos
Tabela 6.3: Vantagens e desvantagens de cada mtodo (*esta implementao lenta, pois o
algoritmo pr-calcula 100 valores de ), (** pontos Steiner so os pontos utilizados por um
algoritmo que no so parte da amostragem).
Algoritmo Lebre Drago Mo Cavalo Buda
1000* 10000* 35000* 48000* 55000*
-shape no no no no no
raw crust no no no no no
cocone no no no no no
tight cocone no sim no sim no
power crust sim sim sim sim sim
Tabela 6.4: Teste prtico: Para quais modelos garantiu-se homeomorfismo (* nmero de
pontos).
Algoritmo Lebre Drago Mo Cavalo Buda
1000* 10000* 36000* 48000* 55000*
-shape 1.88 313.38 2270.01 3870.79 4912.01
raw crust 1.13 30.34 121.05 172.00 145.52
cocone 0.40 13.00 45.00 101.00 55.00
tight cocone 0.51 14.50 51.01 57.6 26.1
power crust 2.12 43.43 120.75 185.09 208.94
Tabela 6.5: Tempo de execuo em segundos (* nmero de pontos).
93

a) b)

Figura 6.2: Resultados diferentes das implementaes do power crust: Em a) temos a re-
construo da lebre (1000 pontos) com a verso original do power crust, em b) temos a nossa
implementao.

launay com peso da biblioteca CGAL ainda no existe uma estratgia de otimizao (a verso
3.0 da biblioteca tambm no apresenta estratgia de otimizao para a Delaunay com peso).
Com isto observamos que o algoritmo original mais rpido, principalmente pelo fato dele
utilizar as duas triangulaes otimizadas.
Para alguns modelos, resultados diferentes foram obtidos por nossa implementao do
power crust e a verso original do power crust. A figura 6.2 apresenta um exemplo.

Algoritmo Lebre Drago Mo Cavalo Buda


1000* 10000* 36000* 48000* 55000*
Hull 1.7 20.01 58.4 91.01 110.6
CGAL 1.9 29.97 74.9 114.75 120.0
Tabela 6.6: Tempo de execuo em segundos (* nmero de pontos): Comparao entre a
implementao original do power crust (Hull e a nossa implementao (CGAL).

Um fato interessante que o power crust consegue capturar um maior nvel de detalhes
dos objetos em relao a outras tcnicas de esculpimento, alm de no apresentar buracos in-
desejveis na superfcie dos objetos, sendo que apareceram na quase totalidade dos mtodos.
As imagens apresentadas na seo 6.1 ilustram esses fatos.
94 Captulo 6 Comparaes e exemplos

6.1 Exemplos

Nesta seo apresentamos um conjunto de exemplos bi e tridimensionais. As figuras 6.3


a 6.7 apresentam exemplos de reconstruo utilizando o -skeleton7 , crust e o power crust
bidimensionais.
Podemos notar que na figura 6.3-d) a reconstruo obtida pelo power crust no est pr-
xima do objeto original. Este um exemplo de reconstruo homeomorfa, mas no prxima
ao objeto original. Esta situao ocorre pelo fato da amostragem possuir poucos pontos.
As figuras de 6.8 a 6.12 apresentam exemplos de reconstrues obtidas pelo -shape
(implementao da biblioteca CGAL), raw crust, cocone e tight cocone (implementados por
Tamal K. Dey : http://www.cis.ohio-state.edu/tamaldey.) e power crust.

a) b) c) d)

Figura 6.3: Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos, b)


-skeleton, c) crust e d) power crust (a reconstruo no est prxima).

a) b) c) d)

Figura 6.4: Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos, b)


-skeleton, c) crust e d) power crust.

a) b) c) d)

Figura 6.5: Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos, b)


-skeleton, c) crust e d) power crust.

7
O valor de 1.70 (ver teorema 12).
6.1 Exemplos 95

a) b)

c) d)

Figura 6.6: Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos, b)


-skeleton, c) crust e d) power crust.

a) b)

c) d)

Figura 6.7: Reconstruo de curvas: a) triangulao de Delaunay do conjunto de pontos, b)


-skeleton, c) crust e d) power crust.
96 Captulo 6 Comparaes e exemplos

a) b) c)

d) e) f)

g) h) i)

Figura 6.8: Exemplos de -shape: Nestes exemplos buscamos os melhores valores de para
representao dos objetos. a) Buda (50000 pontos com = 40), b) lebre (1000 pontos com
= 50), c) cacto (3500 pontos com = 18), d) salsichas (1700 pontos com = 17), e) lebre
(30000 pontos com = 40), f) mo (36000 pontos com = 37), g) e f) drago com diferentes
valores de (10000 pontos com = 35 e = 44 respectivamentes) e h) toro (500 pontos com
= 50). Vale lembrar que o intervalo dos possveis valores de alpha para esta implementao
[0,100], em que 0 a nuvem de pontos e 100 o fecho convexo.
6.2 Consideraes finais 97

6.2 Consideraes finais

Neste captulo apresentamos comparaes tericas e prticas entre algoritmos baseados


em esculpimento. Comparamos as implementaes baseadas nas triangulaes presentes na
biblioteca CGAL. Para finalizar apresentamos diversos exemplos de objetos gerados por nos-
sos algoritmos e outros presentes na literatura que tambm utilizam a biblioteca CGAL.
No captulo seguinte apresentamos algumas aplicaes dos algoritmos implementados.
98 Captulo 6 Comparaes e exemplos

a) b) c)

d) e) f)

g) h) i)

Figura 6.9: Exemplos do raw crust: a) sela (1900 pontos), b) parabolide (1400 pontos) c)
pea mecnica (4100 pontos), d) zoom-in de c), e) feto (1000 pontos), f) Buda (50000
pontos), g) zoom-in de f), h) tnis (2000 pontos), i) sola do tnis de h).
6.2 Consideraes finais 99

a) b) c)

d) e) f)

g) h) i)

Figura 6.10: Exemplos do cocone: a) dente (4000 pontos), b) espinha dorsal (22000 pontos),
c) ps (120000 pontos), d) Beethovem (2600 pontos), e) zoom-in de d) (presena de bura-
cos), f) vaca (3000 pontos), g) zoom-in de f) (presena de buracos), h) gato (10000 pontos),
i) zoom-in de h) (presena de buracos).
100 Captulo 6 Comparaes e exemplos

a) b) c)

d) e) f)

g) h) i)

Figura 6.11: Exemplos do tight cocone: a) feto (1000 pontos), b) tnis (2000 pontos)
c)zoom-in de b) (presena de buracos), d) pea mecnica (4100 pontos), e) tricertopes
(2800 pontos), f) zoom-in de e), g) porche ( 6100 pontos), h) distribuidor (12700 pontos ),
i) manequim (12700 pontos).
6.2 Consideraes finais 101

a) b) c)

d) e) f)

g) h) i)

Figura 6.12: Exemplos do power crust: a) pea mecnica (4100 pontos), b) mo (36000
pontos), c) bomba de leo (31000 pontos), d) feto (1000 pontos), e) espinha dorsal (22000
pontos), f) drago (1400 pontos), g) drago (10000 pontos), h) Buda (10000 pontos), i) mons-
tro (24800 pontos).
102 Captulo 6 Comparaes e exemplos
C APTULO

7
Aplicaes

Neste captulo apresentamos duas aplicaes dos estudos realizados neste trabalho: Na
primeira utilizamos os modelos obtidos por nossas implementaes na simulao numrica
de uma Equao Diferencial Parcial (equao do calor tridimensional) e na segunda, em Pro-
cessamento de Imagens (deteco de contornos de interesse em imagens). No descrevemos
detalhes das implementaes e do arcabouo terico das reas citadas acima, pois nosso in-
teresse consiste em ilustrar tanto a aplicabilidade quanto a interdisciplinaridade dos nossos
estudos.

7.1 Simulao numrica de E.D.P.s

Nesta seo apresentamos uma simulao numrica baseada em Volumes Finitos (Maliska,
1995) da equao parablica do calor tridimensional dada por:

2T 2T 2T
 
T
= + + , (7.1)
t x2 y 2 z 2
onde T a temperatura, (x, y, z) a posio no espao e t a varivel temporal. O valor
R o coeficiente de difusividade trmica.
Realizamos as seguintes etapas para obter a soluo numrica da equao do calor tridi-
mensional:

103
104 Captulo 7 Aplicaes

1. Gerao das 2-variedades lineares por partes: Utilizamos nossa implementao do po-
wer crust para obter 2-variedades como fronteira para os modelos volumtricos gerados
na etapa seguinte;

2. Gerao da malha volumtrica: As sadas geradas do algoritmo power crust (formato


.vrml) foram as entradas para o programa ICEM CFD 4.21 para gerao de uma malha
volumtrica tetraedral.

3. Utilizao de uma estrutura de dados topolgica para simulao numrica: Carregamos


os modelos tridimensionais gerados pelo ICEM CFD na estrutura de dados volum-
trica topolgica Singular Half-Face SHF (Bscaro, 2001) que possui um solver2 da
equao do calor tridimensional, utilizando a tcnica de volumes finitos.

4. Visualizao: Visualizamos os dados com a biblioteca VTK 4.2.

As condies de fronteira que aplicamos para os modelos foram:

Condio de fronteira do tipo Dirichlet: Condio de fronteira do tipo Dirichlet a


determinao da temperatura nos vrtices da fronteira do objeto. As regies vermelhas
nas figuras 7.1-a), 7.2-a) e 7.3-a) representam as condies do tipo Dirichlet aplicadas
aos modelos nos quais realizamos as simulaes numricas.

Condio de fronteira do tipo Neumann: Aplicamos a condio inicial do tipo Neu-


mann no restante das faces dos objetos. A condio de fronteira do tipo Neumann
dada pelo fluxo de calor da face de cada tetraedro, que representamos por: q = k T n
T
onde q o fluxo de calor, k uma constante de difusidade trmica e n a derivada da
temperatura em relao a normal da face.

A figura 7.1, que representa metade de um toro, contm 59400 tetraedros, a figura 7.2, que
representa uma chaleira, contm 116645 tetraedros e a figura 7.3, que representa um abajour,
contm 100360 tetraedros. O espaamento no tempo para cada iterao foi t = 0.0005 e
2000 iteraes para cada objeto.
Colocamos condio de fronteira do tipo Dirichlet com valor fixo de 10.0 e no restante
das faces foram colocadas condies de Neumman com fluxo igual a zero. Isto significa que,
1
http://www.icemcfd.com/
2
Solver a implementao do mtodo de numrico de uma equao diferencial.
7.2 Deteco de contornos via Geometria Computacional 105

fisicamente o objeto no troca calor com o meio, implicando que os valores da temperatura
tendem a convergir para um estado estacionrio a medida que aumenta o nmero de iteraes.
Maiores detalhes da discretizao e condies de fronteira do problema so encontrados
no trabalho de Bscaro (Bscaro, 2001). As figuras de 7.1 a 7.3 apresentam exemplos da
simulao da equao do calor.

7.2 Deteco de contornos via Geometria Computacional

Outra aplicao interessante consiste na utilizao de propriedades da Geometria Com-


putacional em Processamento de Imagens. Informaes sobre os termos apresentados nesta
seo podem ser encontradas no livro Introduo aos Espaos de Escala (EDPs em Proces-
samento de Sinais) (Teixeira, 2001). O principal objetivo desta aplicao a obteno de
reconstrues por poligonais que representem os contornos de interesse de imagens atravs
da anlise dos simplexos de uma triangulao gerada sobre a imagem. Em geral os traba-
lhos propostos na literatura para deteco de contornos em imagens no geram como sada
uma reconstruo poligonal, mas sim um conjunto de pixels que representa os contornos das
imagens. Procuramos substituir a anlise dos thresholds atribudos aos pixels pela anlise de
thresholds em simplexos gerados sobre a imagem. Apresentaremos esta idia e os resultados
obtidos a seguir. Uma forma mais interessante, ainda em fase de desenvolvimento, seria a
utilizao de um critrio puramente geomtrico para a deteco de contornos das imagens.
Nosso interesse por esta aplicao se deu ao observar a possibilidade de utilizar o estudo
realizado por Amenta para remoo de rudos em amostragens de superfcies (ver captulo 5,
seo 5.6) para remoo de rudos em imagens. Pelo fato do tratamento de imagens ruidosas
ser um problema clssico na deteco de contornos em imagens, buscando desenvolver mto-
dos que avaliam se um pixel rudo baseado em propriedades de Geometria Computacional.
Dada uma imagem bidimensional, propomos um mtodo que representamos o contorno
desta imagem apresentado por um conjunto de arestas da triangulao de Delaunay com
peso gerada sobre a imagem. Poucos trabalhos so encontrados na literatura que utilizam
triangulaes no auxlio de deteco de contornos. Podemos citar, por exemplo, o trabalho
proposto por Hermes e Buhmann (Hermes e Buhmann, 2003).
Em geral, para determinar o conjunto de pixels que fazem parte do contorno da imagem,
aplicamos alguma convoluo discreta (por exemplo Laplaciano, Sobel, Laplaciano do Gaus-
106 Captulo 7 Aplicaes

a) b)

c) d)

e) f)

g) h)

Figura 7.1: Exemplo da aplicao da equao do calor metade de um tro: a) condio ini-
cial, b) 200 iteraes, c) 600 iteraes, d) 800 iteraes, e) 1200 iteraes, f) 1400 iteraes,
g) 1600 iteraes, h) 2000 iteraes.
7.2 Deteco de contornos via Geometria Computacional 107

a) b)

c) d)

e) f)

g) h)

Figura 7.2: Exemplo da aplicao da equao do calor: a) condio inicial, b) 200 iteraes,
c) 600 iteraes, d) 1000 iteraes, e) 1200 iteraes, f) 1600 iteraes, g) 1700 iteraes, h)
2000 iteraes.
108 Captulo 7 Aplicaes

a) b)

c) d)

e) f)

Figura 7.3: Exemplo da aplicao da equao do calor: a) condio inicial, b) 200 iteraes,
c) 800 iteraes, d) 1000 iteraes, e) 1400 iteraes, f) 2000 iteraes.
7.2 Deteco de contornos via Geometria Computacional 109

siano) a cada pixel da imagem. Se o valor da convoluo no pixel pertence a um intervalo de


valores estipulado pelo usurio, conhecido como threshold, este pixel parte do contorno.
A seguir descrevemos o processo para deteco de contornos via triangulao de Delau-
nay com peso.
Dada uma imagem, o processo inicializado gerando uma triangulao de Delaunay com
peso considerando os pixels da imagem como os vrtices da triangulao. O primeiro passo
est na investigao do peso adequado a cada ponto. Testamos aplicando pesos conforme o
valor da convoluo aplicada ao pixel (a tabela 7.1, a seguir, apresenta as convolues que
aplicamos em nossos testes: Laplaciano-a), Sobelb)3 e Laplaciano do Gaussiano (Log)-
c)). Os resultados destas triangulaes de Delaunay com peso esto nas figuras 7.4. Podemos
observar que os detalhes da imagem so obtidos conforme a proporo dos pesos nos vrtices,
isto , conforme se aumenta o peso, a tendncia perder caractersticas da imagem.
A triangulao de Delaunay com peso permite representar os contornos da imagem com
um nmero reduzido de vrtices e arestas.
Otimizamos o tempo da triangulao de Delaunay com peso aplicando uma etapa de pr-
processamento em que ordenamos decrescentemente os pontos pelo seus pesos. Isto torna a
triangulao mais rpida pois no se insere os pontos com peso pequeno prximos aos con-
tornos da imagem (pois sero pontos redundantes) e, conseqentemente, no necessrio
atualizar a triangulao para estes pontos. Este pr-processamento tambm reduz a possibil-
idade de ocorrerem erros numricos durante o processo de triangulao.
Em seguida, utilizamos duas estratgias para deteco do contorno: Na primeira uti-
lizamos algoritmos tradicionais de reconstruo de curvas bidimensionais, tais como o crust
e o power crust juntamente com o critrio de remoo de rudos proposto por Amenta, de-
scrito no captulo 5, seo 5.6, para deteco dos contornos. Na segunda analisamos os pesos
dos vrtices e a variao dos valores da convoluo sobre o segmento de reta que une os dois
centrides das faces incidentes a cada aresta (figura 7.5).
Consideremos a figura 7.5 como sendo a representao de cada aresta e na triangulao
de Delaunay com peso para a descrio do algoritmo 11 que apresenta o processo de deteco
das arestas da triangulao de Delaunay com peso. Temos na figura 7.5 que v1 e v2 so os
vrtices de e, M o ponto do segmento de extremos dos centrides c1 e c2 das faces f1 e f2

3
O valor da convoluo em cada pixel dada pela soma em mdulo da aplicao das matrizes Sobelx e
Sobely ao pixel.
110 Captulo 7 Aplicaes

a) b)

c) d)

Figura 7.4: Exemplo de triangulaes de Delaunay com peso sobre uma imagem cujos pesos
dos vrtices so o valor da convoluo no pixel: a) imagem original, b) peso obtido pelo
Laplaciano, c) peso obtido pelo Sobel e d) peso obtido pelo Log.

respectivamente, com maior valor obtido pela convoluo e C, a curva tracejada, o contorno
da imagem.

Algoritmo 11 Classifica arestas que representam o contorno da imagem


para todas as arestas e da triangulao de Delaunay com peso faa
se os pesos de v1 e v2 so maiores que um threshold (que tomamos como = 1/10 do
maior valor da convoluo na imagem.) ento
calcule os centrides c1 e c2 de f1 e f2 respectivamente
se existe um valor da convoluo no interior do segmento c1 c2 maior que ento
a aresta e pertence ao contorno
fim do se
fim do se
fim do para
7.2 Deteco de contornos via Geometria Computacional 111
a)
1 1 1 1 1

1 1 1 1 1

Laplaciano =
1 1 24 1 1

1 1 1 1 1
1 1 1 1 1
b)
1 0 1 1 2 1
Sobelx = 2 0 2 Sobely = 0 0 0
1 0 1 1 2 1
c)
0 0 3 2 2 2 3 0 0

0 2 3 5 5 5 3 2 0


3 3 5 3 0 3 5 3 3


2 5 3 12 23 12 3 5 2

Log =
2 5 0 23 40 23 0 5 2


2 5 3 12 23 12 3 5 2


3 3 5 3 0 3 5 3 3

0 2 3 5 5 5 3 2 0
0 0 3 2 2 2 3 0 0

Tabela 7.1: Matrizes de convoluo utilizadas pelo mtodo desenvolvido para deteco de
contornos em imagens via Geometria Computacional.

v1

e
f1 M f2
c1 c2

v2

Figura 7.5: Representao de uma aresta e da triangulao de Delaunay com peso.

Propomos uma etapa de ps-processamento para a estratgia baseada na anlise das


arestas da triangulao de Delaunay com peso. Para o conjunto de arestas retornado pelo
algoritmo 11, analisamos a mdia da intensidade dos pixels dos dois tringulos incidentes a
cada aresta e verificamos se a diferena entre as intensidades um valor maior do que um
threshold estipulado pelo usurio. Um exemplo deste teste apresentado na figura 7.6.
112 Captulo 7 Aplicaes

a) b)

Figura 7.6: Aplicao da etapa de ps-processamento que analisa a variao das intensidades
das cores nos tringulos: a) imagem sem o ps-processamento, b) imagem aplicada o ps-
processamento.

Podemos utilizar como parmetros para a triangulao de Delaunay com peso para obter
outros resultados: A frao (threshold aplicada ao peso dos vrtices) apresentada no al-
goritmo 11 e um valor real positivo que multiplica o peso de cada ponto. A figura 7.7
apresenta um exemplo com = 0.1 vezes o valor do laplaciano em cada ponto da imagem.

a) b) c)

Figura 7.7: Exemplo de resultados da deteco de contornos via triangulao de Delaunay


com peso 7.4: a) imagem original, b) Laplaciano da imagem, c) triangulao de Delaunay
com peso sobre a imagem cujos pesos dos pontos so = 0.1 do laplaciano no ponto.

A figura 7.8 apresenta exemplos de reconstruo via triangulao de Delaunay com peso.
O estudo desta tcnica nos leva seguinte observao, que estamos estudando para torn-
la um teorema, e conseqentemente, apresentar resultados tericos da eficincia desta tcnica.
7.2 Deteco de contornos via Geometria Computacional 113

a) b)

c) d)

e) f)

Figura 7.8: Exemplo de resultados deteco de contornos via a triangulao de Delaunay


com peso da imagem 7.4: a) Laplaciano, b) deteco do contorno com pesos originados do
Laplaciano, c) Sobel, d) deteco do contorno com pesos originados do Sobel, e) Laplaciano
do Gaussiano, f) deteco do contorno com pesos originados do Laplaciano do Gaussiano.
114 Captulo 7 Aplicaes

a) b) c)

Figura 7.9: Aplicando o threshold aos pesos durante o processo de triangulao no inserindo
pontos com peso inferior a : a) Laplaciano, b) Sobel, c) Laplaciano do Gaussiano.

Observao 22 Os pesos atribudos no foram normalizados. Acreditamos que existem uma


normalizao e uma distribuio de pesos em funo da curvatura do contorno da imagem
que garantem deteces de contorno eficientes.

Realizamos testes em que no adicionvamos os pontos da triangulao com peso menor


que o valor de . A figura 7.9 apresenta resultados destes testes. A principal vantagem
de utilizar threshold nesta etapa est na velocidade do algoritmo. No entanto os tringulos
gerados por estes modelos so grandes e a utilizao da etapa de ps-processamento que
verifica a diferena entre as intensidades dos pixels nos tringulos adjacentes a cada aresta
pode gerar resultados no satisfatrios.
A figura 7.10 apresenta exemplos da aplicao do crust e do power crust para a recons-
truo dos contornos das imagens sobre os vrtices originados das classificaes das arestas.
Inserimos os pontos mdios das arestas para obter melhores resultados de reconstruo. Vale
lembrar que garantias de resultados satisfatrios do crust e do power crust so para curvas
suaves (observao 4) e no para curvas com interseces, e que o critrio de remoo de ru-
dos garante eficincia apenas sobre n-variedades e espaos n + 1 dimensionais. Isto implica,
que na prtica, difcil garantir bons resultados desta estratgia.
A figura 7.11 apresenta um exemplo da tcnica de deteco de contornos via triangu-
lao de Delaunay com peso para uma imagem ruidosa cujos pesos da triangulao foram
atribudos em funo do laplaciano.
7.3 Consideraes finais 115

7.3 Consideraes finais

Neste captulo apresentamos aplicaes de nossos estudos em E.D.P.s e Processamento


de Imagens. No descrevemos detalhes das implementaes, pois nosso interesse estava
em apresentar tanto a aplicabilidade quanto a interdisciplinaridade dos nossos estudos. No
algoritmo apresentado para deteco de contornos via Geometria Computacional buscamos
substituir os thresholds dos pixels por thresholds associados propriedades de Geometria
Computacional. Ainda estamos iniciando estes estudos e acreditamos que resultados tericos
e prticos satisfatrios sero alcanados.
No captulo seguinte conclumos este trabalho ressaltando os principais tpicos e apre-
sentando direes de pesquisas futuras.
116 Captulo 7 Aplicaes

a) b)

c) d)

Figura 7.10: Aplicao do mtodo de remoo de rudos proposto por Amenta (captulo 5,
seo 5.6) aliado aos algoritmos crust e power crust: a) crust sem remoo de rudos, b) crust
com remoo de rudos, c) power crust, d) power crust com remoo de rudos.
7.3 Consideraes finais 117

a) b)

c) d)

e) f)

Figura 7.11: Aplicao da tcnica de deteco de contornos via triangulao de Delaunay


com peso em uma imagem ruidosa: a) imagem original, b) laplaciano da imagem, c) deteco
do contorno via triangulao de Delaunay com peso, d) deteco do contorno cuja triangula-
o no contm pontos cujo peso menor que ( = 1/10 do maior valor de laplaciano da
imagem), e) crust, f) power crust.
118 Captulo 7 Aplicaes
C APTULO

8
Concluso

A rea de Reconstruo de Superfcies a partir de Nuvens de Pontos est presente em


inmeras reas do conhecimento (por exemplo Simulao de E.D.P.s e Imagens Mdicas)
o que justifica diversos pesquisadores e grupos de pesquisa estarem desenvolvendo mtodos
para os mais variados objetivos.
Neste trabalho apresentamos um vasto levantamento bibliogrfico classificando tais mto-
dos, como esculpimento, iterativos, deformveis, baseados em funes implcitas e a famlia
Crust. O maior nmero de trabalhos que apresentamos foram aqueles envolvendo mtodos
de esculpimento devido ao fato de apresentarem propriedades de Geometria Computacional
(por exemplo serem subconjuntos da triangulao de Delaunay ou do power diagrama). Um
maior detalhamento foi dado famlia Crust, que apresenta resultados tericos baseados no
critrio de r-amostragem que garantem uma reconstruo homeomorfa e prxima variedade
original.
Aps o levantamento bibliogrfico selecionamos alguns mtodos para realizarmos nossas
implementaes. Estes algoritmos foram, para o caso bidimensional, -skeleton, crust e
power crust e, para o caso tridimensional, o raw crust e o power crust. Tambm propomos
e implementamos extenses para o power crust, que julgamos ser uma das tcnicas mais
eficientes e bem fundamentadas teoricamente.
Aps estas etapas, comparamos terica e experimentalmente os algoritmos que imple-
mentamos (bidimensionais: -skeleton, crust e power crust e tridimendionais: raw crust
e power crust) com outros presentes na literatura que esto disponveis on-line (tridimen-

119
120 Captulo 8 Concluso

sionais: cocone, tight cocone e -shapes). Como poucas comparaes so encontradas na


literatura acreditamos ser esta uma importante contribuio deste trabalho.
Finalizamos realizando duas aplicaes. A primeira foi referente simulao de uma
Equao Diferencial Parcial (Equao do Calor Tridimensional) em que utilizamos os do-
mnios gerados pela nossa implementao do power crust como entrada para o programa
ICEM-CFD que gera malhas tetraedrais volumtricas no interior de domnios e a estrutura de
dados Singular Half-Face para resoluo numrica pelo mtodo de Volumes Finitos. Na se-
gunda aplicao buscamos utilizar propriedades de Geometria Computacional para deteco
de contornos em imagens em que um subconjunto de arestas da triangulao de Delaunay
com peso gerada sobre a imagem representa o contorno. O tratamento de rudos foi seme-
lhante ao que feito no power crust.
Esta segunda aplicao tambm uma das principais contribuies deste trabalho, pois
acreditamos na possibilidade de utilizar conceitos de Geometria Computacional e de Re-
construo no processo de deteco de contornos de interesse em imagens, uma vez que
na literatura trabalhos nessa linha utilizando estratgias geomtricas ainda no esto sendo
investigado intensivamente.
Todos estes estudos sugerem direes para trabalho futuros que apresentamos a seguir:
possvel otimizar o power crust realizando etapas de pr e ps-processamento. Na etapa
de pr-processamento, possvel aplicar algoritmos de clusterizao para reduzir a nuvem de
pontos a pontos significativos para a etapa de reconstruo, enquanto que no ps-processa-
mento possvel gerar uma malha triangular e transformar esta malha em Delaunay.
Como extenso deste trabalho existe a necessidade de realizar comparaes, principal-
mente de ordem prtica, entre diferentes mtodos (implcitos, esculpimento, incremental, de-
formveis e a famlia Crust). Outra comparao no realizada, e um tanto quanto complexa
, quanto a aplicabilidade de cada mtodo em determinada rea.
O estudo realizado sobre deteco de contornos via Geometria Computacional deixou al-
gumas questes em aberto: Dada uma triangulao de Delaunay com peso de um conjunto de
pontos, qual a complexidade (complexidade em funo dos pesos dos pontos) para transfor-
mar esta triangulao de Delaunay com peso em uma triangulao de Delaunay tradicional.
Ainda buscamos desenvolver um algoritmo de deteco de contornos com critrios base-
ado apenas em propriedades de Geometria Computacional. Acreditamos que existe a possi-
bilidade de desenvolver uma teoria, assim como Amenta desenvolveu para remoo de rudos
baseado no formato das clulas de Voronoi para amostragens de variedades, em que baseado
121

no diagrama de Voronoi ou no power diagrama podemos classificar numa imagem, seus con-
tornos de interesse e tambm detectar os rudos da imagem.
Outro trabalho futuro o desenvolvimento de uma interface em que o usurio poder
escolher o mtodo de reconstruo, bem como atribuir os parmetros pertinentes a cada algo-
ritmo. Esta interface tambm apresentar como sadas comparaes prticas entre os mto-
dos.
122 Captulo 8 Concluso
Referncias Bibliogrficas

Adamy, U., Giesen, J., e John, M. (2002). Surface reconstruction using umbrella filters.
Computational Geometry Theory and Applications, 21:6386.

Amenta, N. e Bern, M. (1999). Surface reconstruction by voronoi filtering. Discrete and


Computational Geometry, 22:481504.

Amenta, N., Bern, M., e Eppstein, D. (1998a). The crust and the skeleton : Combinatorial
curve reconstruction. Graphical Models and Image Processing, 60(2):125135.

Amenta, N., Bern, M., e Kamvysselis, M. (1998b). A new Voronoi-based surface reconstruc-
tion algorithm. Computer Graphics, 32(Annual Conference Series):415421.

Amenta, N., Choi, S., Dey, T. K., e Leekha, N. (2002). A simple algorithm for homeo-
morphic surface reconstruction. International Journal of Computational Geometry and
Applications, 12(12):125141.

Amenta, N., Choi, S., e Kolluri, R. (2001a). The power crust. Em 6th ACM Symposium on
Solid Modeling, 249260.

Amenta, N., Choi, S., e Kolluri, R. (2001b). The power crust, unions of balls, and the medial
axis transform. Computational Geometry: Theory and Applications, 19(23):127153.

Amenta, N. e Kolluri, R. K. (2000). Accurate and efficient unions of balls. Em Symposium


on Computational Geometry, pag. 119128.

Attali, D. (1998). r-regular shape reconstruction from unorganized points. Computational


Geometry Theory and Applications, 10:239249. Elsevier.

Attene, M. e Spagnuolo, M. (2000). Automatic surface reconstruction from point sets in


space. Computer Graphics Forum, 19(3):9.

123
124 Referncias Bibliogrficas

Aurenhammer, F. e Klein, R. (2000). Voronoi diagrams, pag. 201290. Handbook of Com-


putational Geometry. Elsevier Science Publishing.

Babuska, I. (1995). Modelling, Mesh Generation, and Adaptative Numerical Methods for
Partial Equations, volume 75 of The IMA volumes in Mathematics and its Applications.
IMA.

Bajaj, C. L., Bernardini, F., e Xu, G. (1995). Automatic reconstruction of surfaces and
scalar fields from 3d scans. Em SeriesComputer Graphics Proceedings, A. C., editor,
SIGGRAPH.

Bardinet, E., Cohen, L. D., e Auache, N. (1998). A parametric deformable model to fit
unstructured 3d data. Computer Vision and Image Understanding, 71(1):3954.

Bern, M. e Eppstein, D. (1999). Emerging challenges in computational topology. Workshop


on computational topology, NSF, Miami Beach, Florida.

Bernardini, F. e Bajaj, C. L. (1997). Sampling and reconstructing manifolds using alpha-


shapes. Em Proc. 9th Canadian Conf. Computational Geometry, pag. 193198.

Bernardini, F., Mittleman, J., Rushmeier, H., Silva, C., e Taubin, G. (1999). The ball-pivoting
algorithm for surface reconstruction. IEEE Transactions on Visualization and Computer
Graphics, 5(4):349359.

Boissonnat, J. D. (1988). Shape reconstruction from planar cross-sections. Computational


Vision Image, 44:129.

Boissonnat, J.-D. e Cazals, F. (2002). Smooth surface reconstruction via natural neighbour
interpolations of distance functions. Computational Geometry Theory and Applications,
22:185203.

Boissonnat, J.-D., Devillers, O., Pion, S., Teillaud, M., e Yvinec, M. (2002). Triangulations
in cgal. Computational Geometry - Theory and Applications, 22:519.

Brandt, J. W. (1994). Convergence and continuity criteria for discrete approximations of


the continuous planar skeleton. Em CVGIP: Image Understanding, volume 59, pag.
116124.

Bscaro, H. H. (2001). Singular half-face: uma estrutura de dados volumtrica. Dissertao


de Mestrado, Universidade de So Paulo - Instituto de Cincias Matemticas e Com-
putao.
Referncias Bibliogrficas 125

CGAL (Acesso em 05/01/2004). Cgal - computational geometry algorithms library.


http://www.cgal.org.

Chew, L. P. (1993). Garanteed-quality mesh generation for curved surfaces. Em ACM Sym-
posium on Computational Geometry, pag. 274280.

Choi, S. e Amenta, N. (2002). Delaunay triangulation programs on surface data. Em The


13th ACM-SIAM Symposium on Discrete Algorithms, pag. 135136.

Dey, T. K. (2002). Curve and surface reconstruction http://www.cis.ohio-


state.edu/ tamaldey/papers.html (acesso em 08/10/2003).

Dey, T. K., Giesen, J., e Zhao, W. (2001). Robustness issues in surface reconstruction. Lecture
Notes in Computer Science, 2073:658663.

Dey, T. K. e Goswami, S. (2002a). Tight cocone : A water-tight surface reconstruction.


Relatrio Tcnico OSU-CISRC-12/02-TR31, The Ohio State University.

Dey, T. K. e Goswami, S. (2002b). Tight cocone and cgal. Em CGAL workshop, Barcelona,
Espanha.

Edelsbrunner, H. (1998). Shape reconstruction with delaunay complex. Em LATIN98: The-


oretical Informatics, C.L. Lucchesi, A. V. M., editores, LNCS 1380.

Edelsbrunner, H. (2001). Geometry and Topology for Mesh Generation. Cambridge Mono-
graphs on Applied and Computational Mathematics. Cambridge.

Edelsbrunner, H. (2002). Surface recosntruction by wrapping finite point set in space. Rick
Pollack e Eli Goodman Festschrift, ed. A. Aronov, S. Basu, J.Pach e M. Sharir. Springer-
Verlag, submetido.

Edelsbrunner, H. e Mcke, E. P. (1994). Three-dimensional alpha shapes. ACM Transactions


on Graphics, 13(1):4372.

Giesen, J. e John, M. (2002). Surface reconstruction based on a dynamical system. Em


Eurographics, volume Drettakins, G. e Siedel, H. ditores, 2130.

Giesen, J. e John, M. (2003). The flow complex: a data structure for geometric modeling. Em
Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms,
pag. 285294. Society for Industrial and Applied Mathematics.
126 Referncias Bibliogrficas

Gois, J. P., Filho, A. C., e Nonato, L. G. (2003). Reconstruo de superfcies a partir de


conjuntos de pontos em R3 utilizando tcnicas de esculpimento com triangulaes de
Delaunay tradicional e com peso. Em Submetido Revista TEMA - Tendncias em
Matemtica Aplicada e Computacional.

Gopi, M., Krishnan, S., e Silva, C. T. (2000). Surface reconstruction based on lower dimen-
sional localized delaunay triangulation. Em Gross, M. e Hopgood, F. R. A., editores,
Computer Graphics Forum (Eurographics 2000), volume 19(3).

Hermes, L. e Buhmann, J. M. (2003). A minimum entropy aproach to adaptative image


polygonization. IEEE Transactions on Imagem Processing, 12(10):12431258.

Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., e Stuetzle, W. (1992). Surface recon-
struction from unorganized points. Computer Graphics, 26(2):7178.

Huang, J. e Menq, C. H. (2002). Combinatorial manifold reconstruction and optimiza-


tion from unorganized point cloud with arbitrary topology. Computer-Aided Design,
1(34):149165.

Isaacson, E. e Keller, H. B. (1966). Analysis of Numerical Methods. John Wiley & Sons.

Kirkpatric, D. G. e Radke, J. D. (1985). Framework for computational morphology - com-


putational geometry. Computational Methods Applied Mechannical Enginnering, pag.
217245.

Maliska, C. R. (1995). Tranferncia de Calor e Mecnica dos Fluidos Computacional. LTC


Livros Tcnicos e Cientficos Editora.

Mederos, B., Velho, L., e de Figueiredo, L. H. (2003). Moving least squares multiresolution
surface approximation. Em SIBGRAPI 2003, 1:1926, So Carlos,Brasil.

Mencl, E. e Mller, H. (1998). Graph-based surface reconstruction using structures in scat-


tered point sets. Computer Graphics International, pag. 298311.

Milnor, J. (1963). Morse theory. Princenton University Press. Annals Mathematics Studies.

Munkres, J. R. (1984). Elements of Algebraic Topology. Addison-Wesley.

Nonato, L. G., Minghim, R., Oliveira, M. C. F., e Tavares, G. (2001). A novel approach
for delaunay 3d reconstruction with a comparative analysis in the light of applications.
Computer Graphics Forum, 20(2):161174.
Referncias Bibliogrficas 127

Petitjean, S. e Boyer, E. (2001). Regular and non-regular points sets: Properties and recon-
struction. Computational Geometry Theory and Applications, pag. 101126.

Rodriguez, A., Espadero, J. M., Lpez, D., e Pastor, L. (1994). Delaunay surface recon-
struction from scattered points. Em 9th International Conference Discrete Geometry for
Computer Imagery, DGCI.

Samet, H. (1990). The Design and Analysis of Spatial Data Structures. Addison-Wesley.

Shewchuk, J. R. (1997). Delaunay Refinement Mesh Generation. Tese de Doutorado, Scholl


of Computer Science - Carnegie Mellon University.

Stolfi, P. J. R. J. (1994). Fundamentos de geometria computacional. Recife. IBM/Brasil.

Teichmann, M. e Capps, M. (1998). Surface reconstruction with anisotropic density-scaled


alpha shapes. Em Ebert, D., Hagen, H., e Rushmeier, H., editores, IEEE Visualization
98, pag. 6772.

Teixeira, R. (2001). Introduo aos espaos de escala (edps em processamento de sinais). 23o
Colquio Brasileiro de Matemtica, Rio de Janeiro-RJ. Instituto de Matemtica Pura e
Aplicada.

Vargas, A. J. Q., Nonato, L. G., de Oliveira, M. C., e Minghin, R. (2002). Beta-connection:


An approach to generate families of models from planar sections. Em SIBGRAPI, pag.
187194, Fortaleza, Brasil.

Veltkamp, R. C. (1992). The neighborhood graph. Computational Geometry: Theory and


Applications, pag. 227246.

Zhao, H., Merriman, B., Osher, S., e Kang, M. (2000). Implicit nonparametric shape recon-
struction from unorganized points using a variational level set method. Computer Vision
and Image Understanding, 60:295313.
128 Referncias Bibliogrficas
ndice Remissivo

Smbolos cocone, 67
-shape, 28 complexo celular, 17
-skeleton, 47 complexo de fluxo, 37
-amostragem, 30 complexo de fluxo reduzido, 37
-bola, 32 complexo simplicial, 16
-complexo, 33 dimenso de um, 16
-intervalo, 32 coordenada natural, 38
k-face, 15 crust, 54
r-amostrada, 23 3D, 59
r-amostragem, 23 curva suave, 14, 47, 114
r-regular shape, 30
D
A decomposio espacial, 26
amostragem, 2, 14 diagrama de Voronoi, 18
aresta, 16 difeomorfismo, 11
arvore geradora mnima euclidiana, 20 difeomorfos, 11
avano de fronteira, 39 dimenso de uma clula, 16
disco de Voronoi, 49
B
disco de Voronoi curvo, 49
Ball Pivotting, 40
domnio anisotrpico, 29
bola polar, 61
bolas polares, 62 E
bounding box, 59 eixo medial, 23
escala anisotrpica, 29
C
esfera S n , 14
clula, 16
espao euclidiano, 10
bordo de uma, 17
espao gerado, 17
circuncrculo, 19
estrela, 17
circunraio, 19
circunsfera, 19 F

129
130 NDICE REMISSIVO

fecho convexo, 10 ortocentro, 21


fluxo, 36
fronteira de avano, 39
P
peso
funo de Morse, 34
distncia com, 21
G ponto com, 21
genus, 14 plos, 59
grafo, 18 ponto crtico, 35
de Gabriel, 20 ponto fixo, 36
do vizinho mais prximo, 20 ponto regular, 13
guarda-chuva, 33 ponto singular, 13
condio de, 33 posio geral, 15
filtro, 32 power crust, 61, 62
power diagrama, 22
H
power shape, 62
hipergrafo de Gabriel extendido, 21
homeomorfismo, 10 R
homeomorfos, 10 raw crust, 45, 58
reconstruo
L
sees planares, 1
link, 17, 83
regio de Voronoi, 18
local feature size, 23
regies proibidas, 46
M regular triangulation, 22
mtodos
S
baseado em zero de funo, 37
semi-espao, 11
de esculpimento, 27
simplexo, 15
deformveis, 43
face de um, 15
incrementais, 39
fronteira de um, 15
malha hbrida, 91
sistema dinmico, 35, 36
malha normalizada, 30
suavizao laplaciana, 83
mapeamento de densidade, 29
subespao afim, 14
N superfcie, 13
nuvem de pontos, 25 superfcie suave, 14

O T
rbita, 37 teoria de Morse, 34
NDICE REMISSIVO 131

tetraedro
sliver, 30, 59
topologicamente equivalente, 11
transformao do eixo medial, 23
triangulao, 18
triangulao de Delaunay, 19
triangulao de Delaunay com peso, 22

V
vrtice, 16
vrtice redundante, 22
variedade, 12
com bordo, 12
sem bordo, 12
variedade linear por parte, 17
variedade linear por partes, 14
variedade suave, 14
variedades estveis, 37
vizinhanas naturais, 38
vizinhos naturais, 38
volume tomado, 38

W
water tight, 69

Você também pode gostar