You are on page 1of 5

AG2

Algoritmos geomtricos: fecho convexo

o fecho convexo uma das estruturas mais usadas em geometria


computacional
robtica
reconhecimento de padres
processamento de imagens
otimizao

em SIG (sistemas de informao geogrfica)


delimitar regies definidas por um conjunto de pontos
rea afetada por alguma doena, cujos casos so lanados com pontos no
mapa
modelagem digital de terrenos

www.inatel.br/docentes/rosanna EC202

AG2

Algoritmos geomtricos: fecho convexo

um polgono convexo se, dados 2 pontos quaisquer em seu limite ou em


seu interior, todos os pontos no segmento de linha traado entre eles esto
contido no limite ou no interior do polgono

a envoltria convexa de um conjunto Q de pontos o menor polgono


convexo P (que tem a menor rea) para o qual cada ponto em Q est no limite
de P ou em seu interior

um conjunto de pontos Q = {p0, p1, ..., p12} com sua envoltria convexa EC(Q) traada

www.inatel.br/docentes/rosanna EC202

1
AG2

Algoritmos geomtricos: fecho convexo

existem 2 algoritmos que calculam a envoltria convexa de um conjunto


de n pontos
ambos decidem quais vrtices em Q sero mantidos como vrtices da envoltria
convexa e quais sero descartados

ambos utilizam uma tcnica chamada varredura rotacional que processa os vrtices
na ordem dos ngulos polares que eles formam com um vrtice de referncia

ambos do sada aos vrtices da envoltria convexa da direita para a esquerda em


ordem

varredura de Graham (*)


marcha de Jarvis

www.inatel.br/docentes/rosanna EC202

AG2

Algoritmos geomtricos: fecho convexo

algoritmo de GRAHAM (1972)


Graham considerado um dos pioneiros no campo da geometria computacional

a varredura de Graham resolve o problema da envoltria convexa, mantendo uma


pilha S de pontos candidatos

cada ponto do conjunto Q de entrada empurrado uma vez para a pilha, e os pontos
que no so vrtices da envoltria convexa so, eventualmente, extrados da pilha

quando o algoritmo termina, a pilha S contm, de baixo para cima, exatamente os


vrtices da envoltria convexa EC(Q) na ordem da direita para a esquerda de seu
aparecimento no limite (fronteira)

funo TOP(S) retorna o ponto que est no topo da pilha (sem alterar S)
funo NEXT_TO_TOP(S) retorna o ponto que est logo abaixo do topo (sem alterar S)

www.inatel.br/docentes/rosanna EC202

2
AG2

Algoritmos geomtricos: fecho convexo


funo GRAHAM (M inteiro; Q[M] PONTO) pilha;
I inteiro; P[M] PONTO; S pilha;
incio
P[0] = ponto de Q com a coordenada y mnima; sejam P[1], P[2], ..., P[M-1] os pontos restantes
de Q, ordenados por ngulo polar em ordem da direita para a esquerda em torno de P[0]; se dois
ou mais pontos tm o mesmo ngulo polar em relao a P[0], eles so removidos, exceto o mais
afastado de P[0];
push (P[0], S); push (P[1], S); push (P[2], S); // inicializa a pilha S com os 3 primeiros pontos P[0],P[1], P[2]
I=3
enquanto (I < M) faa // subtrair de M a quantidade de pontos removidos, se houver
incio
se (LADO (NEXT_TO_TOPO (S), TOP(S), P[I]) > 0) // se o ponto P[I] est esquerda
ento incio
push (S, P[I]); // P[I] empilhado
I = I + 1;
fim
seno pop (S); // remove o ponto da pilha, ele est direita ou colinear
fim;
retorna S;
fim;
www.inatel.br/docentes/rosanna EC202

AG2

Algoritmos geomtricos: fecho convexo

algoritmo de GRAHAM (1972)

- mostra os pontos numerados seqencialmente em p2 desempilhado


ordem de ngulo polar crescente com relao a p0
p0, p1, p2 so empilhados

www.inatel.br/docentes/rosanna EC202

3
AG2

Algoritmos geomtricos: fecho convexo

algoritmo de GRAHAM (1972)

www.inatel.br/docentes/rosanna EC202

AG2

Algoritmos geomtricos: fecho convexo

algoritmo de GRAHAM (1972)

www.inatel.br/docentes/rosanna EC202

4
AG2

Algoritmos geomtricos
Exerccios)
1) Utilizando o algoritmo de GRAHAM, para os conjuntos de pontos da
prxima pgina (de 1 a 5):
a) mostre o contedo da pilha S a cada iterao do lao
enquanto e
b) mostre a configurao final do fecho convexo formado (quais
vrtices sero mantidos como vrtices da envoltria convexa)

www.inatel.br/docentes/rosanna EC202

AG2

Algoritmos geomtricos
1) 2)

3) 4) 5)

www.inatel.br/docentes/rosanna EC202

You might also like