[1] A modelagem trata da representação de objetos tridimensionais por meio de estruturas de dados matemáticas.
[2] Existem dois principais paradigmas de modelagem: modelagem por fronteira (B-rep) e modelagem construtiva (CSG), além de representações híbridas.
[3] As representações por decomposição, como octrees e quadtrees, dividem o espaço em células para representar objetos, enquanto as representações por fronteira e construtiva descrevem objetos por suas propriedades geométricas
2. 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
4. 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.
7. 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.
8. 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.
9. 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
10. Geometria pode Ser ComplicadaGeometria pode Ser Complicada
Garrafa de Klein
(não orientável)Nó
12. 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
13. 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.
14. 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.
15. 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.
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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)
25. 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.)
26. 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”
27. 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
28. 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
31. 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)
33. 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
34. 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.
35. 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
37. 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/
38. 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
46. 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
48. 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
49. 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
50. 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,
51. 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].
52. 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!!!
53. 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.
54. 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.
55. 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.
56. 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.
57. Exemplo de LOD DiscretoExemplo de LOD Discreto
• VRML: nó LOD
64. 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
65. 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.
66. 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
67. 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
68. 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
69. 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.
70. 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
71. 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.
72. 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
73. 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
76. Á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).
84. 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
86. 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)
87. 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
88. Exemplo de 3 listasExemplo de 3 listas
http://gbdi.icmc.usp.br/documentacao/
apostilas/cg/downloads/modpoliedrais pdfapostilas/cg/downloads/modpoliedrais.pdf
90. 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
91. 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
92. 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.
93. 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
94. 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
95. 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
96. 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
97. 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
98. 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
100. 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
101. 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
102. 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.
103. 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.
104. Modelos Baseados em FeaturesModelos Baseados em Features
• Exemplos
• Furo
• Slot
• Cubo• Cubo
• Chanfro
• Rasgo
105. 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.
106. 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!
107. 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.
108. 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
111. 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.
112. 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.
113. 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.
114. 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.
116. 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.
119. 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.
122. 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.
124. 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)
125. 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.
126. 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.
127. 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