Modelagem de Sólidos para Aplicações em Computação Gráfica Joaquim Bento Cavalcante-Neto joaquimb@lia.ufc.br Grupo de Computação Gráfica, Realidade Virtual e Animação (CRAb) Departamento de Computação (DC) Universidade Federal do Ceará (UFC) Fortaleza, Novembro 2004 CRAb UFC
Parte I Conceitos Cavalcante-Neto, INFOSOL, 2004
Roteiro Conceitos de modelagem Modelos de decomposição Modelos de construção Modelos de fronteira Conclusões Cavalcante-Neto, INFOSOL, 2004
Conceitos de modelagem Cavalcante-Neto, INFOSOL, 2004
Definição de modelo O que são modelos? Objetos artificialmente construídos Facilitam a análise de fenômenos, situações Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
Modelos computacionais Definição Dados armazenados no computador Podem representar vários tipos de modelos Cavalcante-Neto, INFOSOL, 2004
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? Cavalcante-Neto, INFOSOL, 2004
Modelos computacionais Modelagem de sólidos Braço da modelagem geométrica Trata de coisas completas, fechadas Responde às questões “algoritmicamente” Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
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” Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
Modelos de decomposição Cavalcante-Neto, INFOSOL, 2004
Tipos de modelos Enumeração exaustiva Primitiva básica - cubos de mesmo tamanho Usadas em visualização volumétrica (voxels), etc. Cavalcante-Neto, INFOSOL, 2004
Tipos de modelos Enumeração exaustiva Primitiva básica - cubos de mesmo tamanho Usadas em visualizaçã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. Cavalcante-Neto, INFOSOL, 2004
Tipos de modelos Enumeração exaustiva Primitiva básica - cubos de mesmo tamanho Usadas em visualizaçã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 Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Quadtrees Célula vazia Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Quadtrees Célula cheia Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Quadtrees Célula cheia Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Quadtrees Célula parcial Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Octree Cavalcante-Neto, INFOSOL, 2004
Subdivisão espacial Octree Cavalcante-Neto, INFOSOL, 2004
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 para modelagem auxiliar (buscar, localizar, etc.) Cavalcante-Neto, INFOSOL, 2004
Modelos de fronteira Cavalcante-Neto, INFOSOL, 2004
Tipos de modelos Baseados em polígonos Lista de faces Cavalcante-Neto, INFOSOL, 2004
Tipos de modelos Baseados em polígonos Lista de faces Baseados em vértices Lista de vértices Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
Lista de faces Cavalcante-Neto, INFOSOL, 2004
Lista de faces Cavalcante-Neto, INFOSOL, 2004
Lista de faces Cavalcante-Neto, INFOSOL, 2004
Lista de faces Cavalcante-Neto, INFOSOL, 2004
Lista de faces Cavalcante-Neto, INFOSOL, 2004
Winged-edge Cavalcante-Neto, INFOSOL, 2004
Half-edge Cavalcante-Neto, INFOSOL, 2004
Half-edge Cavalcante-Neto, INFOSOL, 2004
Half-edge Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
Modelos de construção Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
CSG Cavalcante-Neto, INFOSOL, 2004
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 É 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 Cavalcante-Neto, INFOSOL, 2004
Conclusões Cavalcante-Neto, INFOSOL, 2004
Conclusões Modelar NÃO é somente usar um software Cavalcante-Neto, INFOSOL, 2004
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 Cavalcante-Neto, INFOSOL, 2004
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 e várias outras áreas de aplicação Cavalcante-Neto, INFOSOL, 2004
Parte II Pesquisa Cavalcante-Neto, INFOSOL, 2004
Roteiro Referência Jmesh Exemplos Conclusões Cavalcante-Neto, INFOSOL, 2004
Referência Cavalcante-Neto, INFOSOL, 2004
Referência Título: Autores: Referência: An Algorithm for Three-Dimensional Mesh Generation for Arbitrary Regions with Cracks Autores: Cavalcante-Neto, Joaquim B. (CRAb, UFC) Wawrzynek, Paul A. (CFG, Cornell University) Ingraffea, Anthony R. (CFG, Cornell University) Carvalho, Marcelo T. (Tecgraf, PUC-Rio) Martha, Luiz F. (Tecgraf, PUC-Rio) Referência: Cavalcante-Neto, et al., Engineering with Computers, 17: 75-91, Springer-Verlag, 2001 Cavalcante-Neto, INFOSOL, 2004
Jmesh Cavalcante-Neto, INFOSOL, 2004
Jmesh Construção de uma octree Modelo de entrada Concentração de elementos Cavalcante-Neto, INFOSOL, 2004
Jmesh Construção de uma octree Modelo de entrada Árvore gerada Concentração de elementos Árvore refinada Cavalcante-Neto, INFOSOL, 2004
Jmesh Geração dos elementos (Avanço de fronteira) Face base Cavalcante-Neto, INFOSOL, 2004
Jmesh Geração dos elementos (Avanço de fronteira) Vértice ideal Cavalcante-Neto, INFOSOL, 2004
Jmesh Geração dos elementos (Avanço de fronteira) Vértice ideal Vértices candidatos Cavalcante-Neto, INFOSOL, 2004
Jmesh Geração dos elementos (Critério de escolha) Ângulo sólido Cavalcante-Neto, INFOSOL, 2004
Exemplos Cavalcante-Neto, INFOSOL, 2004
Exemplos Cavalcante-Neto, INFOSOL, 2004
Exemplos Cavalcante-Neto, INFOSOL, 2004
Conclusões Cavalcante-Neto, INFOSOL, 2004
Conclusões Técnica robusta, rápida e confiável 3 R,s => Rapid, Robust and Reliable Cavalcante-Neto, INFOSOL, 2004
Conclusões Técnica robusta, rápida e confiável 3 R,s => Rapid, Robust and Reliable Gera modelos com milhões de elementos Cavalcante-Neto, INFOSOL, 2004
Conclusões Técnica robusta, rápida e confiável 3 R,s => Rapid, Robust and Reliable Gera modelos com milhões de elementos Trata modelos complexos Com furos Com geometrias complexa Com fraturas Cavalcante-Neto, INFOSOL, 2004
Modelagem de Sólidos para Aplicações em Computação Gráfica Joaquim Bento Cavalcante-Neto joaquimb@lia.ufc.br www.crab.ufc.br Fortaleza, Novembro 2004 CRAb