Você está na página 1de 24

Estruturas Espaciais

Introduo
Estruturas espaciais so estruturas criadas para
organizar dados em regies semnticas atravs
de planos de corte

Dados espaciais ocupam regies do espao (sua


extenso), definidas por sua posio e limites
Introduo
A diferenciao de estruturas espaciais se d
principalmente pela forma como os ndices de
classificao so formulados

Exemplos de estruturas espaciais incluem as


kd-trees e as BSP-trees
rvores kd (ou kd-trees)
So rvores em que cada n representa uma
regio retilnea
Nelas cada n est associado a um plano, que
corta um dos eixos de forma longitudinal
Em geral os cortes alternam os eixos a serem
cortados de acordo com a profundidade na rvore
rvores kd
Embora kd implique em k dimenses, boa parte
das aplicaes acaba restrita a trs dimenses
rvores nessa situao so tambm conhecidas
como rvores 3-d
As figuras a seguir mostram exemplos de
rvores 3-d e 2-d
rvores kd
rvores kd
4 6
1
10
8
11 2 3
3
13
2
4 5 6 7
12

9 8 9 10 11 12 13

5 1 7
Construndo rvores kd
A estruturao de uma rvore kd est baseada,
fundamentalmente, na separao dos elementos
da rvore atravs de planos de corte

Assim, temos que definir como esses planos de


corte so efetivamente criados
Construndo rvores kd
A abordagem cannica para a construo de
uma rvore kd envolve:
1) Ordenar os dados
2) Escolher o plano de corte sobre o elemento
mediano
3) Repetir os cortes sobre os pontos medianos
das regies resultantes
Contedo de um n
Ponteiros para ns filhos (sempre dois)
Extenso da clula (coordenadas mximas e

mnimas em cada eixo)


Os dados (pontos) contidos na clula

Possivelmente incluir

Apontador para n pai


Apontadores para vizinhos
Exemplo
Construir a rvore 2d para os seguintes pontos:

[(2,3), (5,4), (9,6), (4,7),


(8,1), (7,2)]
Exemplo
Aplicaes de rvores kd
Envolvem situaes em que a separao dos
dados em regies importante, como:
Jogos em 3D
View frustrum culling
Renderizaes
Indexao espacial em BD
rvores BSP (ou BSP-trees)
rvores BSP (Binary Space Partition trees)
podem ser vistas como uma generalizao de kd-
trees

(ou estas como uma especializao de BSP-


trees)

A diferena entre BSP e kd est na forma de


insero dos planos de corte
rvores BSP
Numa rvore BSP os planos podem interceptar
os eixos em qualquer ngulo

Cada plano termina ao encontrar o plano


definido por seu pai

Isso cria regies convexas (polgonos), uteis em


aplicaes como jogos 3D
rvores BSP

1 1
2
2 4
A 3 out 5 7
3
A out B 6 8 out
6 C5B
C out D out

4 8 7
rvores BSP
Construndo rvores BSP
Mais uma vez o problema est na escolha dos
planos de corte

As diretrizes bsicas envolvem a minimizao do


nmero de polgonos gerados e a no diviso dos
objetos entre polgonos vizinhos
Contedo de um n
Ponteiros para os ns filhos
Sua extenso se for um n folha

O plano de diviso se for um n interno

Os dados contidos pela clula

Possivelmente incluir

Ponteiros para o n pai


Ponteiros para os ns vizinhos
Portais para visualizar dentro dos vizinhos
Aplicaes de rvores BSP
rvores BSP so consideradas como a estrutura
padro gerao de imagens 3D em jogos

Um exemplo de aplicao visto na gerao de


uma imagem do jogo The wotch, my sister, and
myself
rvores BSP
rvores BSP
rvores BSP
rvores BSP

Você também pode gostar