06 modelagem

127
Modelagem Frederico Damasceno Bortoloti Adaptado de: Donghoon Yang Donghoon Yang Anselmo Montenegro Claudio Esperança Paulo Roma Cavalcanti

Transcript of 06 modelagem

Page 1: 06   modelagem

Modelagem

Frederico Damasceno BortolotiAdaptado de:Donghoon YangDonghoon YangAnselmo MontenegroClaudio EsperançaPaulo Roma Cavalcanti

Page 2: 06   modelagem

Computação Gráfica e Áreas Correlatasprocessamento de imagens

Imagem digital

computaçãocomputaçãográfica(síntese deimagens)

visãocomputacional

Modelos

imagens)

modelagem geométrica

Page 3: 06   modelagem

Estrutura de aplicação gráficainterativa tradicional

Page 4: 06   modelagem

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 em Internamente (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.

Page 5: 06   modelagem

Espaços de CoordenadasEspaços de Coordenadas

• Plano ou R² (2D)

Page 6: 06   modelagem

Espaços de CoordenadasEspaços de Coordenadas

• Espaço ou R³ (3D)

Page 7: 06   modelagem

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.

Page 8: 06   modelagem

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.

Page 9: 06   modelagem

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

Page 10: 06   modelagem

Geometria pode Ser ComplicadaGeometria pode Ser Complicada

Garrafa de Klein (não orientável)Nó

Page 11: 06   modelagem

Toro x Garrafa de KleinToro x Garrafa de Klein

Page 12: 06   modelagem

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

Page 13: 06   modelagem

HistóricoHistórico

• Modelagem por arames (wireframes).• Representa os objetos por arestas e pontos p 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.

Page 14: 06   modelagem

HistóricoHistórico

• Modelagem de Sólidos (década de 70).• Implícita ou explicitamente contém p 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.

Page 15: 06   modelagem

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 de internas 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.

Page 16: 06   modelagem

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

Page 17: 06   modelagem

SólidoSólidod• 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

Page 18: 06   modelagem

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 descritosP f t i• Por suas fronteiras

• Por campos escalares• Definidos por equações• Amostrados

Page 19: 06   modelagem

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

Page 20: 06   modelagem

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çãoC i i d • Concisão: requerimento de armazenamento

• Facilidade computacional e aplicabilidade: requerimentos de poder computacionalq p p

Soonhung Han, Kaist

Page 21: 06   modelagem

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áticas eque 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

Page 22: 06   modelagem

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 outro p 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

Page 23: 06   modelagem

Propriedades matemáticas requeridas

• Descrição finita• Quantidade finita de dados deve ser apta a Q p

descrever conjuntos de pontos usados em modelos sólidos

• Determinismo de fronteiraF t i d ólid d d fi i ólid • Fronteira de um sólido deve definir o sólido desambigüamente

Page 24: 06   modelagem

Tipos de modelos sólidosTipos de modelos sólidosM 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)

Page 25: 06   modelagem

Representação de SólidosRepresentação de Sólidos

• As duas formas, de descrever conjuntos de pontos, dão origem a três tipos de p g prepresentaçã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.)

Page 26: 06   modelagem

Modelo de DecomposiçãoModelo de Decomposição

• Representa um conjunto de pontos como uma coleção de objetos simples a partir de ç j p puma coleção fixa de tipos de objetos primitivos combinada com uma única primitivos, combinada com uma única operação de “colagem”

Page 27: 06   modelagem

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 blocoV 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

Page 28: 06   modelagem

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

Page 29: 06   modelagem

VoxelVoxel

Page 30: 06   modelagem

VoxelVoxel

Estruturas da cabeça e do cérebro ( ) í 1 0 f(ocultas) extraídas de 150 fatias

Page 31: 06   modelagem

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 parametrizadas criadas como instâncias parametrizadas de tipos de células

• Células podem ser qualquer objeto que seja topologicamente equivalente a uma seja topologicamente equivalente a uma esfera (sem buracos)

Page 32: 06   modelagem

FEMFEM

Page 33: 06   modelagem

Subdivisão de EspaçoSubdivisão de Espaço

• Inventado para superar o grande consumo de memória da enumeração consumo de memória da enumeração exaustiva

• Esquema de subdivisão adaptativa baseado na grade tridimensional de baseado na grade tridimensional de uma enumeração exaustiva

Page 34: 06   modelagem

Subdivisão de EspaçoRepresentaçõ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 Bestipulados.

Page 35: 06   modelagem

Quadtrees (2D) / Octrees (3D)Quadtrees (2D) / Octrees (3D)

• Estruturas de dados (árvores) para decomposição hierárquica do plano p ç 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

Page 36: 06   modelagem

QuadtreeQuadtree

Page 37: 06   modelagem

QuadtreesQuadtreesd d d l• Todo nó representa um quadrado no plano.

• Todo nó interno possui exatamente quatro filhos, os i t t d t d ó i quais 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/

Page 38: 06   modelagem

Quadtree Critério de ParadaQuadtree – Critério de ParadaE 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

Page 39: 06   modelagem

Quadtree ExemploQuadtree - Exemplo

http://lcp lcad icmc usp br/~nonato/ED/Quadtree/quadtree htmhttp://lcp.lcad.icmc.usp.br/ nonato/ED/Quadtree/quadtree.htm

Page 40: 06   modelagem

Quadtree Programa ExemploQuadtree – Programa Exemplo

Autores: Patrícia Zottis e Rodrigo FehseAlterações: Leonardo Langie ‐ PUCRS

Page 41: 06   modelagem

OctreeOctree

• Idêntica à Quadtree, mas considerando o espaço 3Dp ç• Cubo é dividido em 8 sub-cubos

Page 42: 06   modelagem

OctreeOctree

Page 43: 06   modelagem

OctreesOctrees

Page 44: 06   modelagem

OctreesOctrees

FlipCode.com

Page 45: 06   modelagem

OctreesOctrees

Page 46: 06   modelagem

Uso de Octrees e QuadtreesUso de Octrees e Quadtrees

• Exemplos:• Frustum culling, detecção de g, ç

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.comDesvantagem:• Trabalhosas para

manipularmanipular

Page 47: 06   modelagem

BSP TreesBSP-Trees

Page 48: 06   modelagem

Malhas de PolígonosMalhas de Polígonosd 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

Page 49: 06   modelagem

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 pontoshttp://www.ticam.utexas.edu/CCV/projects/VisualEyes/visualization/geomod/cloud/cloud.html

Page 50: 06   modelagem

Malhas de triângulosMalhas de triângulosl 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,

Page 51: 06   modelagem

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].

Page 52: 06   modelagem

Problema GeralProblema Gerall 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!!!

Page 53: 06   modelagem

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.

Page 54: 06   modelagem

LODLOD• T d á i • Torna-se desnecessário e

ineficiente definir o objeto com todo detalhe. O

bj ti i i l é d objetivo principal é o de utilizar diferentes representações de um

d l l d modelo, 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.

Page 55: 06   modelagem

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 uma p ,delas um intervalo de distâncias à câmera dentro do qual o nível de detalhe deve ser qutilizado.

• Durante a execução o algoritmo calcula a Durante a execução, o algoritmo calcula a distância da câmera ao objeto e avalia qual dos diferentes níveis de detalhe deve ser dos diferentes níveis de detalhe deve ser utilizado.

Page 56: 06   modelagem

Tipos de LODTipos de LOD

• Contínuo• Os níveis de detalhe são gerados em tempo de g 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.

Page 57: 06   modelagem

Exemplo de LOD DiscretoExemplo de LOD Discreto

• VRML: nó LOD

Page 58: 06   modelagem

LODLOD

• Exemplo de LOD• X3D

Page 59: 06   modelagem

LOD ContínuoLOD Contínuo

Vi d d t LODView dependent LOD

Page 60: 06   modelagem

LOD ContínuoLOD Contínuo

observador

View dependent LOD

Page 61: 06   modelagem

LOD ContínuoVisualização de Terrenos

h // ll l /i / dd/i /i h l• http://www.llnl.gov/icc/sdd/img/images.shtml

Page 62: 06   modelagem

Modelo de Arame (Wireframe)Modelo de Arame (Wireframe)

• Representação de arestas (pontos + conexões entre pontos)p )

Page 63: 06   modelagem

Modelo de Arame (Wireframe)Modelo de Arame (Wireframe)

Page 64: 06   modelagem

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

Page 65: 06   modelagem

Modelo de Arame (Wireframe) Ambigüidade e Unicidade

• Uma representação é única quando o modelo associado possui uma única possui uma única representação.

• Uma representação é ambígua Uma 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.

Page 66: 06   modelagem

Modelos de SuperfícieModelos de Superfícied 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

Page 67: 06   modelagem

Modelos de SuperfícieModelos de Superfícied• Armazena equações de

superfíciesM i i d t 3D • Maioria dos pacotes 3D usam modelagem de superfíciesuperfície

• Boa para visualização de complexas superfícies e p pgeraçã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

Page 68: 06   modelagem

Modelos de SuperfícieModelos de Superfícief• Superfícies não estão

adequadamente conectadasconectadas

• Nenhuma informação de conectividade é conectividade é armazenada.

• Propriedades de massa pnão fazem sentido

Page 69: 06   modelagem

Modelos de SólidoModelos de Sólido

• Sistemas que são capazes de realizar a modelagem sólida são muito mais gpoderosos que simples modeladores baseados em wireframe baseados em wireframe.

• Esses programas são usados para i bj construir componentes que são objetos

sólidos, e não simplesmente uma malha pde linhas trançadas.

Page 70: 06   modelagem

Modelo ConstrutivoModelo ConstrutivoR 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 uma Cada 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 individuais Visualização requer que curvas e superfícies individuais

sejam combinadas e avaliadas• Muito caro computacionalmente

Page 71: 06   modelagem

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ólidos Usuário apenas interage com objetos sólidos

delimitadosComputador modela sólidos delimitados como uma p

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.

Page 72: 06   modelagem

Modelo Half spaceModelo Half-spaceCilindro 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

Page 73: 06   modelagem

Modelo CSGModelo CSG

• Operações CSG definem objetos através de operações regularizadas de conjuntos de p ç g jpontos.• 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

Page 74: 06   modelagem

Modelo CSGModelo CSG

• Primitivas

Page 75: 06   modelagem

Operações BooleanasOperações Booleanas

União Interseção Diferença

Page 76: 06   modelagem

Á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).

Page 77: 06   modelagem

Modelo CSGModelo CSG

Á• Árvore CSG

Page 78: 06   modelagem

Modelo CSGModelo CSG

Á• Árvore CSG

Page 79: 06   modelagem

Modelo CSGModelo CSG

Á• Árvore CSG

Page 80: 06   modelagem

Modelo CSGModelo CSG

Page 81: 06   modelagem

Modelo CSGModelo CSG

Page 82: 06   modelagem

Modelo CSGModelo CSG

Page 83: 06   modelagem

Modelo CSGModelo CSG

Page 84: 06   modelagem

Modelo de FronteiraModelo de FronteiraR 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

Page 85: 06   modelagem

Modelo de FronteiraModelo de Fronteira

arestaface

vértice

Page 86: 06   modelagem

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)

Page 87: 06   modelagem

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 gdas facesVÉ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, ...., vn2 - v3, v5, ..., vn.... .... ....n – vn v4 v1

• 3 listas: vértices, arestas e facesn - (xn, yn, zn) n vn, v4, ..., v1

Page 88: 06   modelagem

Exemplo de 3 listasExemplo de 3 listas

http://gbdi.icmc.usp.br/documentacao/apostilas/cg/downloads/modpoliedrais pdfapostilas/cg/downloads/modpoliedrais.pdf

Page 89: 06   modelagem

Grafo B RepGrafo B-Rep

Topology

Geometry

Page 90: 06   modelagem

Modelos Híbridos de SólidoModelos Híbridos de SólidoO ét d d d l ólid CSG B• Os métodos de modelagem sólida CSG e B-repsão freqüentemente combinados para gerar modelos de componentes modelos de componentes.

• Cada um desses métodos possui suas limitações, e componentes de difícil criação fazendo uso de e componentes de difícil criação fazendo uso de um ou outro, podem ser gerados mais facilmente usando uma combinação de ambos os facilmente usando uma combinação de ambos os métodos.

• A maioria dos sistemas modeladores sólido A maioria dos sistemas modeladores sólido comerciais são híbridos utilizando tanto o método CSG quanto o B-rep. q p

Page 91: 06   modelagem

Modelos Híbridos de SólidoModelos Híbridos de SólidoSólido

B-Rep CSG

Boundary ConstructiveyRepresentation:•Extrusão•Revolução

Solid Geometry:•Usa primitivas sólidas(cilindro, cone, etc.)

•Varredura•Mesclagemde perfis 2-D

como building blocks•Construção de sólido combinando primitivas usando operadores Booleanos de união, interseção e diferença

Page 92: 06   modelagem

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 hi análise estrutural de elementos finitos, CAPP, machine vision, e programação de NC.

Page 93: 06   modelagem

Modelos Híbridos de SólidoFunçõ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

Page 94: 06   modelagem

Criação de PrimitivasCriação de PrimitivasP i iti ã f • Primitivas são formas sólidas simples com superfícies superfícies matemáticas simples

• Pode ser controlada • Pode ser controlada por um número pequeno de pequeno de parâmetros e posicionada usando puma matriz de transformação

Page 95: 06   modelagem

Operações BooleanasOperações BooleanasO õ B l • Operações Booleanas são usadas para fazer formas mais formas mais complicadas combinando formas combinando formas mais simples

• 3 tipos de operações 3 tipos de operações são possíveis:• União• Interseção• Diferença

Page 96: 06   modelagem

Operações de RevoluçãoOperações de Revolução• Usa seções em

wireframe 2D para l dgera sólido 3D

• Inclui operações pcomo:• Extrusão• Revolução• Varredura• Formar por Seções

Page 97: 06   modelagem

Operações de SuperfícieOperações de SuperfícieO di t t • Opera diretamente nas superfícies, arestas e vértices do arestas e vértices do modelo sólido, para criar uma criar uma modificação desejada

• Exemplos:Exemplos:• Chanfro• Arredondamentoedo da e to• Rascunho• Casca

Page 98: 06   modelagem

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

Page 99: 06   modelagem

Constructive Solid Geometry(CSG)

Page 100: 06   modelagem

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étrica p p g

genérica; • ser tecnicamente significante, sob o ponto de g , p

vista da engenharia; e • ter propriedades que podem ser previstas. p p q p p

Page 101: 06   modelagem

Modelos Baseados em FeaturesModelos Baseados em Features

• O significado técnico de feature pode envolver a função à qual um feature serve, ç q fcomo ele pode ser produzido, que ações a sua presença deve iniciar etc sua 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

Page 102: 06   modelagem

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 de gconstrução.

• Ao invés de se usar formas analíticas como l l í d ili d f paralelepípedos, cilindros, esferas e cones como

primitivos, o usuário cria modelo do produto usando primitivos de maior nível que são mais usando primitivos de maior nível que são mais relevantes para sua aplicação específica.

Page 103: 06   modelagem

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 do industrial, o que limita as possibilidades do projetista.

• Os features devem ser adaptáveis aos usuários e f pque a biblioteca de features deve ser extensível.

Page 104: 06   modelagem

Modelos Baseados em FeaturesModelos Baseados em Features

• Exemplos• Furo• Slot• Cubo• Cubo• Chanfro• Rasgo

Page 105: 06   modelagem

Modelos ParamétricosModelos Paramétricos

• A modelagem sólida paramétrica permite que se crie modelos de produtos com q pdimensõ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 l regeneração automática de modelos depois de mudanças nas dimensões e patualização automática das dimensões relacionadas. relacionadas.

Page 106: 06   modelagem

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 ser g p p

controlada por um pequeno número de parâmetros chave!parâmetros chave!

Page 107: 06   modelagem

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.

Page 108: 06   modelagem

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 celularSoonh ng Han KaistSoonhung Han, Kaist

Page 109: 06   modelagem

Estrutura de dados Non manifoldEstrutura de dados Non-manifold

Page 110: 06   modelagem

Modelo Non manifoldModelo Non-manifold

A B

Page 111: 06   modelagem

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.

Page 112: 06   modelagem

Codificação ExplícitaCodificação Explícita• A mais simples.• Cada face armazena explicitamente a lista p

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.

Page 113: 06   modelagem

Desenho da MalhaDesenho da MalhaC d t é • Cada aresta é desenhada duas vezes pelos duas vezes, pelos duas faces que a compartilhamcompartilham.

• Não é bom para plotadoras ou filmesplotadoras ou filmes.

Page 114: 06   modelagem

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.

Page 115: 06   modelagem

ExemploExemplo

Page 116: 06   modelagem

Ponteiros para Lista de ArestasPonteiros para Lista de ArestasHá 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 a Arestas 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.

Page 117: 06   modelagem

ExemploExemplo

Page 118: 06   modelagem

Winged EdgeWinged-Edge

Page 119: 06   modelagem

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 tempo arestas 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.

Page 120: 06   modelagem

9 tipos de Relacionamentos de Adjacência

Page 121: 06   modelagem

Face EdgeFace-Edge

Page 122: 06   modelagem

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.

Page 123: 06   modelagem

Radial EdgeRadial-Edge

Page 124: 06   modelagem

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 checagens p g , gde 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)

Page 125: 06   modelagem

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 de j

operações. • Escolha mais apropriada para sistemas CAD – CSG

f i d i i i l t it i t foi usado inicialmente por muitos sistemas comerciais pois é mais fácil de se implementar.

Page 126: 06   modelagem

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.

Page 127: 06   modelagem

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