Interseção de Semiplanos

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Escola Politécnica de Pernambuco Departamento de Ensino Básico
Algoritmos em Grafos.
Busca em Regiões Ortogonais
Geometria Computacional Fecho Convexo II
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Computação Gráfica I Conteúdo: Professor: - Objetos gráficos planares
Fluxo em Redes Prof. Ricardo R. Santos.
Cálculo 3 9. Integrais Duplas Volumes Amintas Paiva Afonso
Geometria Computacional Galeria de Arte
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
FUNÇÕES.
Teorema Fundamental da Programação Linear
Capítulo 3 - Aplicações das Derivadas
Universidade Bandeirante de São Paulo Fundamentos da Álgebra
Posições relativas de duas retas
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
PERCEPTRON (CONTINUAÇÃO)
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Programação Linear Método Simplex
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
2002 LCG/UFRJ. All rights reserved. 1 Arranjos Claudio Esperança Paulo Roma.
Geometria Computacional Triangulações
Introdução à Computação Gráfica Recorte
Introdução à Computação Gráfica Geometria
Geometria Computacional Interseção de Segmentos
2002 LCG/UFRJ. All rights reserved. 1 Programação Linear Claudio Esperança Paulo Roma.
Geometria Computacional Fecho Convexo
Geometria Computacional Primitivas Geométricas
Decomposição Trapezoidal
2002 LCG/UFRJ. All rights reserved. 1 Localização no Plano Claudio Esperança Paulo Roma.
Claudio Esperança Paulo Roma
Decomposição Trapezoidal
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
FUNÇÃO MODULAR.
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 6.
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Introdução aos Sistemas de Controle
Espaço Vetorial Introdução Definição de Espaço Vetorial Subespaço
Aula 4: Matrizes e Operações Matriciais
Algoritmos em Grafos Árvores Geradoras Prof. André Renato
Matemática para Economia III
Propriedades da Integral Definidas
Histórico, exemplos e problemas
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Professor João Gilberto
Introdução à Computação Gráfica Curvas
Teoria da Computação Aula 1 Prof. Fabiano Sabha.
Aula II – Ponto Prof. Zé Roque
Propriedades Sejam conjuntos de um espaço vetorial Então:
CONJUNTO Um conjunto se pode entender como uma coleção ou agrupamento bem definido de objetos de qualquer classe. Os objetos que formam um conjunto são.
José Augusto Amgarten Quitzau
Matemática e suas Tecnologias – Matemática
Matemática 3º ano – Ensino Médio
SISTEMAS LINEARES Prof. Moacir.
Espaços e Subespaços Vetoriais
Geometria Computacional
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.

Computação Gráfica - Recorte
Geometria Computacional Fecho Convexo
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 5.
CONHEÇA HIDROLÂNDIA - UIBAÍ
Computação Gráfica - Recorte Profa. Mercedes Gonzales Márquez.
Prof. Edison Oliveira de Jesus
Introdução à Computação Gráfica Rasterização
GEOMETRIA ANALITICA VETORES.
Introdução a Funções Reais
Transcrição da apresentação:

Interseção de Semiplanos Claudio Esperança Paulo Roma

Interseção de Semiplanos Problema consiste em construir a região convexa dada pela interseção de um conjunto de n semiplanos H = { h1, h2 ..., hn} em d dimensões Resultado tipicamente é um politopo convexo limitado de dimensão d Pode ser também o conjunto vazio, um politopo ilimitado ou mesmo um politopo de dimensão menor que d Vamos nos concentrar em semiplanos (semi-espaços planos) em 2

Interseção de Semiplanos Cada semiplano é dado por uma inequação da forma ax + by ≤ c Semiplano complementar é dado por (-a)x + (-b)y ≤ -c Reta de suporte é dada por ax + by = c

Motivação Livro fala do problema de remoção de objetos de moldes A manufatura do molde depende de se escolher uma direção de onde o objeto possa ser depois retirado sem danificar o molde Pode ser reduzido ao problema de interseção de semiplanos Em computação gráfica, objetos convexos são comumente expressos sob a forma de interseção de semiplanos Usados como aproximações de objetos complexos Aplicação: Detecção de colisões

Complexidade Complexidade do resultado: O (n) Cada semiplano pode figurar como lado do resultado Problema é redutível ao problema do fecho convexo: Ω (n log n)

Algoritmo Dividir para Conquistar Se n = 1, retornar h1 Dividir H em 2 subconjuntos H1 e H2 , com n/2 e n/2 semiplanos, respectivamente Computar recursivamente C1 e C2 , como a interseção dos semiplanos em H1 e em H2, respectivamente. Combinar o resultado computando a interseção dos polígonos C1 e C2

Interseção de 2 polígonos convexos Polígonos podem ser ilimitados Estruturas de dados apropriadas Ex.: representar polígono por uma lista dos semiplanos que fazem parte da fronteira Usar um “flag” para denotar polígonos ilimitados Conhecemos um algoritmo de varredura para computar a interseção de n segmentos de reta em tempo O ((n + I) log n) 2 polígonos convexos de n lados não podem se intersectar em mais do que 2n pontos Uma reta intersecta um polígono convexo em 2 pontos no máximo Complexidade do algoritmo: O (n log n)

Interseção de 2 polígonos convexos Neste caso, entretanto, um algoritmo de varredura simples pode fazer o serviço em O(n) Como os polígonos são dados como listas, ordenação pode ser feita em O(n) reta de varredura intersecta cada polígono em 2 pontos no máximo Estado da reta de varredura tem complexidade constante Cada evento pode ser processado em O(1) Possíveis próximos eventos

Complexidade do Algoritmo Algoritmo para computar a interseção de 2 polígonos convexos é O(n) Algoritmo dividir para conquistar tem complexidade dada pela fórmula de recorrência Idêntica à fórmula de recorrência do MergeSort Solução: T(n)  O (n log n)

Envelopes superior e inferior Variante do problema de interseção de semiplanos É dado um conjunto de n retas L={ℓ1, ℓ2 ,... ℓn} não verticais Cada reta ℓi dada na forma y = ai x + bi Semiplano inferior associado: y ≤ ai x + bi Envelope inferior é a interseção desses semiplanos envelope superior envelope inferior

Envelopes superior e inferior Problema de interseção de semiplanos pode ser reduzido ao de computar os envelopes inferior e superior Dividir semiplanos hi de H em 2 classes Se forma é y ≤ ai x + bi então semiplano inferior Se forma é y ≥ ai x + bi então semiplano superior Computar os envelopes Achar a interseção dos 2 polígonos convexos Envelopes têm também relação com problema do fecho convexo Achar envelope inferior de um conjunto de retas L={ℓ1, ℓ2 ,... ℓn} é equivalente a achar a parte superior do fecho convexo do conjunto de pontos P={p1 , p2 ,... pn} onde pi é o dual de ℓi

Dualidade (transformada de Hough) Seja uma reta na forma y = ax – b Uma reta qualquer (não vertical) pode ser representada por um par de coeficientes (a,b) Podemos pensar em (a,b) como coordenadas de um ponto no plano dual (Diz-se que a reta está no plano primal) Uma reta no plano dual pode ser escrita na forma b = xa – y e portanto pode ser representada por dois coeficientes (x,y) Corresponde a um ponto no plano primal A transformada de Hough, que vamos denotar pelo sufixo (*), leva pontos e retas do plano primal em retas e pontos do plano dual ℓ* = (a,b) p* : (b = px a – py)

Propriedades da relação de dualidade Auto-inversa: (p*)* = p Reversão de ordem: ponto p está acima / sobre / abaixo da reta ℓ se e somente se o ponto ℓ* está abaixo / sobre / acima da reta p* Preservação de interseções: retas ℓ1 e ℓ2 se intersectam no ponto p se e somente se a reta p* passa pelos pontos ℓ1* e ℓ2* Colinearidade e coincidência: três pontos são colineares se e somente se seus duais se intersectam num ponto comum

Propriedades da relação de dualidade b y p*:(b=-2a–2) r*:(b=-2a+1) s*:(b=a+1) p:(-2,2) q*:(b=-a–1) q:(-1,1) x a r:(-2,-1) s:(1,-1)

Fecho convexo superior e envelope inferior Lema: Seja P um conjunto de pontos e P* o conjunto de retas dual de P. A ordem anti-horária entre os vértices do fecho convexo superior de P é igual à ordem da esquerda para a direita do envelope inferior de P* p3 p4 p2 p5 p1 p3* p4* p2* p1* p5*

Fecho convexo superior e envelope inferior Prova: (Assume-se que não há 3 pontos colineares) pipj é aresta do fecho superior sse a reta ℓij que passa por ambos os pontos tem todos os demais pontos de P abaixo de si As retas duais pi* e pj* são adjacentes no envelope inferior sse o ponto de interseção ℓij* está abaixo de todos as demais retas do plano dual P* A propriedade de reversão de ordem assegura que a condição primal acontece sse a condição dual acontece logo a seqüência entre pontos primais e retas duais é idêntica Observe a ordem anti-horária dos pontos no primal corresponde a valores decrescentes de x , enquanto que as retas duais apresentam inclinações a decrescentes