• Nenhum resultado encontrado

Polígonos monótonos

N/A
N/A
Protected

Academic year: 2022

Share "Polígonos monótonos"

Copied!
33
0
0

Texto

(1)

Geometria Computacional

Cristina G. Fernandes

Departamento de Ciência da Computação do IME-USP

http://www.ime.usp.br/˜cris/

segundo semestre de 2009

GeoComp 2009 – p. 1

(2)

Polígonos monótonos

Um polígono P é monótono em relação a uma reta L se P ∩ L é conexo para toda reta L perpendicular a L.

Se L é o eixo y, dizemos que P é y-monótono.

v0

v1

v2 v3 v4 v5

v6

v v12

v13 v14

v15

v16 v17 v18

v19 v20

(3)

Polígonos monótonos

Um polígono P é monótono em relação a uma reta L se P ∩ L é conexo para toda reta L perpendicular a L.

Se L é o eixo y, dizemos que P é y-monótono.

v0

v1

v2 v3 v4 v5

v6

v7 v8

v9 v10

v11 v12

v13 v14

v15

v16 v17 v18

v19 v20

Sabemos triangularizar P em tempo linear.

GeoComp 2009 – p. 2

(4)

Triangularização em O( n lg n )

P : polígono arbitrário com n vértices

Idéia do algoritmo:

(5)

Triangularização em O( n lg n )

P : polígono arbitrário com n vértices

Idéia do algoritmo:

particionar P em polígonos monótonos

triangularizar cada um deles em tempo linear

GeoComp 2009 – p. 3

(6)

Triangularização em O( n lg n )

P : polígono arbitrário com n vértices

Idéia do algoritmo:

particionar P em polígonos monótonos

triangularizar cada um deles em tempo linear

Partição tem que consumir tempo O(n lg n)!

(7)

Triangularização em O( n lg n )

P : polígono arbitrário com n vértices

Idéia do algoritmo:

particionar P em polígonos monótonos

triangularizar cada um deles em tempo linear

Partição tem que consumir tempo O(n lg n)! Como fazemos isso?

GeoComp 2009 – p. 3

(8)

Triangularização em O( n lg n )

P : polígono arbitrário com n vértices

Idéia do algoritmo:

particionar P em polígonos monótonos

triangularizar cada um deles em tempo linear

Partição tem que consumir tempo O(n lg n)! Como fazemos isso?

Usando uma trapezoidalização especial de P.

(9)

Trapezoidalização

Trapézio: quadrilátero com duas arestas paralelas

GeoComp 2009 – p. 4

(10)

Trapezoidalização

Trapézio: quadrilátero com duas arestas paralelas

Trapezoidalização horizontal de um polígono P :

resultado de traçar segmentos horizontais maximais contidos em P , passando por cada vértice de P.

(11)

Trapezoidalização

Trapézio: quadrilátero com duas arestas paralelas

Trapezoidalização horizontal de um polígono P :

resultado de traçar segmentos horizontais maximais contidos em P , passando por cada vértice de P.

GeoComp 2009 – p. 4

(12)

Trapezoidalização

Hipótese simplificadora:

não há dois vértices com a mesma Y -coordenada.

(13)

Trapezoidalização

Hipótese simplificadora:

não há dois vértices com a mesma Y -coordenada.

Afirmação: todo trapézio tem exatamente dois vértices de P em sua fronteira (vértices de suporte), um na aresta

superior, outro na inferior.

GeoComp 2009 – p. 5

(14)

Pontas interiores

Ponta interior de P: vértice v reflexo cujos vizinhos em δP estão ambos acima ou ambos abaixo de v.

(15)

Pontas interiores

Ponta interior de P: vértice v reflexo cujos vizinhos em δP estão ambos acima ou ambos abaixo de v.

Lema: Se P não tem pontas interiores, P é y-monótono.

GeoComp 2009 – p. 6

(16)

Pontas interiores

Ponta interior de P: vértice v reflexo cujos vizinhos em δP estão ambos acima ou ambos abaixo de v.

(17)

Partição em polígonos monótonos

Lema: Se P não tem pontas interiores, P é monótono.

Idéia: acabar com as pontas interiores!

GeoComp 2009 – p. 7

(18)

Partição em polígonos monótonos

Lema: Se P não tem pontas interiores, P é monótono.

Idéia: acabar com as pontas interiores!

Como?

(19)

Partição em polígonos monótonos

Lema: Se P não tem pontas interiores, P é monótono.

Idéia: acabar com as pontas interiores!

Como?

Uma diagonal a partir de cada ponta interior:

GeoComp 2009 – p. 7

(20)

Partição em polígonos monótonos

Lema: Se P não tem pontas interiores, P é monótono.

Idéia: acabar com as pontas interiores!

Como?

(21)

Algoritmo de Lee e Preparata

Entrada: polígono P com n vértices Saída: triangulação de P

GeoComp 2009 – p. 8

(22)

Algoritmo de Lee e Preparata

Entrada: polígono P com n vértices Saída: triangulação de P

Técnica: linha de varredura

Eventos: vértices de P , ordenados por Y -coordenada

(23)

Algoritmo de Lee e Preparata

Entrada: polígono P com n vértices Saída: triangulação de P

Técnica: linha de varredura

Eventos: vértices de P , ordenados por Y -coordenada

ED para a linha de varredura ℓ: ABBB ou skip list O que é guardado na ED da linha de varredura?

GeoComp 2009 – p. 8

(24)

Algoritmo de Lee e Preparata

Entrada: polígono P com n vértices Saída: triangulação de P

Técnica: linha de varredura

Eventos: vértices de P , ordenados por Y -coordenada

ED para a linha de varredura ℓ: ABBB ou skip list O que é guardado na ED da linha de varredura?

Trapézios que cruzam ℓ, dados por triplas (e, u, f), onde

e e f são as arestas de P que contém respectivamente o lado esquerdo e direito do trapézio

(25)

Algoritmo de Lee e Preparata

Entrada: polígono P com n vértices Saída: triangulação de P

Técnica: linha de varredura

Eventos: vértices de P , ordenados por Y -coordenada

ED para a linha de varredura ℓ: ABBB ou skip list O que é guardado na ED da linha de varredura?

Trapézios que cruzam ℓ, dados por triplas (e, u, f), onde

e e f são as arestas de P que contém respectivamente o lado esquerdo e direito do trapézio

u é o vértice de suporte superior do trapézio

(u: candidato a extremo de uma diagonal particionadora)

GeoComp 2009 – p. 8

(26)

Algoritmo de Lee e Preparata

Em cada iteração, um evento (vértice) v é processado.

Linha de varredura ℓ sobre v.

(27)

Algoritmo de Lee e Preparata

Em cada iteração, um evento (vértice) v é processado.

Linha de varredura ℓ sobre v.

c e d: arestas do polígono incidentes a v Três casos a considerar:

ℓ ℓ ℓ

v v

v

c c

c d

d d

GeoComp 2009 – p. 9

(28)

Algoritmo de Lee e Preparata

Em cada iteração, um evento (vértice) v é processado.

Linha de varredura ℓ sobre v.

c e d: arestas do polígono incidentes a v Três casos a considerar:

ℓ ℓ ℓ

v v

v

c c

c d

d d

Caso 1. Aresta c está acima de ℓ e d abaixo Caso 2. Arestas c e d estão abaixo de ℓ

(29)

Algoritmo de Lee e Preparata

Em cada iteração, um evento (vértice) v é processado.

Linha de varredura ℓ sobre v.

c e d: arestas do polígono incidentes a v Três casos a considerar:

ℓ ℓ ℓ

v v

v

c c

c d

d d

Caso 1. Aresta c está acima de ℓ e d abaixo Caso 2. Arestas c e d estão abaixo de ℓ

Caso 3. Arestas c e d estão acima de ℓ

No que segue, ED da linha de varredura: ABBB T

GeoComp 2009 – p. 9

(30)

Caso 1

Caso 1. Aresta c está acima de ℓ e d abaixo Remova o trapézio (c, x, e) ou (e, x, c)

e insira o trapézio (d, v, e) ou (e, v, d) em T.

c

d

v x

ℓ P

(31)

Caso 1

Caso 1. Aresta c está acima de ℓ e d abaixo Remova o trapézio (c, x, e) ou (e, x, c)

e insira o trapézio (d, v, e) ou (e, v, d) em T.

c

d

v x

ℓ P

Se x for ponta para baixo, acrescente a diagonal (x, v).

GeoComp 2009 – p. 10

(32)

Teste de ponta para baixo

PONTAPARABAIXO(x, Y, n)

1 x ← x − 1 x+ ← x + 1 2 se x = 0 então x ← n

3 se x+ = n + 1 então x+ ← 1

x e x+ são o predecessor e o sucessor de x em δP

4 se Y [x] > Y [x] e Y [x+] > Y [x]

x é ponta interior para baixo?

5 então devolva VERDADE 6 senão devolva FALSO

x+

(33)

Caso 1

TRATACASO1(T , u, v, w, Y, n, D, t) 1 se Y [u] < Y [w] então u ↔ w

2 ((i, j), x, (k, l)) ← REMOVA(T, v)

3 se v = j o trapézio está à direita de v?

4 então INSIRA(T , (v, w), v, (k, l)) 5 senão INSIRA(T , (i, j), v, (v, w)) 6 se PONTAPARABAIXO(x, Y, n)

7 então t ← t + 1 D[t] ← (x, v)

v

w x u

P

GeoComp 2009 – p. 12

Referências

Documentos relacionados

dessa ocupação de solo o tecido urbano era organizado em dois setores: na “cidade alta” estavam localizados os programas mais nobres e as residências da elite,

Após a leitura desta Política, se Você tiver dúvidas, reclamações, quiser exercer seus direitos relacionados aos seus dados pessoais ou se comunicar com a Suzano a

Domínio de tópicos atuais e relevantes de diversas áreas, tais como política, economia, sociedade, educação, tecnologia, energia, relações

3.3 Capítulo de livro publicado com ISBN, na área de conhecimento objeto do concurso, com pontuação integral para capítulo de livro publicado no exterior e 80%.. para o publicado

Mesmo sendo um experimento inicial, ele serviu para visualizar inicialmente algumas características dos vídeos que são fundamentais ou não para o ensino e a

(Lei Complementar nº 130/2009) Integrar as ações pedagógicas, didáticas e tecnológicas desenvolvidas nas unidades escolares municipais, com vistas à melhoria da qualidade do

2º Ficam criadas 30 (trinta) vagas para o cargo de Auxiliar de Desenvolvimento Infantil – ADI, conforme as condições e características de que dispõe esta Lei,

6) Está ciente que à Organização se reserva o direito de, a qualquer momento, rejeitar a inscrição de um atleta; 7) Está ciente que se jogar embalagens ou lixo no percurso, bem