201 likes | 341 Vues
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227. Modelagem de Sólidos. Representando Sólidos. Características desejáveis em um modelo de descrição de sólidos são: O domínio do modelo deve ser grande o suficiente para a descrição de objetos representativos
E N D
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227 Modelagem de Sólidos
Representando Sólidos Características desejáveis em um modelo de descrição de sólidos são: O domínio do modelo deve ser grande o suficiente para a descrição de objetos representativos A representação deve ser não-ambígua (completa), única, compacta e precisa (pode representar um objeto sem aproximações Não permitir a criação de uma representação inválida Facilidade na criação de representações válidas Deve permitir o uso de algoritmos eficientes para cálculo de propriedades físicas e geração de imagens
Operações Regularizadas Booleanas em Conjuntos Combinação de objetos para a criação de outros é uma ferramenta poderosa Aplicando-se uma operação Booleana em dois objetos sólidos não produz necessariamente um objeto sólido Utiliza-se os operadores regularizados Booleanos , definidos tais que essas operações sempre produzem sólidos Considere um objeto como uma coleção de pontos interiores e de borda A união de um conjunto com seus pontos de borda é o fechamento do conjunto
Operações Regularizadas Booleanas em Conjuntos • A regularização de um conjunto é o fechamento dos pontos interiores do conjunto • Bordas só são incluídas em interseções regularizadas se os dois objetos estiverem do mesmo lado da porção de borda compartilhada • Isso pode ser feito usando-se normais das superfícies
Instanciação de Primitivas Sistema define um conjunto de primitivas 3D parametrizadas relevantes a área da aplicação Não há a combinação de objetos Rotinas de desenho ou cálculos de propriedades físicas devem ser escritas individualmente
Representações de Varredura • Movendo-se um objeto ao longo de uma trajetória em 3D cria-se um novo objeto, chamado de objeto de varredura (sweep object) • Objeto inicial pode ser 2D ou 3D • Difícil de se combinar com operações regularizadas Booleanas • União de sweeps em geral não é um sweep • Trajetórias de complexidades arbitrárias podem ser usadas
Representações de Bordas Representações de bordas (b-reps) descrevem um objeto através das fronteiras de sua superfície B-reps podem ser restritas a fronteiras planares, poligonais ou permitir superfícies curvas Vários sistemas rentringem objetos a 2-manifolds. Cada ponto em um 2-manifold tem alguma pequena vizinhança que é toopologicamente equivalente a um disco no plano
Representações de Bordas Poliédro é um sólido delimitado por um número de polígonos. Um poliedro simples é um que não tem buracos Um poliédro simples obedece a fórmula de Euler V – E + F = 2 mesmo que possua arestas curvas e faces não-planares Restrições adicionais são necessárias para se garantir que o objeto é um sólido
Representações de Bordas A generalização da fórmula de Euler para 2-manifolds que possuem buracos é V – E + F – H = 2(C – G) onde H é o número de buracos em faces, C é o número de componentes e G é o número de túneis
Representações de Particionamento Espacial Sólidos são decompostos em uma coleção de sólidos vizinhos mais primitivos Sistema que utiliza decomposição de células define primitivas que podem ser usadas para montar objeto mais complexo (como usando LEGO) Tipo especial de decomposição de células é a enumeração de ocupação espacial, onde as células tem a mesma forma e estão arranjadas em um grid regular. Geralmente usada em aplicações biomédicas
Quadtrees e Octrees Quadtrees (2D) e octrees (3D) são uma variante hierárquica de enumeração de ocupação espacial usadas para diminuir necessidade de armazenamento Subdivisões binárias da imagem (quadtree) ou volume (octree) até que um quadrante ou octante tenha o mesmo valor Mais eficiente para representação de objetos binários Regras para subdivisão podem ser relaxadas, gerando-se objetos mais compactos mas menos precisos
Quadtrees e Octrees • Quadrantes (0...3) e octantes (0...7) são numerados • Com exceção de casos patológicos, números de nós em uma quadtree ou octree de um objeto é proporcional ao perímetro ou superfície do objeto, respecivamente. Isso acontece porque a subdivisão só é necessária para representar a borda do objeto sendo codificado
Quadtrees e Octrees Implementações de operações Booleanas são triviais em quadtrees e octrees Para calcular uniões e interseções entre dois objetos percorre-se ambas as árvores de cima para baixo em paralelo, subdividindo os nós quando necessário
Árvores Binárias de Particionamento Espaciais Árvores Binárias de Particionamento Espaciais (BSPs) dividem recursivamente o espaço em pares de subespaços, separados por um plano de posição e orientação arbitrária Originalmente usadas na determinação de superfícies visíveis Cada nó interno de uma árvore BSP é associado com um plano e tem um ponteiro para cada lado do plano
Árvores Binárias de Particionamento Espaciais • Árvore BSP pode representar um sólido côncavo arbitrário como uma uniõ de regiões convexas • Na classificação de pontos, um ponto é passado para a raiz e seu valor é substituído na equação do plano do nó e direcionado para o nó filho correto, até que se chegue em um nó folha, cuja equação define se o ponto é interno, externo ou de borda
Geometria Construtiva de Sólidos Geração de formas complexas através do uso de formas básicas e operadores de conjuntos Booleanos regularizados Usuário pode contruir objetos juntando peças, furando buracos, serrando partes, etc. Adequada para modelagem de objetos que foram produzidos deste modo, como máquinas Utiliza funções Booleanas ponto-a-ponto
Comparação das Representações Precisão - Partições espaciais e b-reps produzem somente aproximações para vários objetos. CSG com primitivas não-poliédricas, b-reps com superfícies curvas e instanciação de primitivas representam objetos com melhor precisão, mas primitivas não podem ser combinadas com operações Booleanas Domínio - Limitado para sweeps e instanciação de primitivas. Partições espaciais podem representar qualquer sólido, desde que como uma aproximação
Comparação das Representações Unicidade - Somente octrees e enumeração de ocupação espacial garantem unicidade. Em octreea, algum processamento deve ser feito para garantir que a representação foi completamente reduzida. Instanciação de primitivas pode ter unicidade se primitivas forem escolhidas cuidadosamente Validação - b-reps são extremamente difíceis de se validar. Árvores BSP sempre representam um conjunto espacial válido, não necessariamente um sólido. Checagem local é necessária para validar uma árvore CSG ou uma octree e nehuma checagem é necessária para uma ebumeração de ocupação espacial