Representa - PowerPoint PPT Presentation

1 / 109
About This Presentation
Title:

Representa

Description:

Representa o Geom trica Rodrigo de Toledo (CG1, UFRJ) GERAR UM EXEMPLO MELHOR, com letras para as half-edges (Quantas half-edges?) Criar dois tipos de exerc cio ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 110
Provided by: Petro161
Category:

less

Transcript and Presenter's Notes

Title: Representa


1
Representação Geométrica
  • Rodrigo de Toledo
  • (CG1, UFRJ)

2
Níveis de escala
  • Objetos do mundo virtual
  • Textura

Aqui
  • Representação dos objetos
  • Nível fotométrico

3
Representação da geometria
  • Implícita
  • Equação determina a descrição geométrica
  • Ex quádricas, cúbicas e torus
  • Paramétrica
  • Função determina regra de construção
  • Ex Bézier, Nurbs
  • Explícita
  • A geometria é descrita ponto-a-ponto
  • Ex malha de triângulo e mapa de alturas

4
Representação Geométrica Implícita
  • Quádricas, cúbicas, etc...
  • CSG

5
Exemplo círculo
Representação Implícita Representação
Paramétrica Representação Explícita
6
Superfícies implícitas
  • superfícies implícitas são definidas por uma
    função
  • f R3?R
  • A função divide o espaço em três
  • surperfíce f(x,y,z) ? 0
  • interior f(x,y,z) lt 0
  • exterior f(x,y,z) gt 0

f ? 0
f ? 0
7
Classificação das superfícies implícitas
  • O grau da polinomial da função é que define o
    grau da superfície.
  • Grau 2 quádricas
  • Grau 3 cúbicas
  • Grau 4 quárticas
  • A quantidade de parâmetros S para cada grau p
    pode ser calculada usando

8
Quádricas
  • Quádricas

Esfera x2 y2 z2 1
9
Representação matricial das quádricas
  • Matriz simétrica Q4x4 contendo os 10 coeficientes

10
Classificação das quádricas
  • Para entender a nomenclatura 3D, primeiro vamos
    ver a nomenclatura 2D...

11
Curvas em 2D
12
Classificação das Quádricas
Saddle Cela do cavalo
  • vide wikepedia

13
Cúbicas
14
Quárticas
  • Torus é a quártica mais conhecida

15
Qual a complexidade da equação do coração?
f(x,y,z) (2x2 y2 z2 1)3 0.1 x2 z3 y2
z3
16
Cálculo da normal à superfície
  • Gradiente da superfície no ponto x,y,z
  • Qual é a normal de uma quádrica?
  • Qual é a normal normalizada do ponto x,y,z numa
    esfera de raio unitário?

17
CSG (Constructive Solid Geometry)
18
CSG
  • Operações booleanas

Diferença
União
Interseção
19
CSG
  • Objeto é representado por uma árvore
  • Operadores em nós internos
  • Primitivas simples nas folhas
  • Combinação bottom-up
  • Obs
  • Como há operações não comutativas, as arestas são
    ordenadas
  • Pode haver nós de transformação rotação,
    translação e escala...

20
Half-spaces
  • Alguns sistemas CSG, além de primitivas sólidas,
    também fazem uso de half-spaces, ou seja, planos
    que dividem o espaço em dois
  • Como definir um cubo a partir de half-spaces?
  • 6 half-spaces
  • Vantagem
  • Para se fazer um corte, não precisa usar um
    objeto com vários lados.
  • Desvantagem
  • Problema de validação
  • nem toda combinação pode resultar em um objeto
    válido
  • (talvez só faça sentido usar para subtração)

21
CSG raytracing
  • Um objeto em CSG é comumente descrito por
    combinações de objetos implícitos, cujos cálculos
    de interseção com a reta são conhecidos, tornando
    o raytracing de objetos CSG uma extensão natural.

22
CSG raytracing
  • Realizar operações booleanas com sólidos nem
    sempre é uma operação fácil
  • É mais fácil interpretar o que acontece com um
    raio atravessando esse sólido.
  • redução do problema a cálculos em intervalos 1D

Goldstein and Nagel, 3-D Visual Simulation,
Simulation, January 1971.
23
CSG 1D
A
B
A ? B
A
B
24
CSG 1D
A
B
A ? B
A B
B A
A B
B A
A ? B
25
CSG 1D
  • Classificação in/out por região

A B A ? B A ? B A B B A
in in in in out out
in out in out in out
out in in out out in
out out out out out out
A B A ? B A ? B A B B A
in in
in out
out in
out out
Exercício Preencher a tabela acima!
26
CSG Rasterização
  • Também é possível visualizar sólidos CSG com
    rasterização
  • Ordenação a posteriori dos fragmentos (pixels de
    cada primitiva)
  • Vide
  • Rossignac and Requicha, Depth-buffering Display
    Techniques for Constructive Solid Geometry, CG
    A, September 1986.

27
Algumas questões
  • A ordem na árvore tem importância?
  • Sim, verticalmente e horizontalmente (dif.).
  • Existe uma representação única, dado um objeto
    final e suas primitivas?
  • Não
  • A árvore tem que ser binária?
  • Os nós de união e interseção poderiam ter mais de
    um filho, mas diferença é sempre entre dois
    filhos.

28
Possíveis questões de prova
Monte a árvore CSG deste sólido, sabendo que as
folhas são 2 cilindros e 1 esfera
Monte a árvore CSG deste sólido e desenhe o que
acontece com o raio r ao longo do seu caminho
para cada nó da árvore à raíz.
in
out
29
Representação Geométrica Paramétrica
  • Curvas paramétricas cúbicas
  • Introdução
  • Continuidade
  • Algoritmo de De Casteljau
  • Hermite, Bézier e Splines (B-Splines e Nurbs)
  • Superfícies paramétricas bicúbicas
  • Bézier...

30
http//www.cin.ufpe.br/marcelow/Marcelow/Ensino.h
tml
31
Curvas Paramétricas Cúbicas
  • Por que paramétricas?
  • são descritas em t
  • f(t), 0 t 1

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
t
32
Por que cúbicas?
  • Grau 3
  • Por que não lt3?
  • Pouca flexibilidade
  • Por que não gt3?
  • Computacionalmente caro
  • Franjas indesejáveis (unwanted wiggles)
  • Por que 3?
  • Controle suave (derivadas) da curva passando em
    dois pontos
  • Menor grau de curva em 3D

33
Paramétricas
  • Por que não f(x), ao invés de f(t)?
  • Mas como representar esses casos?

f(x)
x
34
Uma função para cada dimensão
35
(No Transcript)
36
Matricialmente
  • Derivada em t ?

37
Algoritmo de De Casteljau
Interpolação x Aproximação
38
John Edson R. de Carvalho
39
12
12
40
Algoritmo de De Casteljau
P1
P12 (u)
u 0.25
P02 (u)
P01 (u)
P0
P2
41
Algoritmo de De Casteljau
P1
u 0.5
P12 (u)
P02 (u)
P01 (u)
P0
P2
42
Algoritmo de De Casteljau
P1
P01 (u)
u 0.75
P02 (u)
P12 (u)
P2
P0
43
Algoritmo de De Casteljau
P1
0 u 1
P02(u)
P2
P0
44
u 0.25
P1
P12
P02
P01
P0
P2
45
13
13
46
http//en.wikipedia.org/wiki/Bézier_curve
47
(No Transcript)
48
(No Transcript)
49
Peso (influência) de cada ponto
?bi(u) 1, 0 u 1
50
Juntando curvas
  • Como representar uma curva grande?
  • Poderia se usar uma curva de grau n (n grande
    para caramba ?)
  • Ou, pode-se fazer emendas de cúbicas
  • Mas nesse caso, queremos garantir uma boa
    continuidade no ponto de junção

51
Continuidade
  • Geometric Continuity G0
  • Duas curvas tem um ponto de junção
  • G1
  • Se no ponto de junção, a direção (não
    necessariamente a magnitude) do vetor tangente é
    igual para as duas curvas
  • C1
  • Se, além da direção, a magnitude for igual.
  • C2
  • Se a direção e magnitude da derivada segunda for
    igual.
  • Cn
  • Se a direção e magnitude de for
    igual.
  • Para funções de grau alto, pode-se ter
    continuidade de grau ainda maior n-polinomial ?
    Cn-1
  • Existe G2? Existe C0?

52
(No Transcript)
53
C0, C1, C2, C3, C4
54
Classificação das curvas
  • Definidas por 4 constrains geométricas
  • Bézier (4 pontos)
  • Hermite (2 pontos e 2 tangentes)
  • Splines
  • São C1 e C2 nos pontos de junção
  • Porém, não interpolam os pontos (aproximam)
  • 3 tipos
  • B-splines
  • Nonuniform B-splines (Nurbs)
  • ß-splines

55
Blending Function
  • Matricialmente, podemos definir a curva como
  • Vamos reescrever C como o resultado da
    multiplicação entre M e G, onde G são as
    constrains geométricas
  • Blending Function B T M

56
Bézier
  • 70s
  • Como vimos no algoritmo de De Casteljau para
    construção de curvas de Bézier
  • 4 pontos definem a curva de Bézier
  • No caso acima, quem são G1, G2, G3 e G4?

57
Bézier
  • No caso de Bézier, quais são os valores de M11 a
    M44?

Lembrando que (a-b)3 a3 3a2b 3ab2 b3
e (a-b)2 a2 2ab b2
58
Últimas observações Bézier
  • Fecho convexo

59
Últimas observações Bézier
  • Como garantir que duas curvas de Bézier P0P1P2P3
    e P4P5P6P7 tenham
  • Continuidade G0?
  • Continuidade G1?
  • Continuidade C1?
  • Qual a grau de continuidade da seguinte curva?

60
Hermite
  • 4 constrains geométricos
  • 2 pontos e suas 2 tangentes

R1
P4
P1
R4
61
Hermite
  • Hermite Blending Function
  • Familia de curvas alterando magnitude e direção
    de R1

62
Splines
  • Origem ducks usados para retorcer uma chapa de
    metal flexível (spline) na determinação de
    superfícies curvas para navios, aviões e carros.
  • Observe que a spline interpola todos os pontos de
    controle
  • A spline é contínua em C0, C1 e C2.

63
B-splines
  • Splines tem duas desvantagens
  • Os coeficientes dependem de todos os pontos de
    controle
  • ou seja, mover um ponto de controle pode afetar
    toda a curva
  • A computação depende de inversão de matrizes
  • B-splines são uma solução
  • Os segmentos dependem de alguns poucos pontos de
    controle
  • Tem a mesma continuidade das splines
  • Menor computação
  • Porém não interpolam todos os pontos
  • Uniforme x não-uniforme
  • Se os pontos de controles estiverem
    equidistantemente distribuídos, então ela é
    uniforme
  • Caso contrário não uniforme NURBS

64
Superfícies paramétricas
65
Superfícies paramétricas bicúbicas
  • Multiplicação de duas curvas
  • A informação geométrica que define uma curva é
    também em função de uma variável paramétrica
  • Forma geral de uma superfície 3D

66
Superfícies paramétricas bicúbicas
  • Vimos que um curva cúbica pode ser definida por
    (onde G é o vetor geométrico)
  • Substituindo t por s (temos que ter outra
    variável para o caso das superfícies), então
  • Imaginemos os pontos em G variando em 3D,
    parametrizado por t
  • Se Gi(t) forem cúbicos, então Q(s,t) é uma
    superfície paramétrica bicúbica

67
  • Cada Gi(t) TMG, é definido por Gi gi1,
    gi2, gi3, gi4T
  • Usando (ABC)T CT BT AT,
  • Gi(t) GTMTTT gi1, gi2, gi3, gi4T MT TT,
  • Então
  • Escrito separadamente

68
Superfícies de Bèzier
69
Retalhos de Bézier
  • Curvas na fronteira são curvas de Bézier
  • Qualquer curva para s ou t constante é uma curva
    Bézier
  • Podemos pensar assim
  • Cada linha da grade com 4 pontos de controle
    define uma curva de Bézier para o parâmetro s
  • Ao avaliar cada curva para um mesmo s obtemos 4
    pontos de controle virtuais
  • Pontos de controle virtuais definem uma curva
    Bézier em t
  • Avaliando esta curva em um dado t resulta no
    ponto x(s,t)

x(s,t)
70
Propriedades dos Retalhos de Bézier
  • O retalho interpola os pontos dos cantos da grade
    de controle
  • Decorre das propriedades análogas das curvas de
    Bézier
  • O plano tangente em um ponto do canto é dado
    pelas duas arestas da grade incidentes no ponto
  • Decorre do fato que as curvas Bézier das
    fronteiras incidentes têm tangentes definidas
    pelas arestas correspondentes
  • O retalho é restrito ao fecho convexo da grade de
    controle
  • As funções de base somam 1 e são positivas em
    toda parte

71
Retalhos Bézier em Forma Matricial
  • Se os pontos de controle não se modificam,
    pode-se pré-computar o produto das 3 matrizes do
    meio

72
Malhas de Retalhos Bézier
  • São malhas compostas de diversos retalhos unidos
    ao longo de suas fronteiras
  • As arestas das grades de controle precisam se
    justapor perfeitamente
  • As grades precisam ser quadriláteros

OK
Não
Não
OK
73
Continuidade em Malhas de Retalhos Bézier
  • Como no caso das curvas Bézier, os pontos de
    controle precisam satisfazer restrições para
    assegurar continuidade paramétrica
  • Continuidade ao longo das arestas dos retalhos
  • C0 ? Pontos de controle da aresta são os mesmos
    em ambos retalhos
  • C1 ? Pontos de controle vizinhos aos da aresta
    têm que ser colineares e eqüidistantes
  • C2 ? Restrições sobre pontos de controle mais
    distantes da aresta
  • Para obter continuidade geométrica, as restrições
    são menos rígidas
  • G1 ? Pontos de controle vizinhos aos da aresta
    têm que ser colineares mas não precisam ser
    eqüidistantes
  • Para obter continuidade C1 nos vértices das
    grades
  • Todas as arestas incidentes no ponto têm que ser
    colineares

74
Desenhando Retalhos Bézier
  • Opção 1 Avaliar o retalho para um conjunto de
    pontos do domínio paramétrico e triangular
  • Normalmente, s e t são tomados em intervalos
    (regulares ou não) de forma que os pontos
    avaliados formam uma grade
  • Cada célula da grade é constituída de quatro
    pontos que vão gerar 2 triângulos
  • Não se usa quadriláteros visto que os pontos não
    são necessariamente co-planares
  • Renderização fácil com triangle strips
  • Vantagem Simples e suportado pelo OpenGL
  • Desvantagem Não há uma maneira fácil de
    controlar o aspecto da superfície de forma
    adaptativa

75
Desenhando Retalhos Bézier
  • Opção 2 Usar subdivisão
  • Permite controle de erro durante a aproximação
  • Definida de forma semelhante à subdivisão de
    curvas Bézier, mas refinamento é feito de forma
    alternada nos dois eixos de parâmetros
  • Sucessivamente computar pontos médios dos
    vértices e uní-los
  • Aplicar procedimento inicialmente em cada linha
    da grade de controle 4x4 ? 4x7
  • Repetir procedimento para cada coluna da grade de
    controle 4x7 ? 7x7

76
Procedimento Adaptativo
  • Através da subdivisão obtemos 4 grades de
    controle e testamos
  • Se a grade é aproximadamente plana, ela é
    desenhada
  • Senão, subdividir em 4 sub-grades e aplicar o
    procedimento recursivamente
  • Problema Retalhos vizinhos podem não ser
    subdivididos uniformemente
  • Rachaduras polígonos de controle não se
    justapõem
  • Pode ser consertado forçando grades mais
    subdivididas a se justaporem às grades menos
    subdivididas ao longo da aresta comum

Rachadura
77
Normal
  • Como calcular a normal de uma superfície
    paramétrica Q(s,t) no ponto sa e tß ?

t ß
s a
78
Computando o Vetor Normal
  • Derivadas parciais em relação a t e a s pertencem
    ao plano tangente
  • Vetor normal é calculado normalizando o produto
    cruzado de ambas

79
Exemplos de outras superfícies paramétricas
  • Superfícies criadas por rotação de um curva em
    torno de um eixo
  • Knots movimentação de um círculo no espaço
  • Exemplo Trefoil Knot

80
Representação Geométrica Explícita
  • Referências das transparências
  • Prof. Paulo Roma
  • Prof. Thomas Ottmann e Khaireel A. Mohamed

81
Paradigma dos quatro universos.
  • Objetos do universo físico sólidos (formas)
  • Universo matemático, descrição
  • Implícita x Paramétrica x Explícita
  • Explicitamente, exemplos de representação

mapa de altura
por bordo (superfícies poliédricas)
82
Representação explícita por bordo (superfícies
poliédricas)
  • Qualquer poliedro convexo pode ser representado
    por uma subdivisão planar (representação linear
    por partes)
  • Malha de polígonos (ou malha de triângulos)

83
Representação Linear por Partes
  • Superfície com geometria complexa pode ser
    aproximada por uma superfície linear por partes.
  • Particiona-se o domínio da parametrização por um
    conjunto de polígonos.
  • Cada vértice no domínio poligonal é levado para a
    superfície pela parametrização.
  • A conectividade entre vértices adjacentes se
    mantem.

84
Propriedades
  • Gera uma malha poligonal, definida por um
    conjunto de vértices, arestas e faces.
  • Cada aresta é compartilhada por no máximo duas
    faces.
  • A interseção de duas faces é uma aresta, um
    vértice ou vazia.
  • Relação de Euler
  • F V A 2
  • Adjacência de vértices, arestas e faces é chamada
    de topologia da superfície.

85
Relação de Euler
  • F V A 2(Foi Você que Assassinou o 2)
  • Existe uma face externa
  • F V A 2s
  • s é a quantidade de bordas da malha (depende do
    genus do objeto)
  • O genus do objeto depende da quantidade de
    alças (handles)

g 0
g 1
g 2
86
Geometria x Topologia
  • Dois objetos com a mesma geometria podem ter
    topologias diferentes
  • Dois objetos com a mesma topologia podem ter
    geometrias diferentes
  • Vamos nos concentrar na topologia!
  • Problema em 2D

87
Manifold
  • Uma superfície é 2-manifold se em todo o seu
    domínio ela for localmente homeomorfa a um disco

manifold
non-manifold edge
Non-manifold vertex
88
Subdivisão Planar
  • Como representar (codificar)?
  • lista de vértices e arestas, ou
  • lista de vértices e faces,
  • Winged edge ou Half edge ou ...
  • Operações sobre Malhas Poligonais
  • Achar todas as arestas que incidem em um vértice.
  • Achar as faces que incidem numa aresta ou
    vértice.
  • Achar as arestas na fronteira de uma face
  • As 9 perguntas devem ser respondidas em tempo
    ótimo!

89
9 tipos de Relacionamentos de Adjacência
90
Codificação
  • Explícita.
  • Ponteiros para lista de vértices.
  • Ponteiros para lista de arestas.
  • Winged-Edge (Half-Edge, Face-Edge).
  • Quad-Edge (Guibas-Stolfi).
  • Radial-Edge.
  • Half-Edge.

91
Sugestões?
92
Codificação Explícita
  • A mais simples.
  • Cada face armazena explicitamente a lista
    ordenada das coordenadas dos seus vértices
  • Muita redundância de informação.
  • Consultas são complicadas.
  • Obriga a execução de algoritmos geométricos para
    determinar adjacências.

93
Desenho da Malha
  • Cada aresta é desenhada duas vezes, pelos duas
    faces que a compartilham.
  • Não é bom para plotadoras ou filmes.

94
Ponteiros para Lista de Vértices
  • Vértices são armazenados separadamente.
  • Há uma lista de vértices.
  • Faces referenciam seus vértices através de
    ponteiros.
  • Proporciona maior economia de memória.
  • Achar adjacências ainda é complicado.
  • Arestas ainda são desenhadas duas vezes.

95
Exemplo
96
Ponteiros para Lista de Arestas
  • Há também uma lista de arestas.
  • Faces referenciam as suas arestas através de
    ponteiros.
  • Arestas são desenhadas percorrendo-se a lista de
    arestas.
  • Introduzem-se referências para as duas faces que
    compartilham uma aresta.
  • Facilita a determinação das duas faces incidentes
    na aresta.

97
Exemplo
98
Outra linha de solução...
  • DCEL Doubly-Connected Edge List
  • winged-edge
  • radial-edge
  • half-edge

99
Winged-Edge
100
Winged-Edge
  • Criada em 1974 por Baumgart.
  • Foi um marco na representação por fronteira.
  • Armazena informação na estrutura associada às
    arestas (número de campos é fixo).
  • Todos os 9 tipos de adjacência entre vértices,
    arestas e faces são determinados em tempo
    constante.
  • Atualizada com o uso de operadores de Euler, que
    garantem V A F 2.
  • Porém, o tamanho da estrutura é 3V 8A F

101
DCEL (Doubly-Connected Edge List )
  • Winged-Edge
  • Facial-Edge
  • Resolve faces dentro de faces
  • Radial-Edge (Weiler, 1986)
  • Representa objetos non-manifold.
  • Armazena a lista ordenada de faces incidentes em
    uma aresta.
  • Muito mais complicada que a Winged-Edge.
  • Half-edge
  • Enxuta
  • A mais popular!!!

102
Estrutura de dados Half-edge
  • A estrutura de dados de uma Half-edge deve
    armazenar
  • Ponteiro para a half-edge seguinte
  • Ponteiro para a half-edge oposta
  • Ponteiro para sua face
  • Ponteiro para o vértice de origem
  • Face data structure stores
  • Ponteiro para uma das half-edges da face
  • Vertex data structure stores
  • Ponteiro para uma das half-edges de origem no
    vértice

103
Código da estrutura Half-edge
class H_Edge Vertex vOrig H_Edge
eTwin H_Edge eNext Face f
class Vertex Point2D p H_Edge hEdge
class Face H_Edge hEdge
  • Observações
  • Para um mesmo Vertex podem existir diversos
    H_Edge, porém, basta guardar um deles com origem
    no Vertex.
  • Na face, basta guardar uma de suas H_Edge

104
DCEL Example Planar Subdivision
Vertex v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
p (1,1) (10,0) (9,5) (2,7) (5,8) (8,9) (5,11) (7,1
3) (1,13) (11,12) (6,15)
hEdge e1_3 e2_3 e3_4 e4_9 e5_9 e6_7 e7_8 e8_6 e9_1
1
((Fazer exemplo no quadro))
105
DCEL Example Planar Subdivision
Half-Edge e1_3 e3_1 e2_3 e3_2 e10_3 e11_10 e9_11 e
4_9 e3_4 e4_3 e9_4 e5_9 e3_5 e5_3 e9_5 e11_9
vOrig v1
eTwin e3_1
f f1
eNext e3_4
ePrev e3_1
106
DCEL Example Planar Subdivision
Half-Edge e10_11 e3_10 e6_7 e8_6 e7_8 e8_7 e7_6 e6
_8
vOrig v10
eTwin e11_10
f f3
eNext e11_9
ePrev e3_10
Face f1 f2 f3 f4
eOuterComp NULL
eInnerComps e1_3
107
Half-edge data structure
  • Example
  • Face list
  • f e
  • 0 e0
  • e8
  • Vertex list
  • V coord he
  • 0 0 0 0 0
  • 1 0 0 1
  • 1 1 0 2
  • ..
  • Half-edge list
  • he to_vertex next_he opposite_he
    face
  • 0 1 1
    6 0
  • 2 2
    11 0
  • 3 3
    15 0
  • 0 0
    18 0

9
10
108
Exemplos de questões de prova
109
Triângulos
  • Muitos sistemas trabalham exclusivamente com
    malhas de triângulos
  • Por que triângulos?
  • Algumas propriedades especiais
  • Vértices são sempre coplanares
  • Sempre convexo
  • Interpolação linear (coordenadas baricêntricas)
  • Qualquer malha de polígonos pode ser transformada
    em malha de triângulos
  • Especialidade das GPUs
  • Triângulo é sempre rígido (ex Torre Eifel)

110
Outros Temas em Geometria Computacional
  • Interseção de segmento de linhas
  • Localização de Ponto
  • Em um polígono
  • Em uma subdivisão planar
  • Triangulação de Delaunay
  • Delaunay (maximiza o menor ângulo de todos os
    triângulos)
  • gordura dos triângulos
  • Diagramas de Voronoi
  • Mapa de localização de ponto mais próximo
  • Grafo complementar ao Delaunay
  • Fecho Convexo 3D
  • Planejamento de Movimentação de Robôs
  • Grafos de Visibilidade
  • Árvores Espaciais
  • Kd-Trees
  • Quadtrees
  • BSP (Binary Space Partition)
Write a Comment
User Comments (0)
About PowerShow.com