A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ricardo Guerra Marroquim

Apresentações semelhantes


Apresentação em tema: "Ricardo Guerra Marroquim"— Transcrição da apresentação:

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

2 Apresentação Motivação Objetivo Representação dos Polígonos
Função Distância Malhas Adaptativas 4-8 Classificação dos Triângulos Buracos Sistema Modelo Físico

3 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.

4 Motivação

5 Motivação TDR Triangulação de Delaunay GPR

6 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

7 Superfícies Arquivo .plg Lista de vértices Lista de faces
e e e+00 1 e e e+00 2 e e e+00 3 ... e e e e e e e e e e e e 11 16 23 Arquivo .plg Lista de vértices Lista de faces

8 Superfícies

9 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 ...

10 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 1 2 3 4 5 6 7 8 A B C D E F G

11 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 7 8 A p B C D E F G H I J K L M N O I D A H E B C

12 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 7 8 p dmax dpt d = dpt - dmax

13 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.

14 Refinamento da Malha Quad Mesh 4-8 Mesh

15 Refinamento 4-8

16 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

17 4-8 Adaptativa

18 Refinamento Adaptativo

19 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. Intersectando a Borda 1 vertex fora e 2 dentro ou 2 vértices fora e 1 dentro Exterior 3 vértices fora Interior 3 vértices dentro

20 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. a b s s x a > 0 s x b < 0 s x a = (sx * ay) - (sy * ax) s x b = (sx * by) - (sy * bx)

21 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º. a s s x a > 0 b s x b > 0 p q

22 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. a s s x c < 0 c p b q r Se o ponto r estiver dentro do polígono os pontos p e q estarão fora e vice-versa.

23 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

24 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.

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

26 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.

27 Sistema

28 Próximos Passos Projeção dos vértices dos triângulos na borda:
Comprimir a malha de subdivisão gerada para encaixar dentro dos limites da superfície Só a projeção pode resultar em triângulos com ângulos muito pequenos.

29 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

30


Carregar ppt "Ricardo Guerra Marroquim"

Apresentações semelhantes


Anúncios Google