Anda di halaman 1dari 27

FECHO CONVEXO

UNIVERSIDADE FEDERAL DO CARIRI - UFCA


ALUNO: ANTÔNIO DARLON VÍTOR DOS SANTOS

PROFº ORIENTADOR : VICENTE HELANO FEITOSA BATISTA SOBRINHO


NOÇÕES PRELIMINARES

• Combinação convexa
Uma combinação convexa de um conjunto de pontos S = {p1, p2,...,pn} é um ponto w
que é escrito na forma:

λ1 𝑝1 + λ2 𝑝2 + … + λ𝑛 𝑝𝑛 = 𝑤

Onde λ𝑖 ≥ 0, ∑𝑛𝑖=1 λ𝑖 = 1.
NOÇÕES PRELIMINARES

• Conjunto convexo
Um conjunto K do ℝ𝑑 é convexo se quaisquer pontos x e y ∈ K, o segmento
de reta xy ligando x e y em ℝ𝑑 está totalmente contido em K.

Exemplos de conjuntos convexos


NOÇÕES PRELIMINARES

• Fecho Convexo

O fecho convexo de um conjunto S do ℝ𝑑 , denotado por conv(S), é a interseção de


todos os conjuntos convexos K que contém S, isto é, o menor conjunto convexo que
contém S.
NOÇÕES PRELIMINARES

• Dizemos que um conjunto K do ℝ𝑑 é fechado por combinações convexas quando K


contém todas as combinações convexas de pontos de K.

• Um conjunto é convexo se e somente se ele é fechado por combinações convexas.


NOÇÕES PRELIMINARES

Uma definição mais concreta para fecho convexo pode ser dada da seguinte forma:

• O fecho convexo de um conjunto S é o conjunto das combinações convexas de


pontos de S.
FECHO CONVEXO BIDIMENSIONAL

Problema :
dado um conjunto C = {p1, p2 , ..., pn} de pontos no plano, determinar conv(C).

Precisamos de uma caracterização discreta para o fecho convexo:

Teorema: O fecho convexo de um conjunto finito é um politopo. Reciprocamente, todo


politopo é o fecho convexo do conjunto (finito) de seus pontos extremos.
FECHO CONVEXO BIDIMENSIONAL

Assim, como afirmam Figueiredo e Carvalho (2005), “resolver


computacionalmente o problema de achar o fecho convexo de um conjunto finito S de
pontos no plano significa identificar os pontos extremos de conv(S) dentre os pontos de S
e listá-los na ordem circular em que eles aparecem na fronteira”.
FECHO CONVEXO BIDIMENSIONAL

• Complexidade
A complexidade do problema de fecho convexo pode ser obtida a partir da redução do
problema de Ordenação ao problema de fecho convexo:

Fonte: Figueiredo e Carvalho (2005)


FECHO CONVEXO BIDIMENSIONAL

• Teorema: Determinar o fecho convexo de um conjunto de pontos no plano requer, no


pior caso, Ω(n logn) passos.
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Jarvis

p3

p2
p1
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Jarvis

p1 = ponto de ordenada mínima


p2 = próximo(p1,(1,0))
i = 2
Repita
pi+1 = próximo (pi, pi-1pi)
i = i + 1
Até pi = p1

O algoritmo encontra de forma correta o fecho convexo de um conjunto de pontos em


tempo O(n²).
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Graham
• Este algoritmo explora de modo direto a relação entre ordenação e fecho
convexo.
• A determinação dos pontos extremos pode ser feita de modo eficiente se
os pontos {p1, p2, ..., pn} já tiverem sido ordenados em torno de um ponto
no interior do seu fecho.
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Graham

• O polígono resultante desta ordenação é um “polígono estrelado”. O algoritmo de


Graham analisa o ângulo de cada vértice deste polígono, a fim de eliminar aqueles
que formam um ângulo côncavo.

• O algoritmo de Graham pode encontrar corretamente o fecho convexo de um


conjunto de pontos em tempo ótimo O(n logn).
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Graham

Fonte: Figueiredo e Carvalho (2005)


FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Algoritmo Quickhull

• Esse algoritmo usa funções recursivas para dividir o conjunto C em subconjuntos C1


e C2 de forma que o conv(C) possa ser obtido simplesmente concatenando as listas
de arestas de C1 e C2.
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Algoritmo Quickhull
h11 h112
C11
h1

C22 O algoritmo Quickhull encontra


C1 h12
o fecho convexo de um
C2 conjunto de pontos em tempo
O(𝑛2 ).
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Algoritmo Mergehull
• O algoritmo se divide em três etapas:

• (SEPARAÇÃO) – dividir C em subconjuntos C1 e C2 de mesmo tamanho;


• (RECURSÃO) – obtenha conv(C1) e conv(C2);
• (COMBINAÇÃO) – determine conv(C) a partir de conv(C1) e conv(C2).
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Algoritmo Mergehull
• Começamos tomando um ponto p0 interior a P1(fecho convexo de C1);

• Percorremos a lista de vértices de P2 (fecho convexo de C2) determinando os


extremos u e v em que os ângulos polares em torno de p0 estão em ordem
crescente;
FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS
• Algoritmo Mergehull

Fonte: Figueiredo e Carvalho (2005) Fonte: Figueiredo e Carvalho (2005)


FECHO CONVEXO BIDIMENSIONAL -
ALGORITMOS

• Algoritmo Mergehull

• Combinamos a listas de vértices de P1 com os vértices obtidos no passo


anterior em uma única lista ordenada em torno de p0;

• Aplicamos o ultimo passo do algoritmo de Graham nesta lista ordenada.


FECHO CONVEXO TRIDIMENSIONAL

No caso do ℝ3 não podemos apenas determinar os pontos de C que façam parte


de conv(C). Precisamos de informações que permitam saber como esses vértices estão
agrupados formando arestas e faces.

Ao associarmos a estrutura de um diagrama planar a um poliedro podemos definir


certas propriedades topológicas do poliedro. Estruturas de dados capazes de descrever
esse diagrama são chamadas de estruturas de dados topológicas.
FECHO CONVEXO TRIDIMENSIONAL

• Uma estrutura clássica e bastante conhecida é a winged-edge (arestas-aladas).

A estrutura possui três listas:


• Vértices
• Faces
• Arestas
FECHO CONVEXO TRIDIMENSIONAL -
ALGORITMOS
• Algoritmo de Chand e Kapur (“Embrulho para Presente”)
• Podemos dizer que o algoritmo usa a ideia básica do algoritmo de Jarvis,
aplicada ao ℝ3 . Ele constrói a fronteira de P = conv(C), gerando as faces
adjacentes as já criadas.
• Seja F uma face já determinada de P e α uma de suas arestas. A face F’
adjacente à F em α é tal que todos os pontos de C estão em um
ângulo diedro formado for F e F’.
FECHO CONVEXO TRIDIMENSIONAL -
ALGORITMOS
• Algoritmo de Chand e Kapur (“Embrulho para Presente”)

Dentre os semiplanos formados por α e


pontos de C, F’ estará contida naquele que
forma o ângulo 𝜃𝑝 máximo conduzido por α
e contendo F.
FECHO CONVEXO TRIDIMENSIONAL -
ALGORITMOS
• Algoritmo de Chand e Kapur (“Embrulho para Presente”)
• Da relação estabelecida pelo produto escalar entre os vetores normais às faces
temos:
𝑛𝑝 . 𝑛
cos 𝜃𝑝 = −
𝑛𝑝 . 𝑛

• Assim, F’ será obtida encontrando o ponto p cujo cos 𝜃𝑝 seja mínimo.


REFERÊNCIAS BIBLIOGRÁFICAS

CARVALHO, P. C. P. e FIGUEIREDO, L. H. Introdução à Geometria Computacional.


18° Colóquio Brasileiro de Matemática, IMPA, 1991.
CARVALHO, P. C. P. e FIGUEIREDO, L. H. Notas sobre Geometria Computacional.
Disponível em: <http://lhf.impa.br/cursos/gc/notas.pdf>.

Anda mungkin juga menyukai