400 likes | 497 Views
Técnicas de Modelagem para Aplicações em Computação Gráfica. Joaquim Bento Cavalcante Neto joaquimb@lia.ufc.br Universidade Federal do Ceará Departamento de Computação Março 2004. Roteiro. Conceitos de modelagem Modelos de decomposição Modelos de construção Modelos de fronteira
E N D
Técnicas de Modelagem para Aplicações em Computação Gráfica Joaquim Bento Cavalcante Neto joaquimb@lia.ufc.br Universidade Federal do Ceará Departamento de Computação Março 2004
Roteiro • Conceitos de modelagem • Modelos de decomposição • Modelos de construção • Modelos de fronteira • Conclusões
Definição de modelo • O que são modelos? • Objetos artificialmente construídos • Facilitam a análise de fenômenos, situações • Quais são os tipos de modelos? • Modelos físicos - prédios, navios, carros • Modelos moleculares - arranjo de átomos • Modelos matemáticos - equações e dados • Para que usar modelos? • Estudo de características de coisas reais • Simulação do comportamento de coisas reais
Modelos computacionais • Definição • Dados armazenados no computador • Podem representar vários tipos de modelos • Modelagem geométrica • Modelagem para resolver problemas geométricos • Responde a perguntas do tipo: • a) que parte do corpo é visível para o usuário? • b) qual cor é associada a cada elemento?
Modelos computacionais • Modelagem de sólidos • Braço da modelagem geométrica • Trata de coisas completas, fechadas • Responde às questões “algoritmicamente” • Níveis de abstração em modelagem • Nível físico - sólido propriamente dito • Nível contínuo - representação matemática • Nível representação - armazenamento (pontos, coeficientes, etc…) • Nível implementação - código, estrutura de dados
Modelos computacionais • Classificação dos tipos de modelos • Modelos de decomposição • Uso de primitivas básicas (cubos, etc…) • Sólido descrito através de operações de “gluing” • Modelos de fronteira • Uso de hierarquia (sólido, faces, arestas, etc…) • Sólido descrito através de seu contorno • Modelos de construção • Uso de primitivas básicas mais elaboradas (cone, etc…) • Sólido descrito através de operações de construção
Tipos de modelos • Enumeração exaustiva • Primitiva básica - cubos de mesmo tamanho • Usadas em renderização volumétrica (voxels), etc… • Decomposição celular • Primitiva básica - qualquer célula (triângulo, quadrilátero, etc…) • Usadas em simulações numéricas (MEF), etc... • Subdivisão espacial • Primitiva básica - cubos de tamanho variável • Usadas em modelagem propriamente dita
Subdivisão espacial • Quadtrees, Octrees
Subdivisão espacial • Octree
Subdivisão espacial • Octree
Características • Baixa precisão, porque são aproximadas • Geram modelos válidos • Não é ambíguo e a representação é única • Não é conciso (árvore com muitas células) • Realiza operações fechadas (Booleanas) • Útil como modelagem auxiliar (busca, localização, etc…)
Tipos de modelos • Baseados em polígonos • Lista de faces • Baseados em vértices • Lista de vértices • Baseados em arestas • Aresta “alada” (winged-edge) - Wed • Meia aresta (half-edge) - Hed
Características • Precisão muito alta, representação eficiente • Geram modelos válidos • Não é ambíguo e a representação é única • Não é muito conciso (Hed é grande, etc…) • Poderoso para modelagens complexas
Tipos de modelos • Modelos de semi-espaço • Primitiva básica - semi-espaços (semi-espaço planar, semi-espaço cilíndrico, etc…) • O modelo é definido pela combinação dos semi-espaços em uma árvore por op. Booleanas • Modelos CSG (Constructive Solid Geometry) • Primitiva básica - quaisquer objetos construídos a partir de uma combinação de semi-espaços • O modelo é definido pela combinação das primitivas em uma árvore usando op. Booleanas
Características • Precisão depende das primitivas, se existirem muitas primitivas a precisão pode ser bem grande • Podem gerar modelos não-válidos • Não é ambíguo e a representação não é única para os modelos • É bem mais conciso que as demais, mas em modelagens práticas tende a crescer • Uma modelagem por CSG pode ser bem complexa, dependendo do problema
Conclusões • Modelar NÃO é somente usar um software • O tipo de modelagem que se aplica a um caso específico depende de vários fatores: • precisão desejada • memória disponível • custo computacional • Modelagem é um passo fundamental para aplicações em computação gráfica