DIM102 1
Modelagem de Sólidos
35T56 – Sala 3F4
Bruno Motta de Carvalho
DIMAp – Sala 15 – Ramal 227
DIM1022
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
DIM1023
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
, e
DIM1024
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
DIM1025
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
DIM1026
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
DIM1027
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
DIM1028
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
DIM1029
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
DIM10210
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
DIM10211
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
DIM10212
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
DIM10213
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
DIM10214
Á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
DIM10215
Á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
DIM10216
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
DIM10217
Geometria Construtiva de Sólidos
DIM10218
Geometria Construtiva de Sólidos
DIM10219
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
DIM10220
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