38
Algoritmos Geométricos Prof. Herondino

Algoritmos Geométricos

  • Upload
    lukas

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Algoritmos Geométricos. Prof. Herondino . 1. Principais técnicas e algoritmos. - PowerPoint PPT Presentation

Citation preview

Page 1: Algoritmos  Geométricos

Algoritmos Geométricos

Prof. Herondino

Page 2: Algoritmos  Geométricos

1. Principais técnicas e algoritmos As principais técnicas e algoritmos

utilizados na implementação das diversas funções de um sistema de gerência de bancos de dados espaciais (SGDBE), em especial as operações sobre representações vetoriais (pontos, linhas e polígonos).

Page 3: Algoritmos  Geométricos

Imagem Digital

Processo de digitalização ( Gonzales e Woods, 2002)

Page 4: Algoritmos  Geométricos

1.1Ponto Um ponto é um par ordenado (x, y) de

coordenadas espaciais

Representação matemática do pixel digital ( Gonzales e Woods, 2002)

Page 5: Algoritmos  Geométricos

Representação da Imagem Digital

Fonte: Gonzales e Woods, 2002

Page 6: Algoritmos  Geométricos

1.2 Linha poligonal Sejam n pontos no plano.

Exemplo:

1210 ,...,,, nvvvv

Page 7: Algoritmos  Geométricos

1.2 Linha poligonal Sejam n pontos no plano. Sejam

, uma sequencia de n – 1 segmentos, conectando estes pontos.

Exemplo:

1210 ,...,,, nvvvv

122211100 ,...,, nnn vvsvvsvvs

Page 8: Algoritmos  Geométricos

1.2 Linha poligonal Estes segmentos formam uma poligonal L se, e

somente se, (1) a interseção de segmentos consecutivos é

apenas o ponto extremo compartilhado por eles (i.e. , ),

(2) segmentos não consecutivos não se interceptam (i.e., Ø para todo i e j tais que ) , e

(3) , ou seja, a poligonal não é fechada.

11 iii vss

ji ss 1ij10 nvv

Page 9: Algoritmos  Geométricos

1.3 Polígono Um polígono é a região do plano limitada por

uma linha poligonal fechada A definição acima implica que, apenas

invertendo a condição (3) da definição de linha poligonal, temos um polígono (i. e., ).

10 nvv

Page 10: Algoritmos  Geométricos

1.4 Tipos abstratos de dados Estas três entidades geométricas básicas

podem ser definidas em uma linguagem de programação usando tipos abstratos de dados.

Page 11: Algoritmos  Geométricos

1.5 Algoritmos Básicos 1.5.1 Área do Triângulo

Page 12: Algoritmos  Geométricos

1.5.2 Coordenadas Baricêntricas Para determinar se um determinado ponto

pertence ou não a um triângulo, utiliza-se um método baseado em coordenadas baricêntricas

Sinais das Coordenadas Baricêntricas indica a região p do plano

Page 13: Algoritmos  Geométricos

1.5.2 Coordenadas Baricêntricas Cada ponto p do plano pode ser escrito na

forma:

Em que e Os valores são obtidos usando a

regra de Cramer, expressos em áreas de triângulos de vértices

e .

A análise do sinal das coordenadas baricêntricas indica a região do plano em que se encontra p, em relação ao triângulo .

332211 pppp

321 1321 321, e

321,, pppp

321 ppp

Page 14: Algoritmos  Geométricos

1.5.3 Interseção de Retângulos O uso do retângulo envolvente mínimo (REM)

é umaestratégias que procura evitar, o uso de

procedimentos computacionalmente caros. O REM é o menor retângulo com lados

paralelos aos eixos coordenados que contém a geometria do objeto

Interseção de REMs REMs Disjuntos

Page 15: Algoritmos  Geométricos

1.5.3 Interseção de Retângulos

Interseção de retângulos envolventes mínimos

Page 16: Algoritmos  Geométricos

1.5.4 Interseção de dois segmentos de reta A solução consiste em testar se os pontos

e estão de lados opostos do segmento formado por e também se e estão de lados opostos do segmento formado por .

21 pp43 pp

43 pp21pp

Page 17: Algoritmos  Geométricos

1.5.4 Interseção de dois segmentos de reta A solução consiste em

avaliar o sinal da área dos triângulos formados por e

Se os sinais forem contrários, significa que os pontos estão de lados opostos.

321 ppp 421 ppp

Page 18: Algoritmos  Geométricos

Exemplo 1

Page 19: Algoritmos  Geométricos

O ponto de interseção Dados dois segmentos formados pelos pontos

e , respectivamente, e com

o ponto de interseção entre eles é dado por:

Esta igualdade dá origem a um sistema com duas equações e duas incógnitas (u e v):

ou

21pp43 pp

),(),(),,(),,( 444333222111 yxpeyxpyxpyxp

)()( 343121 ppvpppup

)()(

121secint

121secint

yyuyyxxuxx

e

e

)()(

343secint

343secint

yyvyyxxvxx

e

e

Page 20: Algoritmos  Geométricos

O ponto de interseção Desenvolvendo o sistema, temos:

Calculados os parâmetros u e v, podemos determinar o ponto de interseção

))(())(())(())((

12341234

31343134

yyxxxxyyxxyyyyxxu

))(())(())(())((

12341234

31123112

yyxxxxyyxxyyyyxxv

Page 21: Algoritmos  Geométricos

Exemplo: Calculando pelo u

))(())(())(())((

12341234

31343134

yyxxxxyyxxyyyyxxu

Page 22: Algoritmos  Geométricos

Exemplo: Substituindo o u

)()(

121secint

121secint

yyuyyxxuxx

e

e

Page 23: Algoritmos  Geométricos

Exemplo 2 Mostre que os pontos estão de lados opostos e encontre o ponto de interseção.21pp

Page 24: Algoritmos  Geométricos

Análise do parâmetro u e v Se o denominador for zero, as duas linhas são

paralelas.

Page 25: Algoritmos  Geométricos

Análise do parâmetro u e v Se além do denominador os numeradores de

ambos os parâmetros também forem zero, então as duas linhas são coincidentes.

Page 26: Algoritmos  Geométricos

1.5.5 Área de polígonos A área de um polígono pode ser calculada em

tempo linear com relação ao número de vértices, usando um somatório simples, baseado na soma de áreas de triângulos formados entre cada par de vértices consecutivos e a origem do sistema de coordenadas (O'Rourke, 1998):

)()(21)( 11 iiii yyxxPA

Page 27: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

Page 28: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

Page 29: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

Page 30: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

Page 31: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

Page 32: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

........)()(21)( 0110 yyxxPA

Page 33: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

...)()()()(21)( 12210110 yyxxyyxxPA

Page 34: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

)()()()()()(21)( 233212210110 yyxxyyxxyyxxPA

Page 35: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

)()()()()()(21)( 233212210110 yyxxyyxxyyxxPA

)51()41()15()11()11()14(21)( PA

Page 36: Algoritmos  Geométricos

Exemplo:

1

011 )()(

21)(

ni

iiiii yyxxPA

)1,4(),( 001 yxp

)1,1(),( 112 yxp

)5,1(),( 223 yxp

)1,4(),(),( 00334 yxyxp

)()()()()()(21)( 233212210110 yyxxyyxxyyxxPA

)51()41()15()11()11()14(21)( PA

)4(54204(21)( PA

Page 37: Algoritmos  Geométricos

Exemplo 2:

1

011 )()(

21)(

ni

iiiii yyxxPA

Page 38: Algoritmos  Geométricos

Referência Bibliográfica M. Casanova, G. Câmara, C. Davis, L. Vinhas,

G. Ribeiro (org), “Bancos de Dados Geográficos”. São José dos Campos, MundoGEO, 2005.

Gonzalez, R. C.; Woods, R. E. Processamento de imagens digitais. São Paulo: Edgard Blücher Ltda, 2003.