Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
DIM102 1
Modelagem de Sólidos
35T56 – Sala 3E1Bruno 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ãoambí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 Aplicandose uma operação Booleana em dois objetos sólidos não
produz necessariamente um objeto sólido
DIM1024
Operações Regularizadas Booleanas em Conjuntos Utilizase 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
∪* ,∩* ,−*
DIM1025
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 usandose normais das superfícies
DIM1026
Representações de Varredura
• Movendose um objeto ao longo de uma trajetória em 3D criase 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 (breps) descrevem um objeto através das fronteiras de sua superfície
Breps podem ser restritas a fronteiras planares, poligonais ou permitir superfícies curvas
Vários sistemas rentringem objetos a 2manifolds. Cada ponto em um 2manifold 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ãoplanares
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 2manifolds 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
Representações de Particionamento Espacial
DIM10212
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, gerandose
objetos mais compactos mas menos precisos
DIM10213
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
DIM10214
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 percorrese ambas as árvores de cima para baixo em paralelo, subdividindo os nós quando necessário
DIM10215
Á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
DIM10216
Árvores Binárias de Particionamento Espaciais
• Árvore BSP pode representar um sólido côncavo arbitrário como uma união 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
DIM10217
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 pontoaponto
DIM10218
Geometria Construtiva de Sólidos
DIM10219
Geometria Construtiva de Sólidos
DIM10220
Comparação das Representações Precisão Partições espaciais e breps produzem somente
aproximações para vários objetos. CSG com primitivas nãopoliédricas, breps 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
DIM10221
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 breps 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