06   modelagem
Upcoming SlideShare
Loading in...5
×
 

06 modelagem

on

  • 355 views

 

Statistics

Views

Total Views
355
Views on SlideShare
355
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

06   modelagem 06 modelagem Presentation Transcript

  • Modelagem Frederico Damasceno Bortoloti Adaptado de: Donghoon YangDonghoon Yang Anselmo Montenegro Claudio Esperança Paulo Roma Cavalcanti
  • Computação Gráfica e Áreas Correlatas processamento de imagens Imagem digital computaçãocomputação gráfica (síntese de imagens) visão computacional Modelos imagens) modelagem geométrica
  • Estrutura de aplicação gráfica interativa tradicional
  • Modelagem vs VisualizaçãoModelagem vs. Visualização • Modelagem: • Interessada na descrição de uma cena • Externamente: representação na forma de arquivo contendo as informações geométricas (e outras) • Internamente (na execução do programa): representação emInternamente (na execução do programa): representação em estrutura de dados residente em memória • Visualização:ç • Interessada na visualização (display) da cena a partir de uma dada câmera (posição do observador)(p ç ) • A princípio, são conceitos independentes.
  • Espaços de CoordenadasEspaços de Coordenadas • Plano ou R² (2D)
  • Espaços de CoordenadasEspaços de Coordenadas • Espaço ou R³ (3D)
  • Paradigmas de AbstraçãoParadigmas de Abstração • A necessidade de paradigmas (Ari Requicha). • Paradigma dos universos• Paradigma dos universos. • Físico F. • Matemático M• Matemático M. • Representação R. • Implementação I• Implementação I.
  • Problemas da ÁreaProblemas da Área • Estudar fenômenos em F. • Definir os modelos.Definir os modelos. • Estudar as relações entre R e M. • Definir representações de modelos em M. • Estudar conversões entre representaçõesEstudar conversões entre representações. • Definir métodos de implementação. • Comparar estratégias em I.
  • Esquemas de RepresentaçãoEsquemas de Representação • Objetos do universo físico: “sólidos” • O que é um sólido? • Objetos do universo matemático vêm da: • Geometria diferencial • Topologia diferencial
  • Geometria pode Ser ComplicadaGeometria pode Ser Complicada Garrafa de Klein (não orientável)Nó
  • Toro x Garrafa de KleinToro x Garrafa de Klein
  • Superfícies Não OrientáveisSuperfícies Não Orientáveis • F i d Möbi ó t l d b d• Faixa de Möbius só tem um lado e uma borda. • Superfície Romana é obtida costurando-se uma faixa de Möbius à borda de um disco (representação de RP2 no R3).( p ç ) Faixa de MöbiusSuperfície Romana
  • HistóricoHistórico • Modelagem por arames (wireframes). • Representa os objetos por arestas e pontosp j p p sobre a sua superfície. • Gera modelos ambíguosGera modelos ambíguos. • Modelagem por superfícies (década de 60). • Fornece a descrição matemática das superfícies que delimitam o objeto. • Poucos testes de integridade do modelo.
  • HistóricoHistórico • Modelagem de Sólidos (década de 70). • Implícita ou explicitamente contémp p informações do fechamento e conectividade dos objetos.j • Garante a realização física. • Sistemas CAD CAM utilizados pela indústria• Sistemas CAD-CAM utilizados pela indústria.
  • Estado da ArteEstado da Arte • Modelagem de dimensão mista ou non- manifold (década de 80).( ) • Permite representar objetos com estruturas internas ou com elementos pendentes deinternas ou com elementos pendentes de dimensão inferior. • Sólido delimitado por superfícies não• Sólido delimitado por superfícies não necessariamente planas localmente. E ACIS (S ti l T h l ) A t C d• Ex.: ACIS (Spatial Technology) – AutoCad.
  • HistóricoHistórico • Início dos anos 70• Início dos anos 70 • Ian Braid : Ph.D. thesis at the University of Cambridge in England introduced the BUILD system • ROMULUS Parasolid ACIS• ROMULUS, Parasolid, ACIS • the Compac system : U of Berlin, Germany • Proren : U of Ruhr, Germany B ’ E lid F• Brun’s Euclid system : France • Engeli’s Euklid system : Switzerland • TIPS-1 : Hokkaido University, Japan • GeoMap : University of Tokyo, Japan • Shapes : Draper Labs, US • Synthavision system : USy y • GLIDE : Chuck Eastman, Carnegie-Mellon, Architectural application and database • PADL : University of Rochestery Aristides A. G. Requicha, GEOMETRIC MODELING: A First Course
  • SólidoSólido d• Adjetivo • Não macio • Não oco• Não oco • Não adulterado ou não misturado • De construção forte e seguraç g • … • Substantivo • Algo sólido • Uma figura geométrica tridimensional de um objeto U b â i i d d d f• Uma substância que resiste a stress moderado e deformação, diferente de um líquido ou gás… Encarta Dictionary
  • Descrição de SólidosDescrição de Sólidos • Assuma-se que um sólido é um conjunto tridimensional de pontos.p • Conjuntos de pontos podem ser descritos P f t i• Por suas fronteiras • Por campos escalares •Definidos por equações •Amostrados
  • Objetivos da Modelagem de Sólidos bl d d l f f l d b• Problemas de modelos gráficos: falta de robustez, imcompletude, aplicabilidade limitada. C l t t ã d bj t ólid ã• Completa representação de objetos sólidos que são adequados para responder a quaisquer questões geométricas (de robôs) sem ajuda do usuário humanogeométricas (de robôs) sem ajuda do usuário humano. • Duas maiores questões; integridade e complexidade Soonh ng Han KaistSoonhung Han, Kaist
  • Propriedades da modelagem de sólidos P d i• Poder expressivo; • Validade: manufacturabilidade; • Desambigüidade e unicidade; • Languagens de Descrição: operações para• Languagens de Descrição: operações para construção C i i d• Concisão: requerimento de armazenamento • Facilidade computacional e aplicabilidade: requerimentos de poder computacionalq p p Soonhung Han, Kaist
  • Modelo sólidoModelo sólido • Criação apenas de representações completas de objetos sólidos • Representações desambígüas para sólidos • Requerimentos para propriedades matemáticaseque e tos pa a p op edades ate át cas para um modelo sólido • RigidezRigidez • Finitude • SolidezSolidez • Fechamento sob operação Booleana • Descrição finitaDescrição finita • Determinismo de Fronteira
  • Propriedades matemáticas requeridas d• Rigidez • Distância e ângulo fixos no espaço Euclidiano • Preservação de distâncias e ângulos• Preservação de distâncias e ângulos • Finitude • Extensões finitas de objetos físicosExtensões finitas de objetos físicos • Solidez • Sem faces ou arestas penduradasSe aces ou a estas pe du adas • Fechamento sob operação Booleana • Operações Booleanas aplicadas a sólidos devem produzir outrop p p sólido • Resultado de operação Booleana pode ser usado como entrada para outras operações Booleanaspara outras operações Booleanas • Subtração e adição de sólido são garantem a produção de sólidos
  • Propriedades matemáticas requeridas • Descrição finita • Quantidade finita de dados deve ser apta aQ p descrever conjuntos de pontos usados em modelos sólidos • Determinismo de fronteira F t i d ólid d d fi i ólid• Fronteira de um sólido deve definir o sólido desambigüamente
  • Tipos de modelos sólidosTipos de modelos sólidos M d l d D i ã (BSP t O t t )• Modelos de Decomposição (BSP-trees, Octrees, etc.) • Modelos de Arame (Wireframe) • Modelos de Superfície (Surface Modeling)• Modelos de Superfície (Surface Modeling) • Modelos de Sólido (Solid Modeling) • Modelos Construtivos (CSG – Constructive Solid Geometry)Modelos Construtivos (CSG Constructive Solid Geometry) • Modelos de Fronteira (B-rep – Boundary Representation) • Modelos Híbridos (CSG e B-rep) M d l B d F (F B d M d li )• Modelos Baseados em Features (Feature-Based Modeling) • Modelos de Dimensão Mista (Non manifold)
  • Representação de SólidosRepresentação de Sólidos • As duas formas, de descrever conjuntos de pontos, dão origem a três tipos dep g p representação: • Por bordo (B-rep – Boundary Representation)• Por bordo (B-rep – Boundary Representation) • Implícita (CSG – Constructive Solid G t )Geometry) • Por enumeração do espaço em células (BSP- )trees, Octrees, etc.)
  • Modelo de DecomposiçãoModelo de Decomposição • Representa um conjunto de pontos como uma coleção de objetos simples a partir deç j p p uma coleção fixa de tipos de objetos primitivos combinada com uma únicaprimitivos, combinada com uma única operação de “colagem”
  • Tipos de modelos de decomposição • Enumeração exaustiva • Todo espaço é igualmente dividido em blocos e uma matriz 3D armazena informações sobre o material (ou a falta dele) em cada bloco V l• Voxel • Decomposição celular • Células irregulares dividem o objeto em blocos • FEM (Finite Element Meshes) para FEA (Finite Element Analysis) – análise estrutural por elementos finitos • Subdivisão de espaçop • Divide o espaço em blocos recursivamente • Representação em Quadtree, Octree
  • Enumeração ExaustivaEnumeração Exaustiva • Caso especial de decomposição onde primitivas são cúbicas em suas formas • Elementos de volume de tamanho uniforme chamados voxels • Usado extensivamente em computação gráfica e na CG para medicinap • Eficiente mas requer armazenamento significativosignificativo • Acurácia limitada a menos que os voxels sejam extremamente pequenosextremamente pequenos
  • VoxelVoxel
  • VoxelVoxel Estruturas da cabeça e do cérebro ( ) í 1 0 f(ocultas) extraídas de 150 fatias
  • Decomposição CelularDecomposição Celular • Variedade de tipos de células básicas e um único operador de combinação “colar”p ç • Células individuais são geralmente criadas como instâncias parametrizadascriadas como instâncias parametrizadas de tipos de células • Células podem ser qualquer objeto que seja topologicamente equivalente a umaseja topologicamente equivalente a uma esfera (sem buracos)
  • FEMFEM
  • Subdivisão de EspaçoSubdivisão de Espaço •Inventado para superar o grande consumo de memória da enumeraçãoconsumo de memória da enumeração exaustiva •Esquema de subdivisão adaptativa baseado na grade tridimensional debaseado na grade tridimensional de uma enumeração exaustiva
  • Subdivisão de Espaço Representações por Células Di id b iõ• Dividem o espaço em sub-regiões convexas. • Exaustiva (Voxels): Cubos de tamanho igual O t C b j l d ã tê i d 2• Octrees: Cubos cujos lados são potências de 2 • BSP-trees: Poliedros convexos • À él l ã t ib íd l d• Às células são atribuídas valores de um campo escalar F(x, y, z). • Campo é assumido constante dentro de cada célula• Campo é assumido constante dentro de cada célula. • Sólido é definido como o conjunto de pontos tais que A < F(x y z) < B para valores A e Bque A < F(x, y, z) < B para valores A e B estipulados.
  • Quadtrees (2D) / Octrees (3D)Quadtrees (2D) / Octrees (3D) • Estruturas de dados (árvores) para decomposição hierárquica do planop ç q p (quadtrees) / espaço (octrees) • Podem ser usadas para guardar diferentes• Podem ser usadas para guardar diferentes tipos de dados, por ex. • Conjunto de pontos • Malhas poligonaisp g
  • QuadtreeQuadtree
  • QuadtreesQuadtrees d d d l• Todo nó representa um quadrado no plano. • Todo nó interno possui exatamente quatro filhos, os i t t d t d ó iquais representam os quatro quadrantes do nó pai: noroeste, nordeste, sudoeste e sudeste. • A subdivisão continua conforme algum critério de• A subdivisão continua conforme algum critério de parada. http://www.tecgraf.puc‐rio.br/~hermann/gc/
  • Quadtree Critério de ParadaQuadtree – Critério de Parada E l• Exemplo: 1. Começa com quadrado envolvendo todo o objeto, que em seguida é dividido em 4 quadrados menores. 2. Cada um é classificado em • Cheio: o quadrado está totalmente dentro do objeto • Vazio: o quadrado está totalmente fora do objetoq j • Cheio-Vazio: apenas parte do quadrado é ocupada pelo objeto 3. Para cada quadrado cheio-vazio, repetir os procedimentos 1 e 2. • O procedimento encerra quando só existirem quadrados cheios e• O procedimento encerra quando só existirem quadrados cheios e vazios Pinho, PUCRS
  • Quadtree ExemploQuadtree - Exemplo http://lcp lcad icmc usp br/~nonato/ED/Quadtree/quadtree htmhttp://lcp.lcad.icmc.usp.br/ nonato/ED/Quadtree/quadtree.htm
  • Quadtree Programa ExemploQuadtree – Programa Exemplo Autores: Patrícia Zottis e Rodrigo Fehse Alterações: Leonardo Langie ‐ PUCRS
  • OctreeOctree • Idêntica à Quadtree, mas considerando o espaço 3Dp ç • Cubo é dividido em 8 sub-cubos
  • OctreeOctree
  • OctreesOctrees
  • OctreesOctrees FlipCode.com
  • OctreesOctrees
  • Uso de Octrees e QuadtreesUso de Octrees e Quadtrees • Exemplos: • Frustum culling, detecção deg, ç colisão, operações de união e interseçãoç •Se pai (não) é importante, todos os filhos também (não)( ) são • Desvantagem: FlipCode.com Desvantagem: • Trabalhosas para manipularmanipular
  • BSP TreesBSP-Trees
  • Malhas de PolígonosMalhas de Polígonos d d l d d l• Construção de modelos 3D usando grupos de polígonos. • Como cada polígono é planar, necessita-se grande quantidade de polígonos para dar a impressão de superfícies curvasde polígonos para dar a impressão de superfícies curvas 1K polígonos10K polígonos www.gamesfaction.com
  • Mesh TesselationMesh Tesselation • Construção de malhas poligonais • A partir de representações abstratas http://www.cs.lth.se/Education/ Courses/EDA221/ • A partir de nuvens de pontos http://www.ticam.utexas.edu/CCV/ projects/VisualEyes/visualization/ geomod/cloud/cloud.html
  • Malhas de triângulosMalhas de triângulos l l d lh• Costuma-se usar triângulos como o polígono das malhas • O polígono é gerado com exatamente 3 vértices por face • Um vértice pode pertencer a qualquer número de faces• Um vértice pode pertencer a qualquer número de faces • Adjacência calculada em tempo constante • Triângulos são sempre planaresg p p Giambruno, 2003,
  • Alguns tipos de malhas de triângulosAlguns tipos de malhas de triângulos • O primeiro triangulo é desenhado com três vértices e os demais com• O primeiro triangulo é desenhado com três vértices, e os demais com apenas um. Strip • Muitos dos vértices são comuns a vários polígonos que o constituem. A i i ã d lí i t tilh t d Fan Assim, a organização dos polígonos com vista o compartilhamento dos vértices comuns traduz-se num envio e processamento únicos destes vértices [Möller 2003].
  • Problema GeralProblema Geral l f d f f• Quantos mais polígonos, menos facetada fica a superfície curva • Mais polígonos significa mais tempo de processamento!!!• Mais polígonos, significa mais tempo de processamento!!!
  • LOD Level of DetailLOD – Level of Detail À did à di â i d â d l• À medida que à distância da câmera a um modelo aumenta, o espaço por este ocupado na janela diminui e, conseqüentemente, o detalhe com que é visualizado também diminui. d f l b f• O LOD permite definir representações alternativas para um objeto gráfico, cada uma sendo ativada de acordo com a distância ao observador.
  • LODLOD • T d á i• Torna-se desnecessário e ineficiente definir o objeto com todo detalhe. O bj ti i i l é dobjetivo principal é o de utilizar diferentes representações de um d l l dmodelo, normalmente de resoluções distintas, que serão selecionadas de d dacordo com um critério de decisão pré-determinado. Um dos critérios de decisão mais utilizado é à distância do modelo à câmera.
  • Tipos de LODTipos de LOD • Discreto • A construção das diferentes representações doç p ç modelo é realizada numa fase de pré- processamento, sendo associada a cada umap , delas um intervalo de distâncias à câmera dentro do qual o nível de detalhe deve serq utilizado. • Durante a execução o algoritmo calcula aDurante a execução, o algoritmo calcula a distância da câmera ao objeto e avalia qual dos diferentes níveis de detalhe deve serdos diferentes níveis de detalhe deve ser utilizado.
  • Tipos de LODTipos de LOD • Contínuo • Os níveis de detalhe são gerados em tempo deg p execução. • View dependent LODView dependent LOD •Extensão de LOD contínuo usando posição do observador para definir o nível de detalhe.observador para definir o nível de detalhe.
  • Exemplo de LOD DiscretoExemplo de LOD Discreto • VRML: nó LOD
  • LODLOD • Exemplo de LOD • X3D
  • LOD ContínuoLOD Contínuo Vi d d t LODView dependent LOD
  • LOD ContínuoLOD Contínuo observador View dependent LOD
  • LOD Contínuo Visualização de Terrenos h // ll l /i / dd/i /i h l• http://www.llnl.gov/icc/sdd/img/images.shtml
  • Modelo de Arame (Wireframe)Modelo de Arame (Wireframe) • Representação de arestas (pontos + conexões entre pontos)p )
  • Modelo de Arame (Wireframe)Modelo de Arame (Wireframe)
  • Modelo de Arame (Wireframe)Modelo de Arame (Wireframe) • Vantagens • Simplicidade e velocidade na visualização dos modelos (geram- se apenas linhas)se apenas linhas) • Problemas • Dificuldade de realizar operações com sólidos (cálculo de massa,p ç ( , volume, determinação de inclusão, sem geração de caminho para ferramentas para NC...) • Representação ambígüa (sujeita a interpretações diferentes)• Representação ambígüa (sujeita a interpretações diferentes) As duas representações abaixo são válidas para  o modelo em wireframe abaixo Márcio Pinho, PUCRS
  • Modelo de Arame (Wireframe) Ambigüidade e Unicidade • Uma representação é única quando o modelo associado possui uma únicapossui uma única representação. • Uma representação é ambíguaUma representação é ambígua quando pode representar mais de um modelo. • Representação ambígua é catastrófica (wireframe). • Inviabiliza máquinas de controle numérico.
  • Modelos de SuperfícieModelos de Superfície d l d l d b d• Mais poderosos que simples modeladores baseados em wireframe por prover descrições matemáticas da forma das superfícies dos objetosdas superfícies dos objetos • Pode representar uma superfície fechada (volume) ou abertaaberta
  • Modelos de SuperfícieModelos de Superfície d• Armazena equações de superfícies M i i d t 3D• Maioria dos pacotes 3D usam modelagem de superfíciesuperfície • Boa para visualização de complexas superfícies ep p geração de caminho para NC de superfícies complexas • Informações sobre o l ã bi üvolume são ambigüas e difíceis de calcular
  • Modelos de SuperfícieModelos de Superfície f• Superfícies não estão adequadamente conectadasconectadas • Nenhuma informação de conectividade éconectividade é armazenada. • Propriedades de massap não fazem sentido
  • Modelos de SólidoModelos de Sólido • Sistemas que são capazes de realizar a modelagem sólida são muito maisg poderosos que simples modeladores baseados em wireframebaseados em wireframe. • Esses programas são usados para i bjconstruir componentes que são objetos sólidos, e não simplesmente uma malhap de linhas trançadas.
  • Modelo ConstrutivoModelo Construtivo R t j t d t bi ã d• Representa um conjunto de pontos como combinação de um conjunto de pontos de primitivas. • Cada uma das primitivas é representada como umaCada uma das primitivas é representada como uma instância de um tipo de sólido primitivo • Operações para combinar primitivasp p p • União • Interseção • Diferença• Diferença • Muito eficiente em termos de armazenamento • Visualização requer que curvas e superfícies individuaisVisualização requer que curvas e superfícies individuais sejam combinadas e avaliadas • Muito caro computacionalmente
  • Tipos de modelos construtivosTipos de modelos construtivos • Modelo Half-space Funções f(x,y,z) dividem o espaço em 2 metades (f<0 ou f>0 @( ))f>0 @(x,y,z)) Metades podem ser delimitadas (esfera) ou não delimitadas (cilindro infinito)delimitadas (cilindro infinito) • Modelo CSG(Constructive Solid Geometry) Usuário apenas interage com objetos sólidosUsuário apenas interage com objetos sólidos delimitados Computador modela sólidos delimitados como umap combinação de meios espaços (half-space) Quase todas modelagens construtivas usam CSG pois é i fá il á imais fácil para o usuário.
  • Modelo Half spaceModelo Half-space Cilindro Infinito Planos Cilindro FinitoCilindro Infinito Planos Cilindro Finito z < b x + y < r2 2 2 z > az > a Department of Mechanical Engineering, The Ohio State University
  • Modelo CSGModelo CSG • Operações CSG definem objetos através de operações regularizadas de conjuntos dep ç g j pontos. • União Interseção e Diferença• União, Interseção e Diferença. • Um objeto é regular se o fechamento do interior do seu conjunto de pontos é igual ao próprio conjunto de pontos.p p j p
  • Modelo CSGModelo CSG • Primitivas
  • Operações BooleanasOperações Booleanas União Interseção Diferença
  • Árvore CSGÁrvore CSG • Um modelo CSG é codificado por uma árvore. • Os nós internos contêm doperações de conjunto ou transformações lineares afimlineares afim. • Folhas contêm objetos primitivos (tipicamente,primitivos (tipicamente, quádricas).
  • Modelo CSGModelo CSG Á• Árvore CSG
  • Modelo CSGModelo CSG Á• Árvore CSG
  • Modelo CSGModelo CSG Á• Árvore CSG
  • Modelo CSGModelo CSG
  • Modelo CSGModelo CSG
  • Modelo CSGModelo CSG
  • Modelo CSGModelo CSG
  • Modelo de FronteiraModelo de Fronteira R t j t d t t d f t i• Representa um conjunto de pontos em termos de sua fronteira. • Fronteira de sólido : surperfícies • Fronteira de superfície : facesp • Fronteira de face : curva (ou aresta) • A maioria dos pacotes de modelagem de sólido usam a representação de fronteira (B-rep) para armazenar modelosrepresentação de fronteira (B rep) para armazenar modelos • Sólido é considerado como delimitado por um conjunto de faces • Faces tem uma representação matemática compacta l• Plano • Toróide • Cilíndro • Superfície paramétrica como uma superfície de Bezier
  • Modelo de FronteiraModelo de Fronteira aresta face vértice
  • Boundary Representation (B- Rep) • Define-se o modelo 3D a partir de conjunto de polígonos que delimitam uma região fechada no espaço • Esses polígonos são as faces do objeto 3D (poliedro)
  • Boundary Representation (B- Rep) R• Representações • 1 lista de vértices explícita: • 2 listas: lista de vértices e lista das topologias FACE: (x1, y1, z1)-(x2, y2, z2)- .... - (xn, yn, zn); p g das faces VÉRTICES: 1 (x1 y1 z1) FACES: 1 v1 v2 v3 vn1 - (x1, y1, z1) 2 - (x2, y2, z2) .... .... .... n - (xn yn zn) 1 - v1, v2, v3, ...., vn 2 - v3, v5, ..., vn .... .... .... n – vn v4 v1 • 3 listas: vértices, arestas e faces n - (xn, yn, zn) n vn, v4, ..., v1
  • Exemplo de 3 listasExemplo de 3 listas http://gbdi.icmc.usp.br/documentacao/ apostilas/cg/downloads/modpoliedrais pdfapostilas/cg/downloads/modpoliedrais.pdf
  • Grafo B RepGrafo B-Rep Topology Geometry
  • Modelos Híbridos de SólidoModelos Híbridos de Sólido O ét d d d l ólid CSG B• Os métodos de modelagem sólida CSG e B-rep são freqüentemente combinados para gerar modelos de componentesmodelos de componentes. • Cada um desses métodos possui suas limitações, e componentes de difícil criação fazendo uso dee componentes de difícil criação fazendo uso de um ou outro, podem ser gerados mais facilmente usando uma combinação de ambos osfacilmente usando uma combinação de ambos os métodos. • A maioria dos sistemas modeladores sólidoA maioria dos sistemas modeladores sólido comerciais são híbridos utilizando tanto o método CSG quanto o B-rep.q p
  • Modelos Híbridos de SólidoModelos Híbridos de Sólido Sólido B-Rep CSG Boundary Constructivey Representation: •Extrusão •Revolução Solid Geometry: •Usa primitivas sólidas (cilindro, cone, etc.) •Varredura •Mesclagem de perfis 2-D como building blocks •Construção de sólido combinando primitivas usando operadores Booleanos de união, interseção e diferença
  • Modelos Híbridos de SólidoModelos Híbridos de Sólido • M d l ólid ã h id• Modelos sólidos são conhecidos por serem representações completas, válidas, e não ambíguas de objetos. • Um sólido completo é aquele que permite um ponto no espaço ser classificado relativo ao objeto, se está dentro ou fora ou sobre o objeto.j • Essa classificação é chamada de endereçabilidade espacial ou classificação de pertinência a conjunto. • Um sólido válido não deve ter arestas ou faces• Um sólido válido não deve ter arestas ou faces penduradas, só assim permitirá análise de interferência, cálculos das propriedades de massa, modelagem e áli t t l d l t fi it CAPP hianálise estrutural de elementos finitos, CAPP, machine vision, e programação de NC.
  • Modelos Híbridos de Sólido Funções de Modelagem Sólida Dif i á i d• Diferentes maneiras que um usuário pode criar formas sólidas: • Criação de primitivas • Operações Booleanasp ç • Operações de revolução • Operações de superfícieOperações de superfície • Modelagem baseada em Features de EngenhariaEngenharia • Modelagem paramétrica
  • Criação de PrimitivasCriação de Primitivas P i iti ã f• Primitivas são formas sólidas simples com superfíciessuperfícies matemáticas simples • Pode ser controlada• Pode ser controlada por um número pequeno depequeno de parâmetros e posicionada usandop uma matriz de transformação
  • Operações BooleanasOperações Booleanas O õ B l• Operações Booleanas são usadas para fazer formas maisformas mais complicadas combinando formascombinando formas mais simples • 3 tipos de operações3 tipos de operações são possíveis: • União • Interseção • Diferença
  • Operações de RevoluçãoOperações de Revolução • Usa seções em wireframe 2D para l dgera sólido 3D • Inclui operaçõesp como: • Extrusão • Revolução • Varredura • Formar por Seções
  • Operações de SuperfícieOperações de Superfície O di t t• Opera diretamente nas superfícies, arestas e vértices doarestas e vértices do modelo sólido, para criar umacriar uma modificação desejada • Exemplos:Exemplos: • Chanfro • Arredondamentoedo da e to • Rascunho • Casca
  • Constructive Solid Geometry (CSG) • Objetos são construídos a partir das Primitivas Sólidas • Junção ou União • Corte ou Diferença • Interseção ou Material Comum
  • Constructive Solid Geometry (CSG)
  • Modelos Baseados em FeaturesModelos Baseados em Features U f d d fi id• Um feature pode se definido como um elemento físico de uma peça que tem l i ifi d h i lalgum significado para a engenharia. Ele deve satisfazer as seguintes condições: • ser um constituinte físico de uma peça; • ser mapeável para uma forma geométricap p g genérica; • ser tecnicamente significante, sob o ponto deg , p vista da engenharia; e • ter propriedades que podem ser previstas.p p q p p
  • Modelos Baseados em FeaturesModelos Baseados em Features • O significado técnico de feature pode envolver a função à qual um feature serve,ç q f como ele pode ser produzido, que ações a sua presença deve iniciar etcsua presença deve iniciar, etc. • Features podem ser pensados como ' i i i d h i ' l'primitivas de engenharia' relevantes a alguma tarefa de engenharia.g g
  • Modelos Baseados em FeaturesModelos Baseados em Features O ét d it i f h f• O método permite criar furos, chanfros, rasgos, etc, para serem associados com outras entidades ou faces.ou faces. • A modelagem por features é baseada na idéia de se desenhar utilizando building blocks - blocos deg construção. • Ao invés de se usar formas analíticas como l l í d ili d fparalelepípedos, cilindros, esferas e cones como primitivos, o usuário cria modelo do produto usando primitivos de maior nível que são maisusando primitivos de maior nível que são mais relevantes para sua aplicação específica.
  • Modelos Baseados em FeaturesModelos Baseados em Features O j t fi d f t f id l t i• O conjunto fixo de features oferecido pelos atuais modeladores ainda é muito limitada para uso industrial, o que limita as possibilidades doindustrial, o que limita as possibilidades do projetista. • Os features devem ser adaptáveis aos usuários ef p que a biblioteca de features deve ser extensível.
  • Modelos Baseados em FeaturesModelos Baseados em Features • Exemplos • Furo • Slot • Cubo• Cubo • Chanfro • Rasgo
  • Modelos ParamétricosModelos Paramétricos • A modelagem sólida paramétrica permite que se crie modelos de produtos comq p dimensões variacionais. • Ligações bidirecionais entre o modelo e o• Ligações bidirecionais entre o modelo e o esquema de dimensionamento permite a i d d lregeneração automática de modelos depois de mudanças nas dimensões ep atualização automática das dimensões relacionadas.relacionadas.
  • Modelos ParamétricosModelos Paramétricos • Parâmetros vêm de: • dimensões em esboços 2Dç • dimensões em geometria 3D (sistemas avançados)avançados) • parâmetros de operação de modelagem iá i õ d á i• variáveis em equações do usuário • A geometria inteira da parte pode serg p p controlada por um pequeno número de parâmetros chave!parâmetros chave!
  • Modelos ParamétricosModelos Paramétricos Modelagem Paramétrica Modelagem Dirigida à Dimensão Modelagem Baseada em Restrições Usa parâmetros para especificar Usa restrições geométricas tais dimensões de entidades como paralelismo, concentricidade, tetc.
  • Modelos Non manifoldModelos Non-manifold • Transferência de calor de uma parte tocando outra: faces tocantes • Propagação de rachadura: elementos 1D e 2D dentro de uma parte sólidap • Material híbrido: painel sanduíche • 2 tipos de modeladores non-manifold;• 2 tipos de modeladores non-manifold; • Inclui entidades de dimensões mais baixas em uma estrutura de dados de modelo sólidoestrutura de dados de modelo sólido • Concentra em modelos compostos => modelo celular Soonh ng Han KaistSoonhung Han, Kaist
  • Estrutura de dados Non manifoldEstrutura de dados Non-manifold
  • Modelo Non manifoldModelo Non-manifold A B
  • CodificaçãoCodificação • Explícita. • Ponteiros para lista de vértices.Ponteiros para lista de vértices. • Ponteiros para lista de arestas. • Winged-Edge (Half-Edge, Face-Edge). • Quad-Edge (Guibas-Stolfi)Quad Edge (Guibas Stolfi). • Radial-Edge.
  • Codificação ExplícitaCodificação Explícita • A mais simples. • Cada face armazena explicitamente a listap ordenada das coordenadas dos seus vértices: { })()()( • Muita redundância de informação { }),,(),...,,,(),,,( 222111 nnn zyxzyxzyxP = • Muita redundância de informação. • Consultas são complicadas. • Obriga a execução de algoritmos geométricos para determinar adjacências.
  • Desenho da MalhaDesenho da Malha C d t é• Cada aresta é desenhada duas vezes pelos duasvezes, pelos duas faces que a compartilhamcompartilham. • Não é bom para plotadoras ou filmesplotadoras ou filmes.
  • Ponteiros para Lista de VérticesPonteiros para Lista de Vértices • Vértices são armazenados separadamente. • Há uma lista de vértices.Há uma lista de vértices. • Faces referenciam seus vértices através de iponteiros. • Proporciona maior economia de memória.p • Achar adjacências ainda é complicado. d d h d d• Arestas ainda são desenhadas duas vezes.
  • ExemploExemplo
  • Ponteiros para Lista de ArestasPonteiros para Lista de Arestas Há bé li d• Há também uma lista de arestas. • Faces referenciam as suas arestas através de ponteiros. • Arestas são desenhadas percorrendo-se aArestas são desenhadas percorrendo se a lista de arestas. • Introduzem se referências para as duas• Introduzem-se referências para as duas faces que compartilham uma aresta. F ili d i d d f• Facilita a determinação das duas faces incidentes na aresta.
  • ExemploExemplo
  • Winged EdgeWinged-Edge
  • Winged EdgeWinged-Edge • Criada em 1974 por Baumgart. • Foi um marco na representação por fronteira.p p • Armazena informação na estrutura associada às arestas (número de campos é fixo).a estas ( ú e o de ca pos é xo). • Todos os 9 tipos de adjacência entre vértices, arestas e faces são determinados em tempoarestas e faces são determinados em tempo constante. • Atualizada com o uso de operadores de Euler• Atualizada com o uso de operadores de Euler, que garantem: V – A + F = 2.
  • 9 tipos de Relacionamentos de Adjacência
  • Face EdgeFace-Edge
  • Radial EdgeRadial-Edge • Criada em 1986 por Weiler. • Representa objetos non-manifold.p j f • Armazena a lista ordenada de faces incidentes em uma aresta.u a a esta. • Muito mais complicada que a Winged-Edge.
  • Radial EdgeRadial-Edge
  • Prós e Contras de RepresentaçõesPrós e Contras de Representações • N CSG d f il t bj t ã• Na CSG pode-se facilmente assegurar que objetos são “sólidos” se todas as formas primitivas forem sólidas. Isso pode ser importante para algumas aplicações de engenharia f tou manufatura. • Por comparação, ao criar representações baseadas em B-rep, dados topológicos adicionais são necessários, ou checagensp g , g de consistência devem ser realizadas para assegurar que a dada descrição de fronteira especifica um objeto sólido válido. • Porém é fácil determinar, dado um ponto, se ele está no interior, fronteira ou exterior do objeto. O õ b l ã b d CSG• Operações booleanas são a base do CSG. • Boa para detecção de colisão (collision detection)
  • Prós e Contras de RepresentaçõesPrós e Contras de Representações N B i t õ tã t d• Numa B-rep as interseções estão representadas explicitamente e é mais fácil exibir um ponto sobre a superfície do objeto.a superfície do objeto. • Porém é difícil determinar, dado um ponto, se ele está no interior, fronteira ou exterior do objeto.j • Operações booleanas são complicadas. • Mais flexível e tem um conjunto mais rico dej operações. • Escolha mais apropriada para sistemas CAD – CSG f i d i i i l t it i tfoi usado inicialmente por muitos sistemas comerciais pois é mais fácil de se implementar.
  • Prós e Contras de RepresentaçõesPrós e Contras de Representações E d i /• Em representações por decomposição / células a classificação de um ponto é d b d l l d limediata, bastando avaliar o sinal do valor do campo no ponto. • Exibir um ponto sobre a superfície do objeto requer a solução de uma equação,j q ç q ç , que pode ser complicada. • Operações booleanas são avaliadas• Operações booleanas são avaliadas facilmente.
  • Conversão entre RepresentaçõesConversão entre Representações C CSG B é d i d• Conversão CSG → B-rep é denominada avaliação do fronteira. • Conversão B-rep → CSG é muito mais complicada.p • Conversão B-rep → Células é simples. • Conversão Células → B rep é• Conversão Células → B-rep é relativamente simples (marching cubes). • Conversão CSG → Células é simples. • Conversão Células → CSG é complicado.p