Algoritmos Geométricos (continuação)
-
Upload
anjolie-briggs -
Category
Documents
-
view
26 -
download
0
description
Transcript of Algoritmos Geométricos (continuação)
![Page 1: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/1.jpg)
Algoritmos Geométricos (continuação)
Prof. Herondino
![Page 2: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/2.jpg)
1.5.6 Centróide de um polígono O centro de gravidade ou centro
de massa, mais conhecido como centróide de um polígono pode ser obtido a partir da sua divisão em triângulos, calculando em seguida a média ponderada dos centros de gravidade dos triângulos usando suas áreas como peso.
O centro de gravidade de cada triângulo é simplesmente a média das coordenadas de seus vértices, ou seja, para um triângulo ABC:
e3
CBAG
xxxx
3CBA
G
yyyy
![Page 3: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/3.jpg)
Exemplo:
3
,3
),( CBACBAGG
yyyxxxyx
![Page 4: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/4.jpg)
Exemplo:
3
,3
),( CBACBAGG
yyyxxxyx
3
511,
3
114),( GG yx
![Page 5: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/5.jpg)
Exemplo:
3
,3
),( CBACBAGG
yyyxxxyx
3
511,
3
114),( GG yx
3
7,3
6),( GG yx
![Page 6: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/6.jpg)
Exemplo:
3
,3
),( CBACBAGG
yyyxxxyx
3
511,
3
114),( GG yx
3
7,2),( GG yx
3
7,3
6),( GG yx
![Page 7: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/7.jpg)
1.5.6 Centróide de um polígono Os centróides dos triângulos são combinados
usando um processo de média ponderada pela área.
O centróide de um polígono formado por dois triângulos T1 e T2, cujos centróides são, respectivamente, e é o ponto , onde
),( 11 GG yx),( 22 GG yx ),( GG yx
)(
)()(
21
2211
TSTS
TSxTSxx GG
G
)(
)()(
21
2211
TSTS
TSyTSyy GG
G
![Page 8: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/8.jpg)
Exemplo: encontrando o segundo centroide
3
7,2),( 11 GG yx
3
,3
),( 22CBACBA
GG
yyyxxxyx
![Page 9: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/9.jpg)
Exemplo: encontrando o segundo centroide
3
7,2),( 11 GG yx
3
,3
),( 22CBACBA
GG
yyyxxxyx
3
551,
3
144),( 22 GG yx
![Page 10: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/10.jpg)
Exemplo: encontrando o segundo centroide
3
7,2),( 11 GG yx
3
,3
),( 22CBACBA
GG
yyyxxxyx
3
551,
3
144),( 22 GG yx
3
11,3
9),( 22 GG yx
![Page 11: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/11.jpg)
Exemplo: encontrando o segundo centroide
3
7,2),( 11 GG yx
3
,3
),( 22CBACBA
GG
yyyxxxyx
3
551,
3
144),( 22 GG yx
3
11,3
9),( 22 GG yx
3
11,3),( 22 GG yx
![Page 12: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/12.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2 :
T1
T2 )(
)()(
21
2211
TSTS
TSxTSxx GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
por tratar–se de um retângulo dividido ao meio, a área é a mesma para ST2
![Page 13: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/13.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o S(T2 ): por se tratar de um retângulo dividido ao meio, a área é a
mesma para ST2
T1
T2 )(
)()(
21
2211
TSTS
TSxTSxx GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6362
Gx
![Page 14: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/14.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2
T1
T2 )(
)()(
21
2211
TSTS
TSxTSxx GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6362
Gx
12
1812Gx
![Page 15: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/15.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2 :
T1
T2 )(
)()(
21
2211
TSTS
TSxTSxx GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6362
Gx
12
1812Gx
2
5
12
30Gx
![Page 16: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/16.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2
T1
T2
)(
)()(
21
2211
TSTS
TSyTSyy GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
![Page 17: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/17.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2 :
T1
T2
)(
)()(
21
2211
TSTS
TSyTSyy GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6311
637
Gy
![Page 18: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/18.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2 :
T1
T2
)(
)()(
21
2211
TSTS
TSyTSyy GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6311
637
Gy
66
21127
Gy
![Page 19: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/19.jpg)
Exemplo: encontrando a área de T2 T1 é o valor da área -6 calculado no exemplo
do item 1.5.5 , então calculemos o T2 :
T1
T2
)(
)()(
21
2211
TSTS
TSyTSyy GG
G
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
66
6311
637
Gy
66
21127
Gy
312
36
12
2214
Gy
![Page 20: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/20.jpg)
2
5Gx
12
31Gy
3
7,2),( 11 GG yx
3
11,3),( 22 GG yx
![Page 21: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/21.jpg)
Exercício Encontre o centróide do triângulo
![Page 22: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/22.jpg)
1.5.7 Ponto em Polígono Uma das operações mais comuns em um SIG é
determinar se um ponto está no interior de um polígono.
Um dos algoritmos mais populares para solução deste problema é o teste do número de cruzamentos entre os segmentos que formam a fronteira do polígono e uma semi-reta (chamada de raio), que parte do ponto testado em qualquer direção (Haines, 1994) (Taylor, 1994).
Se o número de cruzamentos for par, o ponto encontra-se fora do polígono; se for ímpar, encontra-se dentro.
![Page 23: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/23.jpg)
1.5.7 Ponto em Polígono Apesar da aparente simplicidade desse
algoritmo, a sua implementação deve considerar alguns casos particulares (casos degenerados), como:
![Page 24: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/24.jpg)
1.5.8 Simplificação de poligonais O problema de simplificação de linhas consiste
em obter uma representação mais grosseira (formada por menos vértices, e portanto mais compacta) de uma poligonal a partir de uma representação mais refinada, atendendo a alguma restrição de aproximação entre as duas representações.
![Page 25: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/25.jpg)
1.5.8 Simplificação de poligonais Em geral alguma medida da proximidade
geométrica entre as poligonais, tais como o máximo deslocamento perpendicular permitido (a) ou o mínimo deslocamento angular permitido(b) é utilizado para a simplificação, contudo há vários outros métodos.
o vértice 3 seráeliminado, uma vez que o ângulo 324 é menor que o mínimo tolerável.
o vértice 2 serámantido, uma vez que a distância entre ele e a reta que passa pelosvértices 1 e 3 é superior à permitida
![Page 26: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/26.jpg)
Distância entre dois pontos Grande parte dos algoritmos de simplificação
de poligonais necessita realizar de maneira eficiente cálculos de distância entre um ponto dado e uma reta definida por outros dois pontos.
Em que, S é a área do triângulo e dist(B,C) é a distância euclidiana entre os ponto B e C, ou seja:
),( CBdist
Sd
22 )(),( cbcb yyxxCBdist
![Page 27: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/27.jpg)
Exemplo:
144
125
120
2
1S
![Page 28: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/28.jpg)
Exemplo:
132
26
144
125
120
2
1S
![Page 29: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/29.jpg)
Exemplo:
26
144
125
120
2
1S
22 )(),( cbcb yyxxCBdist
![Page 30: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/30.jpg)
Exemplo:
26
144
125
120
2
1S
22 )(),( cbcb yyxxCBdist
22 )42(45),( CBdist
![Page 31: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/31.jpg)
Exemplo:
),( CBdist
Sd
132
26
144
125
120
2
1S
22 )(),( cbcb yyxxCBdist
637)42(45),( 22 CBdist
![Page 32: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/32.jpg)
Exemplo:
26
13
6
13
),(
CBdist
Sd
132
26
144
125
120
2
1S
22 )(),( cbcb yyxxCBdist
637)42(45),( 22 CBdist
![Page 33: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/33.jpg)
Exercício
Encontre a distância do ponto A ao segmento BC utilizando a área do triângulo.
![Page 34: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/34.jpg)
Algoritmo Douglas-Peucker.
![Page 35: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/35.jpg)
1.5.9 União, interseção e diferença de polígonos Operações sobre polígonos são de
fundamental importância em SIG. Por exemplo, considere-se uma consulta como
“identificar fazendas em que mais de 30% da área é de latossolo roxo”. Para executar esta análise, é necessário combinar uma camada de objetos poligonais (os limites de propriedades rurais) com outra (o mapa de tipos de solo), para obter uma nova camada, de cujo conteúdo podem ser selecionados diretamente os objetos que atendem ao critério de análise colocado.
![Page 36: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/36.jpg)
1.5.9 União, interseção e diferença de polígonos
QPa ) SQb ) QPc ) RPd )
![Page 37: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/37.jpg)
1.5.9 União, interseção e diferença de polígonos
QPa ) SQb ) QPc ) RPd )
![Page 38: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/38.jpg)
1.5.9 União, interseção e diferença de polígonos
QPa ) SQb ) QPc ) RPd )
![Page 39: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/39.jpg)
1.5.9 União, interseção e diferença de polígonos
QPa ) SQb ) QPc ) RPd )
![Page 40: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/40.jpg)
1.5.9 União, interseção e diferença de polígonos
QPa ) SQb ) QPc ) RPd )
![Page 41: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/41.jpg)
1.5.10 Mapas de distância (buffer zones) Outra operação importante para um SIG é a
construção de mapas de distância ou buffer zones, que são áreas construídas ao redor de objetos mantendo uma certa distância.
A determinação do buffer ao redor de um ponto é feita de forma direta, como uma circunferência de raio d (Figura a). O buffer ao redor de uma linha é formada pela união de buffers elementares (Figura b) definidos para cada segmento da linha.
![Page 42: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/42.jpg)
Utilizando o algoritmo de união podemos combinar esses buffers até formar o resultado final da linha.
1.5.10 Mapas de distância (buffer zones)
O buffer de polígonos é semelhante ao de linha.
![Page 43: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/43.jpg)
2Relacionamentos topológicos Os relacionamentos topológicos podem ser
definidos com base em um modelo, chamado matriz de 4-interseções, que considera oito relações topológicas binárias, representando a interseção entre a fronteira e o interior de duas geometrias
![Page 44: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/44.jpg)
2 Relacionamentos topológicos Para definir relacionamentos topológicos entre
geometrias com estruturas mais complexas
Nos modelos citados, os resultados das intersecções são avaliados considerando os valores vazio ou não-vazio.
![Page 45: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/45.jpg)
2 Relacionamentos topológicos relacionamentos topológicos foram agrupados em
cinco mais gerais – touch, in, cross, overlap, disjoint – que são sobrecarregados, ou seja, que podem ser usados indistintamente para ponto, linha e região. touch: aplica-se a pares de geometrias dos tipos
região/região, linha/linha, linha/região, ponto/região e ponto/linha
In: aplica-se a pares de geometrias com qualquer combinação de tipos
cross: aplica-se a pares de geometrias dos tipos linha/linha e linha/região.
overlap: aplica-se a pares de geometrias dos tipos região/região e linha/linha
disjoint: aplica-se a pares de geometrias com qualquer combinação de tipos
![Page 46: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/46.jpg)
Algoritmo de relacionamento topológico O algoritmo possui seis etapas:1. Avaliar o relacionamento entre os REM
dos polígonos A e B2. Determinar os pontos de interseção entre
os dois polígonos.3. Se não houve interseção na etapa
anterior, então devemos testar qualquer ponto do polígono A, num teste de ponto em polígono, com o polígono B, para determinar a localização de A em relação a B.
4. Se houve interseção na etapa 2, devemos realizar a fragmentação da fronteira de A, em relação aos pontos de interseção.
5. Depois, verificamos a localização de cada um dos fragmentos em relação ao polígono B.
6. Com base na localização dos fragmentos, as interseções entre fronteiras, interiores e exteriores podem ser inferidas
![Page 47: Algoritmos Geométricos (continuação)](https://reader035.fdocument.pub/reader035/viewer/2022062517/5681365c550346895d9de845/html5/thumbnails/47.jpg)
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.