06 modelagem

Post on 05-Jul-2015

281 views 0 download

Transcript of 06 modelagem

Modelagem

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

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

Estrutura de aplicação gráficainterativa 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 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.

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

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.

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.

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

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

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çãoC 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á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

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

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

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)

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

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”

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

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

FEMFEM

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

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.

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

QuadtreeQuadtree

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/

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

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 FehseAlteraçõ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 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

BSP TreesBSP-Trees

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

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

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,

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

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

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.

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.

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ínuoVisualizaçã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 ú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.

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

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

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

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.

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

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.

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

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

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

Modelo de FronteiraModelo de Fronteira

arestaface

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

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

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

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.

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

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

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

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

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

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

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

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.

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.

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

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!

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

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.

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

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

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

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.

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