Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo...

30
Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003 [email protected] rj.br LCG – COPPE - UFRJ

Transcript of Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo...

Page 1: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um

modelo físico

Ricardo Guerra Marroquim

30/05/[email protected] LCG – COPPE - UFRJ

Page 2: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Apresentação

1. Motivação2. Objetivo3. Representação dos Polígonos4. Função Distância5. Malhas Adaptativas 4-86. Classificação dos Triângulos7. Buracos8. Sistema9. Modelo Físico

Page 3: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Motivação

• Os metodos tradicionais de triangulação não são capazes de tratar de maneira adequada modelos com bordas complexas, tais como modelos geológicos.

• Triangulações como a de Delaunay, por exemplo, resulta em triângulos com ângulos muito pequenos nestas regiões.

• Estes ângulos podem gerar problemas, como por exemplo de precisão.

Page 4: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Motivação

Page 5: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Motivação

TDR

Triangulação de Delaunay

GPR

Page 6: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Objetivo

1) Gerar uma malha 2D adaptativa de qualidade para modelos com bordas complexas e falhas– Triângulos bem formados– Refinamento nas bordas

2) Gerar um modelo 3D com as mesmas características

Page 7: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Superfícies

• Arquivo .plg– Lista de

vértices– Lista de faces

-8.915414700e+00 +1.661592000e+00 +0.000000000e+00 1 -8.884706400e+00 +1.553865300e+00 +0.000000000e+00 2 -8.727057100e+00 +1.439630600e+00 +0.000000000e+00 3 ...+4.836496500e+00 +4.728590500e+00 +0.000000000e+00 300 +4.553531600e+00 +4.667572900e+00 +0.000000000e+00 301 +4.378507400e+00 +4.556913100e+00 +0.000000000e+00 302 +4.381311600e+00 +4.451062500e+00 +0.000000000e+00 303

11303 302 301 300 299 298 297 296 295 294 293 16292 291 290 289 288 287 286 285 284 283 282 281 280 279 278 277 23276 275 274 273 272 271 270 269 268 267 266 265 264 263 262 261 260 259 258 257 256 255 254

Page 8: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Superfícies

Page 9: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Armazenamento dos Polígonos

• Um polígono é representado por duas estruturas.– Vetor de pontos– Árvore binária de segmentos

• Nó da árvore : identificação do primeiro e último ponto do nó, ponteiros para filho da esquerda e da direita.

A

1 2 3 4 5 6 7 8

B C

D E ... ...

Page 10: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

1

2

3

4

5

6

78

Navegação no polígono

• Renderização : somente vetor de pontos• Função distância : utiliza também a árvore para

navegação na estrutura

A

B C

D E F G

Page 11: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Função Distância• Cálculo da distância de um ponto ao polígono:

– Percorre a árvore calculando a distância do ponto ao segmento formado pelos pontos início e fim do nó.

– Guarda os nós percorridos em uma Heap ordenada pela distância.

1

2

3

4

5

6

78

A

B C

D E F G

A B CD E

H I J K N OL M

HI

p

Page 12: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Função Distância• A distância utilizada para a comparação da inserção na Heap não é feita

somente com a distância do ponto ao segmento. • A distância será a diferença da distância do ponto com a maior distância

dentro do nó• A maior distância do nó é a distância do ponto mais longe do segmento

formado pelo primeiro e último vertex do nó.

1

2

3

4

5

6

78

pdmax

dpt

d = dpt - dmax

Page 13: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Malhas 4-8

• Vantagens:– Malhas triangulares

e quadrangulares ao mesmo tempo.

– Triângulos retângulos e isósceles.

– Refinamento em dois passos; mais precisão.

Page 14: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Refinamento da Malha

Quad Mesh

4-8 Mesh

Page 15: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Refinamento 4-8

Page 16: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

4-8 Adaptativa

• Mais refinamento onde for preciso

• Áreas com menos detalhes -> triângulo pequenos

• Áreas com mais detalhes -> triângulos maiores

• Para refinar algumas arestas é preciso as vezes refinar blocos vizinhos para garantir uma topologia consistente

Page 17: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

4-8 Adaptativa

Page 18: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Refinamento Adaptativo

Page 19: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Classificação dos Triângulos• Para realizar a projeção é preciso classificar os

triângulos da malha como interiores, exteriores ou intersectando a borda da superfície.

Exterior

3 vértices fora

Interior

3 vértices dentro

Intersectando a Borda

1 vertex fora e 2 dentro ou

2 vértices fora e 1 dentro

Page 20: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Classificação• Para saber se um vertex está fora ou dentro é preciso ter uma

função de distância com sinal.• O sinal é calculado por um produto vetorial da coordenada z

utilizando o vetor distância e o segmento mais próximo do vertex.

ab

s

s x a > 0

s x b < 0

s x a = (sx * ay) - (sy * ax)

s x b = (sx * by) - (sy * bx)

Page 21: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Classificação

• Problema!– Vertex do triângulo está mais próximo de um vertex

do polígono e os segmentos mais próximos formam um ângulo interno menor do que 90º.

as

s x a > 0

b

s x b > 0

p

q

Page 22: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Classificação

• Solução:– Inserir um ponto no interior do triângulo formado pelos

segmentos mais próximos.– O ponto no interior do triângulo terá a classificação oposta ao

ponto do lado de fora.

• Se o ponto r estiver dentro do polígono os pontos p e q estarão fora e vice-versa.

as

s x c < 0

c

p

bq

r

Page 23: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Buracos na Superfície

• Para tratar buracos na superfície é preciso criar uma estrutura para cada polígono diferente e classificá-los como sendo internos ou externos.

Borda Interna

Borda Externa

Page 24: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Buracos• Algoritmo força-bruta:

– Para cada face:• Classifica um ponto da face em relação as outras faces.• Se o ponto escolhido é externo a todas as outras faces esta é uma borda externa, se

não esta é uma borda interna.

• Por enquanto só trata uma região externa com várias regiões internas.• Para tratar várias regiões externas é preciso criar uma hierarquia de faces

usando uma árvore por exemplo.

Page 25: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Problemas

• O sistema ainda depende de uma orientação fixa para as faces. No momento só trata circulação horária.

Page 26: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Problemas

• Os vértices do arquivo plg são transformados para coordenadas entre 0 e 1. Esta mudança na escala pode trazer problemas na resolução.

• A resolução da malha de subdivisão está com um limite, a partir de um certo nível de refinamento a subdivisão não altera mais.

Page 27: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Sistema

Page 28: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Próximos Passos

Projeção dos vértices dos triângulos na borda:

• Só a projeção pode resultar em triângulos com ângulos muito pequenos.

• Comprimir a malha de subdivisão gerada para encaixar dentro dos limites da superfície

Page 29: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.

Massa - mola• Uma idéia é utilizar um sistema de molas para

comprimir a malha.• Uma mola será colocada em cada aresta dos

triângulos.• Os vértices dos triângulos de interseção serão

empurrados na direção da borda. O sistema de molas fará com que os outros vértices também sejam deslocados.

• Com um valor correto para o coeficiente de elasticidade os triângulos não serão muito achatados o que formaria ângulos muito pequenos.

• Outras idéias a serem pesquisadas:– Elementos Finitos– Compressão baseada em otimização

Page 30: Geração de malhas utilizando subdivisão adaptativa e método de compressão baseado em um modelo físico Ricardo Guerra Marroquim 30/05/2003ricardo@lcg.ufrj.brLCG.