Escolar Documentos
Profissional Documentos
Cultura Documentos
nuvens de pontos
Data de Depsito:
Assinatura:
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
vii
Abstract
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
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
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
5.1 Raw crust: Atravs desta tabela possvel verificar o nmero de tetraedros
slivers e o nmero de faces presentes em alguns modelos. . . . . . . . . . . . 75
xix
Lista de Algoritmos
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:
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)
a) b) c)
d)
1.1 Contribuies
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
a) b)
Figura 1.5: Malha volumtrica gerada a partir da fronteira definida por um algoritmo de
reconstruo a partir de nuvens de pontos.
substituir a anlise do threshold em cada pixel por testes geomtricos, como por exemplo o
teste proposto por Amenta (Amenta et al., 2001a).
2
Conceitos Bsicos
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
p
||p q|| = (p1 q1 )2 + ... + (pn qn )2
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
a)
b)
a)
b)
V
M
V
3
R 2
H
a) b)
a) b)
Figura 2.5: Exemplos de variedade: a) variedade com bordo, b) variedade sem bordo.
a) b)
a) b) c) d)
n
!
X n +1
= 2n+1
k=1
k+1
16 Captulo 2 Conceitos Bsicos
a) b)
Definio 17 (Clula) A clula (convexa) gerada pelos pontos X = {x0 , ..., xn } dada
pelo fecho convexo de X.
Definio 19 (Bordo de uma Clula) O bordo de uma clula , denotado por (), o con-
junto de clulas satisfazendo:
3. 0 1 () e 0 2 () 0 1 * 0 2 e 0 2 * 0 1 .
1.
[
K=
C
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 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)
1
Conhecido tambm como clula de Voronoi.
2.2 Fundamentos tericos 19
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 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 }.
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:
Attene generaliza a definio de grafo de Gabriel para suportar tringulos, alm de vr-
tices e arestas (Attene e Spagnuolo, 2000).
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 .
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 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).
n , P C Vv M
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||.
||p c||
c M, p P : r. (2.3)
LF S(c)
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.
3
Reconstruo de objetos
tridimensionais a partir de nuvens de
pontos
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 incrementais;
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
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.
a) b) c)
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
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.
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).
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].
=0.5
a
=0.5
=0.2
=1
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:
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
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 :
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
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.
d
(t, x) = f ((t, x)) (3.3)
dt
1. (0, x) = x;
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.
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:
A(x, p)
p (x) = P (3.7)
qP A(x, q)
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:
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 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
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.
b)
a)
c)
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 /2
2/2 2/2 !2 /1 2/1
x y z
+ + =1 (3.10)
r1 r2 r3
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
4
A famlia Crust
45
46 Captulo 4 A famlia Crust
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.
p1 p2
p2
a) b)
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
Teorema 2 Qualquer circunferncia que contm no mnimo dois pontos de uma curva suave
no plano apresenta as seguintes possibilidades de interseco:
Ambos.
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).
||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
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.
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.
C
s
r
B
c 1
p
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:
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
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.
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
p
3
p
2
p
1
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 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:
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.
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
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
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
Teorema 14 Dada uma curva suave r-amostrada com r < 0.252, o crust no contm arestas
de pontos no adjacentes.
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:
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
s
s1 s2
Figura 4.11: Nota-se que o ngulo maior que seu correspondente ngulo do outro lado.
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
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
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
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:
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).
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/).
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
Definio 56 (Bolas Polares) As esferas de centro nos plos e tocando os pontos da amos-
tragem mais prximos so denominados bolas polares.
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.
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.
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:
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.
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.
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
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.
4.7 Cocone
V
p
n
S
p
O segundo teorema trata que tais tringulos com circunraio pequeno tendem a serem
tangentes superfcie, isto :
O ltimo teorema apresenta para quais valores de r, em uma superfcie r-amostrada tem-
se a garantia da reconstruo.
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
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)
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
5
Implementaes
5.1 As triangulaes
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
5.2 Entrada/Sada
0.000 2.300
1.200 3.200
-4.300 2.500
1.700 2.200
1.600 2.200
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.
Figura 5.1: Tetraedros slivers presentes na superfcie dos objetos (em vermelho).
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.
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
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 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
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.
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:
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:
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.
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.
5.6 Rudos
||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).
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.
6
Comparaes e exemplos
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)
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
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
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.
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
a) b) c) d)
a) b) c) d)
a) b) c) d)
7
O valor de 1.70 (ver teorema 12).
6.1 Exemplos 95
a) b)
c) d)
a) b)
c) d)
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
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.
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;
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.
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
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.
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
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)
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)
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.
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)
8
Concluso
119
120 Captulo 8 Concluso
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., 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.
123
124 Referncias Bibliogrficas
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.
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. 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.
Chew, L. P. (1993). Garanteed-quality mesh generation for curved surfaces. Em ACM Sym-
posium on Computational Geometry, pag. 274280.
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. (2002b). Tight cocone and cgal. Em CGAL workshop, Barcelona,
Espanha.
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.
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
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).
Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., e Stuetzle, W. (1992). Surface recon-
struction from unorganized points. Computer Graphics, 26(2):7178.
Isaacson, E. e Keller, H. B. (1966). Analysis of Numerical Methods. John Wiley & Sons.
Mederos, B., Velho, L., e de Figueiredo, L. H. (2003). Moving least squares multiresolution
surface approximation. Em SIBGRAPI 2003, 1:1926, So Carlos,Brasil.
Milnor, J. (1963). Morse theory. Princenton University Press. Annals Mathematics Studies.
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.
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.
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
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