Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.