Você está na página 1de 9

II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007

V Colóquio Brasileiro de Ciências Geodésicas ISSN 1981-6251, p. 655-663

TRIANGULAÇÃO DE DELAUNAY E O PRINCÍPIO DE INSERÇÃO


RANDOMIZADO
MARCO ANTÔNIO PITERI
MESSIAS MENEGUETTE JUNIOR
ANDERSON GREGÓRIO DOS SANTOS
FÁBIO FELICIANO DE OLIVEIRA

Universidade Estadual Paulista - Unesp


Faculdade de Ciências e Tecnologia - FCT
Departamento de Matemática, Estatística e Computação, Presidente Prudente - SP
{piteri, messias}@fct.unesp.br

RESUMO - Este trabalho discute os fundamentos da técnica de triangulação de Delaunay no plano,


particularmente os aspectos de natureza algorítmica do paradigma de inserção combinado com o esquema
de randomização e mostra os resultados obtidos a partir da implementação elaborada. Essa abordagem,
associada a uma eficiente estrutura de dados espacial de localização de triângulos numa subdivisão planar
triangular, conduz a um algoritmo O ( n log n) em relação ao tempo de processamento, mas na prática se
comporta linearmente, se comparada às primeiras variantes do algoritmo de inserção que apresentavam
complexidade de tempo quadrática. Essas medidas indicam uma diferença enorme em termos do tempo
computacional necessário para se obter uma triangulação, que pode variar de segundos a dias de
processamento quando o conjunto de pontos é da ordem de 104 a 106. Desse modo, uma implementação
ineficiente pode inviabilizar uma gama significativa de aplicações, como, por exemplo, a reconstrução da
superfície de um terreno por meio de uma amostra finita e irregular de pontos (TIN), ou, ainda, problemas
que demandam alta interatividade e, portanto, tomadas de decisões em tempo real, como aqueles que são
resolvidos a partir da existência de um modelo digital de terrenos.

ABSTRACT - This work discusses the foundations of the planar Delaunay triangulation technique
particularly those algorithmic aspects of the insertion paradigm combined with the randomization outline
and presents the results from our implementation. This approach, associated to an efficient spatial data
structure for locating the triangle that contains an arbitrary point in a triangular planar subdivision, leads
to an algorithm O( n log n) in respect to the processing time, which in practice behaves linearly when the
2
points are evenly distributed through the domain, contrasting with the O ( n ), complexity of the first
variants of the insertion algorithm. These complexity measures indicate enormous difference in terms of
the computational time for a triangulation process which can vary from seconds to days of processing
4 6
when the data set of points is of the order 10 a 10 . In this way, an inefficient implementation can
mislead us to consider as unfeasible a significant range of applications, as for instance, the reconstruction
of land surfaces from irregular sample of points (TIN), or still, problems with high interactivity demand
and, therefore, real time decisions as those solved from the existing digital terrain model.

1 INTRODUÇÃO O interessante a observar é que independente da


especificidade do problema estudado e da área em que
A representação digital de objetos físicos, este se insere, muitas vezes não existe nenhuma descrição
manufaturáveis ou não, em inúmeras áreas do da superfície do objeto, mas apenas um conjunto finito de
conhecimento humano, tais como: arqueologia, GIS, pontos amostrados sobre ela. Entretanto, a partir dessa
engenharias, matemática, medicina, é fundamental para representação primária, é possível reconstruir, com um
que se possa realizar sobre eles simulações físicas, ou, determinado grau de precisão, a superfície do objeto que
ainda, resolver diferentes tipos de problemas que se está modelando. Embora haja diferentes métodos de
envolvem propriedades de natureza combinatória, reconstrução de superfícies, alguns mais específicos,
geométrica e topológica. outros mais genéricos, como descrito em Amenta (1999) e
Dey (2006), normalmente eles se utilizam de um esquema
M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira
II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
de triangulação numa das etapas do processo de 2 FUNDAMENTAÇÃO TEÓRICA
reconstrução, sendo a qualidade local e global dos
elementos triangulares um atributo desejável e muitas
Esta seção traz alguns conceitos teóricos que
vezes indispensável.
fornecem o rigor necessário para fundamentar as demais
O problema de triangulação não possui unicidade e, seções do trabalho.
entre todas as triangulações existentes, a de Delaunay é Um grafo G(V, E) é um conjunto finito não-vazio
aquela que maximiza o menor dos ângulos, o que, V de vértices, e um conjunto E de arestas, que são
segundo Sibson (1978), garante uma triangulação o mais formadas a partir de pares não-ordenados de vértices
eqüiangular possível. distintos de V. Uma aresta e = (u , v) é constituída pelos
Essa garantia de regularidade local e global dos vértices u e v, que são seus extremos.
triângulos sempre foi enaltecida na interpolação numérica
de funções de duas variáveis, conforme observado por Todo grafo admite uma representação geométrica
Lawson (1977), na geração de malhas de elementos no plano, de modo que cada vértice corresponde a um
finitos (Piteri, 1999), e são igualmente importantes na ponto distinto nesse plano numa posição qualquer,
modelagem digital de terrenos, ver Li (2005) e El-Sheimy enquanto cada aresta e = (u , v ) corresponde a uma curva
(2005). unindo os pontos associados. Assim, ao se referir a um
grafo, faz-se igualmente uma referência à sua
Embora a triangulação de Delaunay seja estudada
2
representação.
no espaço euclidiano de dimensão n, é no que ela Por outro lado, um grafo G é imersível numa dada
conta com a maior variedade de algoritmos. Assim, uma superfície S se existir uma representação geométrica R em
questão que permanece atual é encontrar um algoritmo S, de tal forma que duas curvas quaisquer de R não se
simples e robusto, já que algoritmos de ordem quadrática interceptem a não ser em seus extremos. Dessa maneira,
podem levar dezenas de horas para obter uma um grafo é dito planar se ele admite uma representação R
triangulação, enquanto um algoritmo de complexidade no plano. Assim, uma aresta arbitrária poderá sempre ser
O(n log n), mas com tempo esperado linear, pode representada em R através de um segmento de reta. Ao
resolver o mesmo problema em alguns segundos. ser desenhado no plano, os segmentos de R que
representam arestas em G decompõem o plano em regiões
A importância do tema reside no fato de que que são referenciadas por faces. Dessa forma, a
muitas aplicações baseadas numa triangulação exigem representação R de todo grafo planar induz no plano uma
respostas ou fazem tomadas de decisão em tempo real. partição que é conhecida por subdivisão planar.
Nesse sentido, encontrar um algoritmo com as O número de vértices, arestas e faces em qualquer
características citadas tornou-se o “santo graal” da subdivisão planar, dados respectivamente por nv, ne e nf,
comunidade ligada à área de análise e projetos de se relacionam combinatoriamente através da relação de
algoritmos geométricos, como pode ser observado em Su Euler dada pela equação (1).
et al. (1996) e Zalik (2005). Este é exatamente o objetivo
deste trabalho, razão pela qual, se optou pela escolha do
paradigma de inserção combinado com o de nv + nf − ne = 2 (1)
randomização para ser aplicado ao problema de
reconstrução de superfícies voltado à modelagem
numérica de terrenos.
Num grafo planar cada face é formada por, no
Na seqüência, é apresentada uma série de mínimo, três arestas, cada aresta possui exatamente dois
elementos teóricos sobre a triangulação de um conjunto vértices e é adjacente a exatamente duas faces. Logo, 2ne
de pontos no plano. Na seção 3, discute-se a triangulação ≥ 3nf, e, ao se substituir esta desigualdade na equação (1),
de Delaunay, que é um tipo especial de triangulação, em obtém-se as inequações dadas em (2a), que são sempre
particular uma variante de uma abordagem algorítmica válidas. Se for acrescentada à restrição de que cada
baseada no paradigma de inserção e que foi implementada vértice possui pelo menos três arestas incidentes, então,
neste trabalho. A seção 4, apresenta a proposta de um as inequações dadas em (2b) também são válidas.
sistema avançado de modelagem digital de terrenos, cuja Um grafo G(V, E) é dito conexo quando existe
arquitetura está baseada numa estrutura de dados uma seqüência de arestas entre dois vértices quaisquer de
topológica que também representa de forma eficiente à V. Dado um conjunto S e um subconjunto S´ ( S´ ⊆ S ),
triangulação de Delaunay, objeto fundamental deste
diz-se que S´ é maximal em relação a uma determinada
trabalho e que será utilizada para a reconstrução de
superfícies aproximadas de terrenos a partir de uma propriedade M, quando S´ satisfaz a propriedade M e não
amostragem finita e irregular de pontos. existe outro subconjunto S´´ que contém S´ e também
Por sua vez, a seção 5 ilustra alguns resultados já obtidos, satisfaz a propriedade M. Muitos outros resultados
enquanto a seção 6 aponta à direção de alguns trabalhos a teóricos sobre teoria dos grafos podem ser encontrados
serem desenvolvidos no futuro. em Szwarcfiter (1984).

M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira


II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
⎧ ⎧ 2
⎪ ne ≤ 3nv − 6 ⎪nv ≤ 3 ne
⎪⎪ 2 ⎪
(a ) − ⎨nf ≤ ne (b) − ⎨ ne ≤ 3nf − 6 (2)
⎪ 3 ⎪ nv ≤ 2nf − 4
⎪ nf ≤ 2nv − 4 ⎪
⎩⎪ ⎩⎪

Seja V = { p1 , p2 , , pn } ⊆ 2 , n ≥ 3, um conjunto
finito de pontos distintos e não todos colineares, e E, o (a) (b)
conjunto de todos os segmentos possíveis entre vértices
de V. Formalmente, uma triangulação de V é um grafo Figura 1 - (a) Triangulação que não satisfaz o critério de
planar G(V, E´), onde E´ é um subconjunto maximal de E, Delaunay; (b) triangulação de Delaunay.
com a propriedade de que duas arestas quaisquer de E´
não se interceptam, a não ser em seus vértices (Lee e É importante realçar que as três principais
Schachter, 1980). Nessas condições, todas as faces subdivisões planares induzidas a partir de um conjunto de
limitadas da representação geométrica de G(V, E´) são pontos no plano estão diretamente relacionadas entre si e
triangulares e se referenciará a elas simplesmente por podem ser observadas na Figura 2. Essas subdivisões são:
triângulos, ou ainda, elementos triangulares. o fecho convexo, representado por linhas sólidas mais
O problema de triangulação de um conjunto de espessas (fronteira da triangulação); o diagrama de
pontos V não possui unicidade, ou seja, é possível obter, a Voronoi, representado por linhas tracejadas e a
partir de V, diferentes triangulações, cada uma delas com triangulação de Delaunay, cuja fronteira exterior coincide
2(n-1)-k triângulos e 3(n-1) – k arestas, onde k é o número com o fecho convexo e é representada por linhas sólidas.
de pontos na fronteira da triangulação. Na Figura 1 pode
se observar duas triangulações de um mesmo conjunto de
pontos.
Dentre todas as triangulações existentes, uma
pi
delas, em função das propriedades que serão descritas na
próxima seção, recebe atenção especial e é conhecida na
literatura por triangulação de Delaunay, em homenagem
ao matemático russo Boris Delaunay que a descobriu,
(Edelsbrunner, 2001).

3 TRIANGULAÇÃO DE DELAUNAY

A triangulação de Delaunay pode ser formulada e Figura 2 - Relacionamentos existentes entre a


estudada no espaço euclidiano de dimensão n, mas o triangulação de Delaunay, o diagrama de Voronoi e o
propósito neste trabalho é discutir seus aspectos de fecho convexo de um mesmo conjunto de pontos.
natureza teórica e algorítmica apenas no plano. É
importante fazer essa restrição, na medida em que nem Dado V, o fecho convexo de V é o menor conjunto
todos os conceitos podem ser generalizados para outras convexo que contém V. Uma região de Voronoi R ( pi ),
dimensões.
ilustrada na Figura 2 pela região sombreada, é dada pela
A triangulação TD (V ) de um conjunto de pontos
relação (3), onde d ( pi , p j ) é a métrica euclidiana. Por
V⊆ 2
é de Delaunay, se, e somente se, a circunferência
que circunscreve cada um dos sua vez, o conjunto de cada uma das regiões, associadas a
triângulos Δ( pi p j pk ) ∈TD(V ) for vazia, ou seja, não cada um dos pontos, define o diagrama de Voronoi de V.

contiver nenhum outro ponto de V. Essa propriedade R( pi ) = {x ∈ 2


| d ( pi , x) ≤ d ( p j , x),1 ≤ j ≤ n} (3)
também é conhecida por critério de Delaunay e pode ser
melhor observada na Figura 1. A razão dessa triangulação
ser tão importante em diferentes aplicações reside em Fundamentalmente, há duas formas básicas de se
duas propriedades fundamentais que a torna uma obter a triangulação de Delaunay a partir de um conjunto
representante especial entre todas as triangulações de pontos, os métodos diretos e indiretos.
associadas ao mesmo conjunto de pontos: De forma indireta, a triangulação poderia ser
ƒ maximiza o menor dos ângulos entre todas as obtida a partir de seu dual, o diagrama de Voronoi, ou,
triangulações possíveis (Sibson, 1978); ainda, a partir do fecho convexo. Nesse último caso, os
ƒ se não existirem mais que três pontos co- pontos poderiam mapeados, por exemplo, para a
superfície de um parabolóide. Após a obtenção do fecho
circulares, então TD(V ) é única.
convexo nessa superfície, em que cada uma das faces do
M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira
II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
poliedro convexo seria triangular, a estrutura topológica paradigma residem no estabelecimento dessa seqüência,
da triangulação seria obtida. Maiores detalhes de como enquanto outras variantes estão diretamente associadas à
isso pode ser realizado pode ser verificado em Guibas e forma como a triangulação será atualizada, ou, ainda, em
Stolfi (1997), Berg et al. (1997) e Edelsbrunner (1997, como será realizada a operação de localização de um
2001). elemento triangular.
De acordo com Su e Drysdale (1996), há uma Os primeiros algoritmos incrementais não davam
variedade enorme de algoritmos diretos e cada um deles muita atenção à ordem em que os pontos eram
pode ser classificado como pertencente a um dos processados. Entretanto, com a aplicação do princípio de
seguintes paradigmas computacionais: randomização, foi observado que alterações na ordem de
entrada dos pontos poderiam colaborar para minimizar o
ƒ Paradigma de inserção; esforço computacional associado ao algoritmo. Um
ƒ Paradigma de divisão e conquista; tratado sobre a possibilidade de se aplicar o princípio de
randomização em diferentes classes de algoritmos pode
ƒ Paradigma de varredura de linhas; ser visto em Motwani e Raghavan (1995).
Cada uma dessas classes possui um método O trabalho de Guibas et al. (1992) foi o primeiro a
algorítmico bem definido, embora mais recentemente combinar a idéia de randomização com o paradigma
alguns algoritmos híbridos, no sentido de que combinam incremental aplicado à triangulação de pontos. Além
características entre os diferentes paradigmas têm surgido disso, há a proposta de uma nova estrutura de dados
na literatura, como, por exemplo: Guibas et al. (1992) e denominada DAG (Directed Aciclic Graph) para facilitar
Zalik (2005). a localização do triângulo que contém o ponto mais
recentemente inserido e que se tornou uma referência
obrigatória nesse tema, já que foi a primeira variante de
3.1 Paradigma de inserção randomizado um algoritmo incremental com complexidade teórica
O(n log n) , embora, na prática, o tempo esperado para
Indiscutivelmente, entre os paradigmas acima diferentes distribuições de pontos seja linear.
enumerados, o que mais evoluiu e possui um maior A descrição do pseudocódigo dada no
número de representantes é o de inserção, em grande parte Algoritmo 1 segue as referências de Guibas et al. (1992) e
devido à sua simplicidade, robustez e facilidade de ser Berg et al. (1997), onde também podem ser verificadas a
3
generalizado para outras dimensões, em particular o , prova de vários lemas, a prova de correção do algoritmo e
onde há igualmente um conjunto significativo de uma análise detalhada de sua complexidade. A
aplicações, conforme podem ser constatadas em Amenta, implementação realizada segue basicamente essas duas
(1999), Piteri (1999) e Dey (2006). referências.
______________________________________________
O algoritmo incremental descrito por Lawson 1. Encontre um supertriângulo que contenha todos
(1972) e muitas de suas variantes, como as descritas por os pontos de V;
Watson (1981) e Lee e Schachter (1980), possuem 2. Compute uma permutação aleatória de V;
complexidade quadrática. Mais recentemente, esse 3. Inicialize a triangulação inicial TD(V0 ) com
método foi combinado com o princípio de randomização
em Guibas et al. (1992) e com o método de varredura por apenas o supertriângulo;
linhas em Zalik (2005), tornando essa abordagem 4. para r Å 1 até n faça
extremamente competitiva, se comparada ao método de 4.1 Insira um novo ponto pr em TD(Vr −1 ) ;
divisão e conquista descrito em Lee e Schachter (1980), 4.2 Encontre o Δ ( pi p j pk ) ∈TD(Vr −1 ) que
Guibas e Stolfi (1985) e, ao de varredura por linhas dado
em Fortune (1987), ambos com complexidade teórica de contém o ponto pr;
pior caso O( n log n). 4.3 se pr está no interior do Δ ( pk pt pv )

A idéia fundamental do paradigma de inserção, então Regulariza1 (Δ ( pk pt pv ), pr );


também referenciado como incremental, é muito simples.
Um ponto é inserido por vez na triangulação já existente e senão Regulariza2 (pi p v , p r ); //Figura 4a
esta é atualizada de modo a satisfazer o critério de 5. Remover os vértices, arestas e faces que incidem
Delaunay. Esse processo é repetido sistematicamente até nos vértices originais do supertriângulo e que
que todos os pontos tenham sido processados e, não fazem parte da triangulação.
consequentemente, a triangulação do conjunto de pontos ______________________________________________
obtida. Um pseudocódigo é dado no Algoritmo 1. Algoritmo 1 - Pseudocódigo associado ao algoritmo de
Uma questão imediata que surge aqui é saber qual inserção randomizado.
o próximo ponto, entre todos aqueles que ainda não foram
manipulados, será processado. Em outras palavras, qual Na seqüência são apresentadas descrições mais
deve ser a ordem em que os pontos serão introduzidos. detalhada de cada um dos passos fundamentais associados
Muitas das variantes algorítmicas associadas a esse ao Algoritmo 1.
M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira
II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
Passo 1. O passo inicial do Algoritmo 1 é garantir que constante por meio do uso de coordenadas baricêntricas.
todos os pontos do conjunto V a ser triangulado estejam A seguir, são discutidas três abordagens possíveis
no interior de uma região convexa. Lawson (1972, 1977), para a solução deste problema.
por exemplo, sugeriu usar uma região retangular. A primeira verificará, entre todos os elementos
Por outro lado, Watson (1981) propôs o uso de um triangulares já existentes, qual deles contém o ponto pr .
triângulo grande o suficiente para conter todos os pontos
do conjunto inicial e facilitar os passos construtivos do Essa proposta conduz a um algoritmo quadrático.
Uma segunda alternativa, bem mais eficiente, é
algoritmo. Esse triângulo especial é referenciado na
literatura por supertriângulo (ST) e há infinitas formas de partir do último elemento triangular que foi gerado no
se obtê-lo. Uma que tem sido comumente utilizada, passo anterior e verificar se ele contém o ponto. Se
contiver, a busca foi concluída, caso contrário, pelo uso
inclusive neste trabalho, é defini-lo com coordenadas
das coordenadas baricêntricas do triângulo e das regiões
(3M , 0), (0,3M ) e (−3M , −3M ), onde M é o maior valor
induzidas pelas retas suportes associadas a cada um de
absoluto das coordenadas dos pontos em V (Berg et al.
seus lados, é possível classificar o ponto pr em relação a
1997).
Um outro método é escolher um supertriângulo, esse triângulo e, assim, obter a direção a ser seguida por
cuja circunferência inscrita contém um quadrado de lado meio de um de seus triângulos adjacentes. Essa idéia é
2M, que, por sua vez, contém o conjunto V. Além disso, a repetida sistematicamente até que o triângulo que contém
base desse triângulo é paralela ao eixo-x. o ponto pr seja encontrado. Tal situação ocorre quando
Uma variante do algoritmo de inserção para o
problema de triangulação e que elimina o uso de um as coordenadas baricêntricas de pr em relação ao
supertriângulo é baseado num método de construção do triângulo são todas positivas.
fecho convexo, onde o conjunto de pontos passa Para conjuntos de pontos distribuídos
inicialmente por uma ordenação lexicográfica. Detalhes uniformemente pelo domínio, o tempo dessa estratégia de
dessa técnica podem ser verificados em Boissonnat e busca está limitado a O( n ). Como n pontos são
Yvinec (1998) e Barbosa et al. (2003).
inseridos na triangulação, a complexidade de tempo de
Passo 2. O principal objetivo desse passo, sugerido por processamento do algoritmo de inserção fica limitada a
Guibas et al. (1992), é acrescentar uma aleatoriedade na O(n1.5 ), mais eficiente que o caso quadrático da
ordem em que os pontos são inseridos, o que garante que abordagem anterior.
poucas alterações estruturais ocorram na triangulação já Uma idéia semelhante ao uso das coordenadas
existente, permitindo que as operações de atualização baricêntricas é traçar um segmento a partir do centróide
sejam realizadas em tempo constante. Esse passo de do último elemento triangular gerado até o ponto pr . Em
randomização pode ser conseguido com o auxílio de uma
permutação sobre os pontos. seguida, “caminha-se” para o elemento triangular
adjacente à aresta que foi interceptada pelo segmento. Na
Passo 3. É um passo de inicialização da estrutura de verdade, esse segmento fornece a direção a ser seguida até
dados que irá representar o processo construtivo da a localização definitiva do elemento triangular procurado.
triangulação e facilitar as operações topológicas de Eventualmente, esse segmento pode interceptar um
atualização após a inserção de um novo ponto no passo 4. vértice. Uma solução possível seria escolher quaisquer
Seja TD(Vr ), a notação associada à triangulação de dos elementos triangulares incidentes a esse vértice,
encontrar o seu centróide, refazer o segmento até o ponto
Delaunay já obtida para r pontos, 1 ≤ r ≤ n.
pr e continuar a busca.
Passo 4. É o passo fundamental no algoritmo de inserção Não satisfeitos com as abordagens anteriores,
e é aquele que determina a sua complexidade Guibas et al. (1992) sugerem uma terceira proposta
computacional em termos de tempo de processamento. baseada na estrutura de dados hierárquica DAG, que
Seguindo a mesma sistemática anterior, serão descritos resolve a operação de localização do triângulo em
cada um de seus passos intermediários. tempo O(log n), reduzindo o tempo total de
Passo 4.1. Aqui se limita a identificar qual será o próximo processamento do algoritmo de inserção de O(n n )
ponto pr a ser inserido na triangulação, segundo a ordem para O( n log n). Como já foi dito anteriormente, isto é
estabelecida pela permutação no passo 2. muito significativo quando o número de elementos do
conjunto de pontos é de algumas dezenas de milhar.
Passo 4.2. Por construção (passo 1), necessariamente o Detalhes dessa estrutura podem ser observados em
ponto pr se localiza estritamente no interior de um Edelsbrunner (2001) e Berg et al. (1997).
triângulo, ou, sobre uma de suas arestas. Em primeiro
lugar deve-se notar que a classificação de um ponto em Passo 4.3. Consiste em garantir a invariância do critério
relação a um triângulo pode ser resolvida em tempo de Delaunay após a inserção do ponto pr , ou seja,

M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira


II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas

transformar TD(Vr −1 ) ∪ pr → TD(Vr ) e pode ser edge-flip na aresta pk pt , o menor dos seis ângulos
realizado de duas formas diferentes. internos na Figura 3a aumentou na Figura 3b, ou seja, o
A primeira delas é a mais popular e é a que foi menor dos ângulos foi maximizado.
utilizada neste trabalho, razão pela qual será aqui descrita O princípio de edge-flip pode ser usado ainda para
com maiores detalhes. Foi proposta por Lawson (1977) e converter uma triangulação arbitrária em outra qualquer,
é conhecida na literatura por edge-flip; a segunda forma, e, em particular, numa de Delaunay. Este resultado é
foi elaborada por Watson (1981). Ambas as alternativas devido a Lawson (1972, 1977). Em Piteri (1999), a
conduzem à mesma triangulação. O passo 4.3 também é triangulação a partir de uma geometria bidimensional
conhecido por regularização ou legalização da arbitrária é realizada inicialmente pela técnica de Avanço
triangulação e é aplicado sobre uma aresta. da Fronteira e, posteriormente convertida para uma
triangulação de Delaunay com restrições.
Diz-se que uma aresta pi pv é localmente
A maior virtude do critério proposto por Lawson é
Delaunay se ela for adjacente: sua simplicidade, aliada ao fato de ele ser local. Isto
ƒ à face exterior (pertence ao fecho convexo) da significa que ao aplicá-lo em torno do ponto pr mais
triangulação, ou,
ƒ aos triângulos Δ( pi pv pk ) e Δ( pi pv pt ) e o recentemente inserido, as trocas de arestas não se
propagam por toda a triangulação. Em outras palavras,
ponto pt se localiza no exterior da circunferência que ocorrem poucas mudanças estruturais na topologia da
triangulação e elas são bem localizadas.
circunscreve o triângulo Δ( pi pv pk ), Figura 3b. Em síntese, o procedimento de regularização de
uma aresta é simplesmente verificar se a mesma é
Lema de Delaunay: Dada uma triangulação T (V ) de localmente de Delaunay, se não for aplica-se o princípio
2 de edge-flip, mantendo invariante o critério de Delaunay.
V⊆ , se toda aresta e ∈ T (V ) for localmente O procedimento Regulariza1(.) trata do caso em
Delaunay, então T (V ) é uma triangulação de Delaunay. que o ponto pr se localiza estritamente no interior de
Se a aresta pk pt é adjacente aos triângulos um triângulo (Figura 4a). Seus parâmetros são o triângulo
Δ( pk pt pv ) e Δ( pk pi pt ) e sua remoção resulta num que contém o ponto pr e o próprio ponto.
quadrilátero estritamente convexo (Figura 3a), então, é pv
pv pv
possível trocá-la pela aresta pi pv , regularizando a
pt pi
triangulação. A Figura 3 ilustra a representação pr
pr pr
diagramática desse princípio. pk pk pk
pt pi pt

(a) (b) (c)


pv pv
pt pt Figura 4 – Inserção do ponto pr na triangulação. (a)
pk pk Ponto no interior do triângulo e; (b) sobre uma aresta; (c)
pi pi ilustração do processo de regularização da aresta pt pv .
______________________________________________
(a) (b) Regulariza1(.){
1. Remova o triângulo original em T (Vr −1 ) e crie
Figura 3 - Princípio de edge-flip. (a) O triângulo três novos triângulos em T (Vr ), de acordo com a
Δ( pk pi pt ) não satisfaz o critério de Delaunay; (b) Figura 4a;
Troca da diagonal pk pt pela diagonal pi pv , tornando a 2. Regularizar_Aresta ( pk
pt , pr ) ;
triangulação de Delaunay. 3. Regularizar_Aresta ( pt pv , pr ) ;
4. Regularizar_Aresta ( pv pk , pr ) ;
Já se disse anteriormente que a triangulação de
Delaunay TD(V ) possui a propriedade de maximizar o }
______________________________________________
menor ângulo entre todas as triangulações T (V ). Foi
Algoritmo 2 – Pseudocódigo relativo ao procedimento
Sibson (1978), o primeiro a perceber que no plano existe Regulariza1(.).
uma correspondência entre essa propriedade que ele
denominou critério MaxMin e o critério de Delaunay, Por outro lado, o procedimento Regulariza2(.)
conforme pode ser observado na Figura 3. Ao se aplicar o trata da situação em que o referido ponto encontra-se

M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira


II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
sobre uma aresta da triangulação (Figura 4b). Os A existência de um MDT associado a um dado
parâmetros são, a aresta sobre o qual o ponto pr se espaço físico, possibilita que uma série de operações
possam ser realizadas sobre ele, como, por exemplo,
localiza e o próprio ponto. treinamentos em simulações de vôo, extração de curvas
______________________________________________ de níveis e redes de drenagem; projetos de construção de
Regulariza2(.) { estradas, túneis, barragens e dimensionamento dos
1. Remova ambos os triângulos adjacentes à aresta respectivos deslocamentos de terras, e ainda, estudos de
pi p j em T (Vr −1 ) e crie quatro novos triângulos impacto ambiental como o cálculo de áreas alagadas na
em T (Vr ), de acordo com a Figura 4b; construção de hidroelétricas e o respectivo volume do
reservatório. Nesse sentido, um MDT é fundamental no
2. Regularizar_Aresta ( pk
pi , pr ) ; auxílio à tomada de decisão e no desenvolvimento de
3. Regularizar_Aresta ( pi pt , pr ) ; projetos ligados a áreas como GIS, Engenharias
Cartográfica, Ambiental, Militar, Civil, entre outras. Ver
4. Regularizar_Aresta ( pt pv , pr ) ; Barbosa et al. (2003), Li (2005) e El-Sheimy (2005) para
outras aplicações.
5. Regularizar_Aresta ( pv pk , pr ) ;
É fácil notar que somente a existência de um
} conjunto de pontos amostrados sobre a superfície de um
______________________________________________ terreno não oferece nenhuma informação adicional de
Algoritmo 3 – Pseudocódigo relativo ao procedimento natureza topológica (incidência, adjacência,
Regulariza2(.). conectividade, relações de proximidade), além de outras
propriedades de natureza geométrica (declividade e
Por fim, após o processo de criação de novos orientação do terreno) e de inúmeras propriedades
triângulos em Regulariza1(.) e em Regulariza2(.), o combinatórias que auxiliam na obtenção de medidas de
procedimento Regularizar_Aresta(.) é chamado recursi- complexidade associadas às diferentes aplicações sobre o
vamente sempre que houver a troca de diagonal entre MDT. Isto torna a existência de uma triangulação
triângulos adjacentes. A figura 4c, conjuntamente com o fundamental, na medida em que é ela que estabelece a
pseudocódigo dado no Algoritmo 4, facilitam a conexão entre os pontos (dimensão 0), criando mais duas
compreensão dessa idéia. entidades que até então não existiam, as arestas (dimensão
______________________________________________ 1) e as faces triangulares (dimensão 2), dando origem a
Regularizar_Aresta ( pt pv , pr ) { uma estrutura topológica e combinatória, que consegue
capturar informações relevantes sobre o terreno e dá a
Se a aresta ( pt pv ) não é localmente Delaunay então abstração necessária para a criação de um modelo
troque-a pela aresta pr pi ; (edge-flip na Figura 4c ) computacional que se constitui na essência de um modelo
digital de terrenos. A Figura 5 ilustra a idéia de como essa
Regularizar_Aresta ( pt pi , pr ); tarefa poderá ser realizada.
Regularizar_Aresta ( pi pv , pr );
Na Figura 5a, o conjunto de pontos amostrados
sobre a superfície do terreno é projetado ortogonalmente
} sobre um plano, onde então a triangulação de Delaunay é
______________________________________________ obtida. Na seqüência do processo, verifica-se que a
Algoritmo 4 – Função recursiva Regularizar_Aresta(.). estrutura topológica da triangulação (Figura 5a) é
preservada no espaço, já com o valor da coordenada-z
O importante a salientar neste passo de atualizado, dando origem a uma superfície aproximada
regularização é que ele não se propaga pela malha já linearmente por partes (Figura 5b).
construída, garantindo que em cada nova inserção de um
ponto a triangulação não seja toda reconstruída.

Passo 5. A última tarefa a ser realizada é remover todas as


faces triangulares incidentes aos vértices associados ao
ST, incluindo obviamente suas arestas e vértices.

4 SISTEMA DE MODELAGEM DIGITAL DE


TERRENOS (a) (b)
Um modelo digital de terrenos (MDT) pode ser Figura 5 – (a) Projeção ortogonal de um conjunto de
obtido a partir de grades regulares, curvas de níveis ou pontos e respectiva triangulação; (b) Superfície do terreno
ainda sobre uma amostra irregular de pontos sobre a aproximada a partir da malha triangular obtida em (a).
superfície do terreno (TIN), segundo Barbosa et al.
(2003), Li (2005) e El-Sheimy (2005). No caso deste A plataforma de software em desenvolvimento está
trabalho, o interesse está concentrado na última sendo elaborada inicialmente em C, com o uso do
abordagem.
M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira
II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
compilador Microsoft Visual Studio C++ 6.0. A interface
do sistema será construída com o uso da biblioteca de
classes Qt, enquanto as diferentes operações de
visualização serão implementadas com o uso da biblioteca
OpenGL.
A arquitetura do núcleo do sistema está baseada na
estrutura de dados topológica winged-edge modificada
(Piteri, 1999), que é capaz de representar quaisquer
subdivisões planares e alguns tipos especiais de
subdivisões espaciais, incluindo a ilustrada na Figura 5b.
Uma vantagem dessa estrutura de dados é que ela é
capaz de responder quaisquer das nove relações de
incidência e adjacência entre as entidades topológicas
(vértices, arestas e faces) presentes na triangulação em
tempo constante, respeitando a natureza local dessas
operações, de modo que elas sejam independentes da
dimensão do problema. Esse requisito é fundamental para
a elaboração de algoritmos eficientes em variadas
Figura 6- Triangulação de Delaunay com 800 pontos
aplicações associadas à Cartografia, Meio Ambiente e
gerados aleatoriamente segundo uma distribuição
Geomorfologia.
uniforme e obtida a partir do protótipo implementado.
Na verdade, este trabalho é o primeiro resultado de
uma proposta mais abrangente de desenvolvimento de um
6 CONCLUSÕES
sistema avançado de modelagem digital de terrenos de
alta performance baseado numa estrutura de dados
Este trabalho mostra de forma sistemática
topológica. Os elementos iniciais deste projeto estão
diferentes aspectos de natureza combinatória, geométrica
sendo materializados em dois projetos finais de graduação
e topológica associados à técnica de triangulação de
junto ao curso de Ciência da Computação, a serem
Delaunay. Discute ainda inúmeras variantes do algoritmo
finalizados em 2007.
de inserção, visando encontrar a mais eficiente em termos
computacionais, com o intuito de aplicá-la ao problema
5 RESULTADOS de modelagem digital de terrenos a partir de uma amostra
finita e irregular de pontos (TIN). Além disso, apresenta
A Figura 6 ilustra a triangulação de Delaunay
resultados parciais da implementação realizada, que já se
obtida a partir da implementação do algoritmo
encontra operacional, permitindo que o projeto possa
incremental randomizado discutido nas seções anteriores.
avançar para suas próximas etapas.
Como os pontos da Figura 6 foram gerados
Por outro lado, apresenta ainda a proposta de uma
randomicamente, podem ser observados alguns elementos
plataforma de software que se encontra em
irregulares. O objetivo aqui foi ilustrar a consistência e a
desenvolvimento, cujo propósito maior é suportar a
robustez do protótipo já desenvolvido.
variedade de aplicações realizadas a partir da existência
Os resultados obtidos são consistentes e atendem
de um modelo digital de terreno construído por meio de
as expectativas quanto à eficiência computacional. A
uma rede irregular de pontos (TIN). Nesse sentido, a
complexidade de tempo de processamento é
implementação de um algoritmo eficiente para se obter a
O(n n ) = O(n1.5 ). Embora essa medida seja muito mais triangulação de Delaunay é um passo indispensável e que
eficiente que os primeiros algoritmos incrementais de pode ser considerado, em grande parte, superado.
ordem quadrática, para aplicações reais que envolvem Entre os passos mais imediatos na continuidade do
milhares de pontos, ela deve ser melhorada. Isso já está trabalho, destacam-se à construção de triangulações de
sendo resolvido através da implementação da estrutura de Delaunay com restrições e a incorporação de predicados
dados DAG proposta por Guibas et al. (1992) e cujo geométricos introduzidos por Shewchuck (1997) para
propósito é localizar o triângulo no passo 4.2 do trabalhar com aritmética exata, já que algoritmos
Algoritmo 1. Com o uso dessa estrutura, o tempo de geométricos em geral são extremamente susceptíveis aos
busca será alterado de O( n ) para O(log n), reduzindo erros numéricos derivados da aritmética de ponto
flutuante.
assim o tempo total de processamento da triangulação
para O(n log n), que é o objetivo final do trabalho. AGRADECIMENTOS
Por fim, é preciso salientar que a técnica de
triangulação de Delaunay implementada já se encontra Os dois primeiros autores agradecem a FAPESP e
integrada a estrutura de dados topológica winged-edge ao CNPq/PIBIC pelo apoio dado aos projetos de IC sob
modificada, facilitando o desenvolvimento do sistema suas respectivas orientações, bem como ao revisor técnico
proposto na seção anterior. do artigo pelas sugestões apresentadas que em muito
contribuíram para a qualidade final desse trabalho.
M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira
II Simpósio Brasileiro de Geomática Presidente Prudente - SP, 24-27 de julho de 2007
V Colóquio Brasileiro de Ciências Geodésicas
REFERÊNCIAS LAWSON, C.L. Software for C1 surface interpolation. In:
Mathematical Software III, Ed. John R. Rice, New
AMENTA, N. The crust algorithm for 3D surface York: Academic Press, 1977, p. 161-194.
reconstruction, In: Proceedings of the Fifteenth Annual
Symposium on Computation Geometry (Miami Beach, LEE, D.T.; SCHACHTER, B.J. Two algorithms for
construction a Delaunay triangulation, International
Florida), pages 423-424, ACM, June 1999.
Journal of Computer and Information Sciences, v. 9,
n. 3, p. 219-242, 1980.
BARBOSA, R. L.; SILVA, J. F. C.; MENEGUETTE JR,
M.; GALLIS, R.B.A., Geração de modelo digital do LI, Z.; ZHU, Q.; GOLD, C. Digital terrain modeling:
terreno utilizando a triangulação de Delaunay e thin principles and methodology. Boca Raton: CRC Press,
plate spline. In: Colóquio Brasileiro de Ciências 2005, 323p.
Geodésicas, 3, 2003, Curitiba.
MOTWANI, R.; RAGHAVAN, P. Randomized
BERG, M., KREVELD, M. V., OVERMARS, M. e Algorithms, Cambridge University Press. 1995. 476p.
SCHWARZKOPF, O. Computational geometry:
algorithms and applications, Heidelberg: Springer- PITERI, M. A. Geração automática de malhas
Verlag, 1997. 365p. hierárquico-adaptativas em domínios bidimensionais e
tridimensionais. 1999. 227 p. Tese de Doutorado -
BOISSONNAT, J.D.; YVINEC, M. Algorithmic Instituto Superior Técnico, Universidade Técnica de
geometry, Cambridge: Cambridge University Press. Lisboa, Lisboa.
1998. 519p.
SHEWCHUCK, J. R. Adaptive precision floating-point
DEY, T.K. Curve and surface reconstruction: arithmetic and fast robust geometric predicates. Discrete
algorithms with mathematical analysis, Cambridge: and Computational Geometry, v. 18, n.3, p. 305-363,
Cambridge University Press, 2006, 229p. out. 1997.

EDELSBRUNNER, H. Geometry and topology for SIBSON, R. Locally equiangular triangulations.


mesh generation, Cambridge: Cambridge University Computer Journal, v.21, p. 243-245, 1978.
Press, 2001. 177p.
SU, P.; DRYSDALE, T.L.S. A comparison of sequential
EDELSBRUNNER, H. Algorithms in Combinatorial Delaunay triangulation algorithms. Computational
Geometry, Heidelberg: Springer-Verlag, 1987. 423p. Geometry: Theory and Applications
v. 7 , n. 5-6, p. 361-385, abr. 1997.
EL-SHEIMY, N.; VALEO, C.; HABIB, A. Digital
terrain modeling: acquisition, manipulation, and ZALIK, B. An efficient sweep-line Delaunay
applications. Boston: Artech House, 2005, 257p. triangulation algorithm. Computer Aided Design, v.37,
p.1027-1038, 2005.
FORTUNE, S.J. A sweepline algorithm for Voronoi
diagrams. Algorithmica, v. 2, p. 153-174, 1987. SZWARCFITER, J.L. Grafos e algoritmos
computacionais, Rio de Janeiro: Editora Campus, 1984,
GUIBAS, L. J., STOLFI, J. Primitive for manipulation of 216p.
general subdivisions and the computation of voronoi
diagrams, ACM Transaction on Graphics, vol. 4, nº2, p. WATSON, D. Computing the n-dimensional Delaunay
77-123, 1985. tessellation with applications to Voronoi polytopes . The
Computer Journal, v. 24, n. 2, p. 167-172, 1981.
GUIBAS, L. J.; KNUTH D. E.; SHARIR, M.
Randomized incremental construction of Delaunay and
Voronoi diagrams. Algorithmica, v. 7, n. 1, p. 381-443,
1992.

LAWSON, C.L. Transforming triangulations. Discrete


Mathematics, v. 3, n. 4, p. 365-372, 1972.

LAWSON, C.L. Generation of a triangular grid with


applications to contour plotting. Tec. Report, n. 299, Jet
Propulsion Laboratory, Pasadena, Califórnia, fev., 1972.

M. A. Piteri; M. Meneguette Jr; A. G. dos Santos ; F. F. de Oliveira

Você também pode gostar