Modelagem

Transcrição

Modelagem
Modelagem
Frederico Damasceno Bortoloti
Adaptado de:
Donghoon Yang
Anselmo Montenegro
Claudio Esperança
Paulo Roma Cavalcanti
Computação Gráfica e Áreas
Correlatas
processamento de imagens
Imagem digital
computação
gráfica
(síntese de
imagens)
visão
computacional
Modelos
modelagem geométrica
Estrutura de aplicação gráfica
interativa tradicional
Modelagem vs
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
estrutura de dados residente em memória
• Visualização:
ç
• Interessada na visualização (display) da cena a partir
(posição
ç do observador))
de uma dada câmera (p
• A princípio, são conceitos independentes.
Espaços de Coordenadas
• Plano ou R² (2D)
Espaços de Coordenadas
• Espaço ou R³ (3D)
Paradigmas de Abstração
• A necessidade de paradigmas (Ari Requicha).
• Paradigma dos universos.
universos
•
•
•
•
Físico F.
Matemático M.
M
Representação R.
Implementação I.
I
Problemas da Área
• Estudar fenômenos em F.
• Definir os modelos.
• Estudar as relações entre R e M.
• Definir representações de modelos em M.
• Estudar conversões entre representações.
representações
• Definir métodos de implementação.
• Comparar estratégias em I.
Esquemas 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 Complicada
Nó
Garrafa de Klein
(não orientável)
Toro x Garrafa de Klein
Superfícies Não Orientáveis
• F
Faixa
i d
de Möbius
Möbi só
ó tem
t
um lado
l d e uma borda.
b d
• Superfície Romana é obtida costurando-se uma faixa de
Möbius à borda de um disco ((representação
p
ç de RP2 no R3)).
Superfície Romana
Faixa de Möbius
Histórico
• Modelagem por arames (wireframes).
• Representa
p
os objetos
j
por
p arestas e p
pontos
sobre a sua superfície.
ambíguos
• Gera 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órico
• Modelagem de Sólidos (década de 70).
• Implícita
p
ou explicitamente
p
contém
informações do fechamento e conectividade
dos objetos.
j
• Garante a realização física.
• Sistemas CAD-CAM
CAD CAM utilizados pela indústria.
indústria
Estado 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
dimensão inferior.
• Sólido delimitado por superfícies não
necessariamente planas localmente.
• Ex.:
E ACIS (Spatial
(S ti l T
Technology)
h l
) – AutoCad.
A t C d
Histórico
• Início dos anos 70
• Ian Braid : Ph.D. thesis at the University of Cambridge in England
introduced the BUILD system
• ROMULUS,
ROMULUS Parasolid,
Parasolid ACIS
• the Compac system : U of Berlin, Germany
• Proren : U of Ruhr, Germany
• Brun’s
B
’ Euclid
E lid system : France
F
• Engeli’s Euklid system : Switzerland
• TIPS-1 : Hokkaido University, Japan
• GeoMap : University of Tokyo, Japan
• Shapes : Draper Labs, US
• Synthavision
y
system
y
: US
• GLIDE : Chuck Eastman, Carnegie-Mellon, Architectural
application and database
y of Rochester
• PADL : University
Aristides A. G. Requicha, GEOMETRIC MODELING: A First Course
Sólido
• Adjetivo
d
•
•
•
•
•
Não macio
Não oco
Não adulterado ou não misturado
ç forte e segura
g
De construção
…
• Substantivo
• Algo sólido
• Uma figura geométrica tridimensional de um objeto
• Uma
U
substância
b â i que resiste
i a stress moderado
d d e deformação,
d f
diferente de um líquido ou gás…
Encarta Dictionary
Descrição de Sólidos
• Assuma-se que um sólido é um conjunto
p
tridimensional de pontos.
• Conjuntos de pontos podem ser descritos
• P
Por suas fronteiras
f
t i
• Por campos escalares
• Definidos por equações
• Amostrados
Objetivos da Modelagem de
Sólidos
• Problemas
bl
d
de modelos
d l gráficos:
f
f l de
falta
d robustez,
b
imcompletude, aplicabilidade limitada.
• Completa
C
l t representação
t ã d
de objetos
bj t sólidos
ólid que são
ã
adequados para responder a quaisquer questões
geométricas (de robôs) sem ajuda do usuário humano.
humano
• Duas maiores questões; integridade e complexidade
Soonh ng Han
Soonhung
Han, Kaist
Propriedades da modelagem de
sólidos
• Poder
P d expressivo;
i
• Validade: manufacturabilidade;
• Desambigüidade e unicidade;
• Languagens de Descrição: operações para
construção
• Concisão:
C
i
requerimento
i
d
de
armazenamento
• Facilidade computacional e aplicabilidade:
q
de p
poder computacional
p
requerimentos
Soonhung Han, Kaist
Modelo sólido
• Criação apenas de representações completas de
objetos sólidos
• Representações desambígüas para sólidos
eque
e tos para
pa a p
propriedades
op edades matemáticas
ate át cas
• Requerimentos
para um modelo sólido
•
•
•
•
•
•
Rigidez
Finitude
Solidez
Fechamento sob operação Booleana
Descrição finita
Determinismo de Fronteira
Propriedades matemáticas
requeridas
• Rigidez
d
• Distância e ângulo fixos no espaço Euclidiano
• Preservação de distâncias e ângulos
• Finitude
• Extensões finitas de objetos físicos
• Solidez
• Se
Sem faces
aces ou aarestas
estas pe
penduradas
du adas
• Fechamento sob operação Booleana
• Operações
p
Booleanas aplicadas
p
a sólidos devem p
produzir outro
sólido
• Resultado de operação Booleana pode ser usado como entrada
para 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
Q
finita de dados deve ser apta
p a
descrever conjuntos de pontos usados em
modelos sólidos
• Determinismo de fronteira
• F
Fronteira
t i d
de um sólido
ólid deve
d
definir
d fi i o sólido
ólid
desambigüamente
Tipos de modelos sólidos
•
•
•
•
Modelos
M
d l d
de Decomposição
D
i ã (BSP-trees,
(BSP t
O t
Octrees,
etc.)
t )
Modelos de Arame (Wireframe)
Modelos de Superfície (Surface Modeling)
Modelos de Sólido (Solid Modeling)
•
•
•
•
•
Modelos Construtivos (CSG – Constructive Solid Geometry)
Modelos de Fronteira (B-rep – Boundary Representation)
Modelos Híbridos (CSG e B-rep)
M d l Baseados
Modelos
B
d em Features
F
(F
(Feature-Based
B d Modeling)
M d li )
Modelos de Dimensão Mista (Non manifold)
Representação de Sólidos
• As duas formas, de descrever conjuntos de
pontos, dão origem
p
g
a três tipos
p de
representação:
• Por bordo (B-rep – Boundary Representation)
• Implícita (CSG – Constructive Solid
G
Geometry)
t )
• Por enumeração do espaço em células (BSPtrees, Octrees, etc.))
Modelo de Decomposição
• Representa um conjunto de pontos como
ç de objetos
j
simples
p a partir
p
de
uma coleção
uma coleção fixa de tipos de objetos
primitivos combinada com uma única
primitivos,
operação de “colagem”
Tipos de modelos de
decomposição
• Enumeração exaustiva
• Todo espaço é igualmente dividido em blocos e uma
matriz 3D armazena informações sobre o material (ou
a falta dele) em cada bloco
• Voxel
V l
• 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ço
p
• Divide o espaço em blocos recursivamente
• Representação em Quadtree, Octree
Enumeraçã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 p
para medicina
• Eficiente mas requer armazenamento
significativo
• Acurácia limitada a menos que os voxels sejam
extremamente pequenos
Voxel
Voxel
Estruturas da cabeça e do cérebro
(
(ocultas)
) extraídas
í
de 150
1 0 ffatias
Decomposição Celular
• Variedade de tipos de células básicas e um
p
de combinação
ç “colar”
único operador
• Células individuais são geralmente
criadas como instâncias parametrizadas
de tipos de células
• Células podem ser qualquer objeto que
seja topologicamente equivalente a uma
esfera (sem buracos)
FEM
Subdivisão de Espaço
• Inventado para superar o grande
consumo de memória da enumeração
exaustiva
• Esquema de subdivisão adaptativa
baseado na grade tridimensional de
uma enumeração exaustiva
Subdivisão de Espaço
Representações por Células
• Dividem
Di id
o espaço em sub-regiões
b
iõ convexas.
• Exaustiva (Voxels): Cubos de tamanho igual
• Octrees:
O t
Cubos
C b cujos
j lados
l d são
ã potências
tê i de
d 2
• BSP-trees: Poliedros convexos
•À
Às células
él l são
ã atribuídas
t ib íd valores
l
d
de um campo
escalar F(x, y, z).
• Campo é assumido constante dentro de cada célula.
célula
• Sólido é definido como o conjunto de pontos tais
que A < F(x,
F(x yy, z) < B para valores A e B
estipulados.
Quadtrees (2D) / Octrees (3D)
• Estruturas de dados (árvores) para
p ç hierárquica
q
do plano
p
decomposição
(quadtrees) / espaço (octrees)
• Podem ser usadas para guardar diferentes
tipos de dados, por ex.
• Conjunto de pontos
p g
• Malhas poligonais
Quadtree
Quadtrees
• Todo
d nó representa um quadrado
d d no plano.
l
• Todo nó interno possui exatamente quatro filhos, os
quais
i representam
t
os quatro
t quadrantes
d t d
do nó
ó pai:
i
noroeste, nordeste, sudoeste e sudeste.
• A subdivisão continua conforme algum critério de
parada.
http://www.tecgraf.puc‐rio.br/~hermann/gc/
Quadtree – Critério de Parada
• Exemplo:
E
l
1.
2.
Começa com quadrado envolvendo todo o objeto, que em seguida é
dividido em 4 quadrados menores.
Cada um é classificado em
• Cheio: o quadrado está totalmente dentro do objeto
• Vazio: o q
quadrado está totalmente fora do objeto
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
vazios
Pinho, PUCRS
Quadtree - Exemplo
http://lcp lcad icmc usp br/~nonato/ED/Quadtree/quadtree
http://lcp.lcad.icmc.usp.br/
nonato/ED/Quadtree/quadtree.htm
htm
Quadtree – Programa Exemplo
Autores: Patrícia Zottis e Rodrigo Fehse
Alterações: Leonardo Langie ‐ PUCRS
Octree
• Idêntica à Quadtree, mas considerando o
p ç 3D
espaço
• Cubo é dividido em 8 sub-cubos
Octree
Octrees
Octrees
FlipCode.com
Octrees
Uso de Octrees e Quadtrees
• Exemplos:
• Frustum culling,
g, detecção
ç de
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:
• Trabalhosas para
manipular
FlipCode.com
BSP Trees
BSP-Trees
Malhas de Polígonos
• Construção de
d modelos
d l 3D usando
d grupos de
d polígonos.
l
• Como cada polígono é planar, necessita-se grande quantidade
de polígonos para dar a impressão de superfícies curvas
10K polígonos
1K polígonos
www.gamesfaction.com
Mesh Tesselation
• Construção de malhas poligonais
• A partir de representações abstratas
http://www.cs.lth.se/Education/
Courses/EDA221/
• A partir de nuvens de pontos
http://www.ticam.utexas.edu/CCV/
projects/VisualEyes/visualization/
geomod/cloud/cloud.html
Malhas de triângulos
• Costuma-se usar triângulos
l como o polígono
l
d malhas
das
lh
•
•
•
•
O polígono é gerado com exatamente 3 vértices por face
Um vértice pode pertencer a qualquer número de faces
Adjacência calculada em tempo constante
Triângulos
g
são sempre
p p
planares
Giambruno, 2003
,
Alguns tipos de malhas de triângulos
• O primeiro triangulo é desenhado com três vértices
vértices, e os demais com
apenas um.
Strip
Fan
• Muitos dos vértices são comuns a vários polígonos que o constituem.
A i a organização
Assim,
i ã dos
d polígonos
lí
com vista
i t o compartilhamento
tilh
t dos
d
vértices comuns traduz-se num envio e processamento únicos destes
vértices [Möller 2003].
Problema Geral
• Quantos mais polígonos,
l
menos ffacetada
d fica
f a superfície
f
curva
• Mais polígonos,
polígonos significa mais tempo de processamento!!!
LOD – Level of Detail
• À medida
did que à distância
di â i da
d câmera
â
a um modelo
d l aumenta, o espaço por
este ocupado na janela diminui e, conseqüentemente, o detalhe com que é
visualizado também diminui.
• O LOD permite definir
d f
representações alternativas
l
para um objeto
b
gráfico,
f
cada uma sendo ativada de acordo com a distância ao observador.
LOD
• T
Torna-se desnecessário
d
ái e
ineficiente definir o objeto
com todo detalhe. O
objetivo
bj ti principal
i i l é o de
d
utilizar diferentes
representações de um
modelo,
d l normalmente
l
de
d
resoluções distintas, que
serão selecionadas de
acordo
d com um critério de
d
decisão pré-determinado.
Um dos critérios de decisão
mais utilizado é à distância
do modelo à câmera.
Tipos de LOD
• Discreto
• A construção
ç das diferentes representações
p
ç
do
modelo é realizada numa fase de préprocessamento,, sendo associada a cada uma
p
delas um intervalo de distâncias à câmera
dentro do q
qual o nível de detalhe deve ser
utilizado.
execução o algoritmo calcula a
• Durante a execução,
distância da câmera ao objeto e avalia qual
dos diferentes níveis de detalhe deve ser
utilizado.
Tipos de LOD
• Contínuo
• Os níveis de detalhe são g
gerados em tempo
p de
execução.
• View dependent LOD
• Extensão de LOD contínuo usando posição do
observador para definir o nível de detalhe.
Exemplo de LOD Discreto
• VRML: nó LOD
LOD
• Exemplo de LOD
• X3D
LOD Contínuo
Vi d
View dependent LOD
d t LOD
LOD Contínuo
observador
View dependent LOD
LOD Contínuo
Visualização de Terrenos
• http://www.llnl.gov/icc/sdd/img/images.shtml
h
//
ll l
/i / dd/i /i
h l
Modelo de Arame (Wireframe)
• Representação de arestas (pontos +
p
)
conexões entre pontos)
Modelo de Arame (Wireframe)
Modelo de Arame (Wireframe)
• Vantagens
• Simplicidade e velocidade na visualização dos modelos (geramse apenas linhas)
• Problemas
• Dificuldade de realizar operações
p ç
com sólidos (cálculo
(
de massa,,
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)
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
representação.
• 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ície
• Mais poderosos
d
que simples
l modeladores
d l d
baseados
b
d em
wireframe por prover descrições matemáticas da forma
das superfícies dos objetos
• Pode representar uma superfície fechada (volume) ou
aberta
Modelos de Superfície
• Armazena equações de
d
superfícies
• Maioria
M i i dos
d pacotes
t 3D
usam modelagem de
superfície
• Boa para visualização de
complexas
p
superfícies
p
e
geração de caminho para
NC de superfícies
complexas
• Informações sobre o
volume
l
são
ã ambigüas
bi ü e
difíceis de calcular
Modelos de Superfície
• Superfícies
f
não estão
adequadamente
conectadas
• Nenhuma informação de
conectividade é
armazenada.
• Propriedades
p
de massa
não fazem sentido
Modelos de Sólido
• Sistemas que são capazes de realizar a
g
sólida são muito mais
modelagem
poderosos que simples modeladores
baseados em wireframe.
wireframe
• Esses programas são usados para
construir
i componentes que são objetos
bj
sólidos, e não simplesmente
p
uma malha
de linhas trançadas.
Modelo Construtivo
• R
Representa
t um conjunto
j t d
de pontos
t como combinação
bi
ã d
de
um conjunto de pontos de primitivas.
• Cada uma das primitivas é representada como uma
instância de um tipo de sólido primitivo
p
p
para combinar p
primitivas
• Operações
• União
• Interseção
• Diferença
• Muito eficiente em termos de armazenamento
• Visualização requer que curvas e superfícies individuais
sejam combinadas e avaliadas
• Muito caro computacionalmente
Tipos de modelos construtivos
• Modelo Half-space
Funções f(x,y,z) dividem o espaço em 2 metades (f<0 ou
f>0 @(
@(x,y,z))
))
Metades podem ser delimitadas (esfera) ou não
delimitadas (cilindro infinito)
• Modelo CSG(Constructive Solid Geometry)
Usuário apenas interage com objetos sólidos
delimitados
Computador
p
modela sólidos delimitados como uma
combinação de meios espaços (half-space)
Quase todas modelagens construtivas usam CSG pois é
mais
i fácil
fá il para o usuário.
ái
Modelo Half-space
Half space
Cilindro Infinito
Planos
Cilindro Finito
z<b
2
2
x 2+ y < r
z>a
Department of Mechanical Engineering, The Ohio State University
Modelo CSG
• Operações CSG definem objetos através de
p ç
regularizadas
g
de conjuntos
j
de
operações
pontos.
• União,
União Interseção e Diferença
Diferença.
• Um objeto é regular se o fechamento do
interior do seu conjunto de pontos é igual
próprio
p conjunto
j
de p
pontos.
ao p
Modelo CSG
• Primitivas
Operações Booleanas
União
Interseção
Diferença
Árvore CSG
• Um modelo CSG é
codificado por uma
árvore.
• Os nós internos contêm
operações de
d conjunto
ou transformações
lineares afim.
afim
• Folhas contêm objetos
primitivos (tipicamente,
quádricas).
Modelo CSG
• Árvore
Á
CSG
Modelo CSG
• Árvore
Á
CSG
Modelo CSG
• Árvore
Á
CSG
Modelo CSG
Modelo CSG
Modelo CSG
Modelo CSG
Modelo de Fronteira
•
•
•
•
•
Representa
R
t um conjunto
j t d
de pontos
t em ttermos d
de sua ffronteira.
t i
Fronteira de sólido : surperfícies
Fronteira de superfície
p
: faces
Fronteira de face : curva (ou aresta)
A maioria dos pacotes de modelagem de sólido usam a
representação de fronteira (B
(B-rep)
rep) para armazenar modelos
• Sólido é considerado como delimitado por um conjunto de faces
• Faces tem uma representação matemática compacta
•
•
•
•
Plano
l
Toróide
Cilíndro
Superfície paramétrica como uma superfície de Bezier
Modelo de Fronteira
aresta
face
vértice
Boundary Representation (BRep)
• 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 (BRep)
• Representações
R
• 1 lista de vértices explícita:
FACE: (x1, y1, z1)-(x2, y2, z2)- .... - (xn, yn, zn);
• 2 listas: lista de vértices e lista das topologias
p g
das faces
VÉRTICES:
1 - (x1,
(x1 y1
y1, z1)
2 - (x2, y2, z2)
.... .... ....
n - (xn,
(xn yn
yn, zn)
FACES:
1 - v1,
v1 v2
v2, v3
v3, ...., vn
2 - v3, v5, ..., vn
.... .... ....
n – vn,
vn v4
v4, ..., v1
• 3 listas: vértices, arestas e faces
Exemplo de 3 listas
http://gbdi.icmc.usp.br/documentacao/
apostilas/cg/downloads/modpoliedrais pdf
apostilas/cg/downloads/modpoliedrais.pdf
Grafo B-Rep
B Rep
Topology
Geometry
Modelos Híbridos de Sólido
•O
Os métodos
ét d d
de modelagem
d l
sólida
ólid CSG e B-rep
B
são freqüentemente combinados para gerar
modelos de componentes.
componentes
• Cada um desses métodos possui suas limitações,
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
métodos.
• A maioria dos sistemas modeladores sólido
comerciais são híbridos utilizando tanto o
método CSG q
quanto o B-rep.
p
Modelos Híbridos de Sólido
Sólido
B-Rep
Boundary
y
Representation:
•Extrusão
•Revolução
•Varredura
•Mesclagem
de perfis 2-D
CSG
Constructive
Solid Geometry:
•Usa primitivas sólidas
(cilindro, cone, etc.)
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ólido
• M
Modelos
d l sólidos
ólid são
ã conhecidos
h id 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
penduradas, só assim permitirá análise de interferência,
cálculos das propriedades de massa, modelagem e
análise
áli estrutural
t t l de
d elementos
l
t finitos,
fi it CAPP,
CAPP machine
hi
vision, e programação de NC.
Modelos Híbridos de Sólido
Funções de Modelagem Sólida
• Diferentes
Dif
maneiras
i
que um usuário
á i pode
d
criar formas sólidas:
Criação de primitivas
p ç
Booleanas
Operações
Operações de revolução
Operações de superfície
Modelagem baseada em Features de
Engenharia
• Modelagem paramétrica
•
•
•
•
•
Criação de Primitivas
•P
Primitivas
i iti
são
ã fformas
sólidas simples com
superfícies
matemáticas simples
• Pode ser controlada
por um número
pequeno de
parâmetros e
posicionada usando
p
uma matriz de
transformação
Operações Booleanas
•O
Operações
õ B
Booleanas
l
são usadas para fazer
formas mais
complicadas
combinando formas
mais simples
• 3 tipos de operações
são possíveis:
• União
• Interseção
• Diferença
Operações de Revolução
• Usa seções em
wireframe 2D para
gera sólido
l d 3D
p
• Inclui operações
como:
•
•
•
•
Extrusão
Revolução
Varredura
Formar por Seções
Operações de Superfície
•O
Opera di
diretamente
t
t
nas superfícies,
arestas e vértices do
modelo sólido, para
criar uma
modificação desejada
• Exemplos:
•
•
•
•
Chanfro
Arredondamento
edo 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 Features
• Um
U feature
f
pode
d se definido
d fi id como um
elemento físico de uma peça que tem
algum
l
significado
i ifi d para a engenharia.
h i Ele
l
deve satisfazer as seguintes condições:
• ser um constituinte físico de uma peça;
p
p
para uma forma g
geométrica
• ser mapeável
genérica;
g
, sob o p
ponto de
• ser tecnicamente significante,
vista da engenharia; e
propriedades
p
q
que p
podem ser p
previstas.
• ter p
Modelos Baseados em Features
• O significado técnico de feature pode
ç à qual
q
um ffeature serve,
envolver a função
como ele pode ser produzido, que ações a
sua presença deve iniciar
iniciar, etc
etc.
• Features podem ser pensados como
' i ii
'primitivas
d
de engenharia'
h i ' relevantes
l
a
alguma
g
tarefa de engenharia.
g
Modelos Baseados em Features
• O método
ét d permite
it criar
i ffuros, chanfros,
h f
rasgos,
etc, para serem associados com outras entidades
ou faces.
• A modelagem por features é baseada na idéia de
se desenhar utilizando buildingg blocks - blocos de
construção.
• Ao invés de se usar formas analíticas como
paralelepípedos,
l l í d cilindros,
ili d
esferas
f
e cones como
primitivos, o usuário cria modelo do produto
usando primitivos de maior nível que são mais
relevantes para sua aplicação específica.
Modelos Baseados em Features
• O conjunto
j t fixo
fi d
de features
f t
oferecido
f
id pelos
l atuais
t i
modeladores ainda é muito limitada para uso
industrial, o que limita as possibilidades do
projetista.
• Os ffeatures devem ser adaptáveis
p
aos usuários e
que a biblioteca de features deve ser extensível.
Modelos Baseados em Features
• Exemplos
•
•
•
•
•
Furo
Slot
Cubo
Chanfro
Rasgo
Modelos Paramétricos
• A modelagem sólida paramétrica permite
que se crie modelos de p
q
produtos com
dimensões variacionais.
• Ligações bidirecionais entre o modelo e o
esquema de dimensionamento permite a
regeneração automática
i d
de modelos
d l
depois
p
de mudanças nas dimensões e
atualização automática das dimensões
relacionadas.
Modelos Paramétricos
• Parâmetros vêm de:
• dimensões em esboços
ç 2D
• dimensões em geometria 3D (sistemas
avançados)
• parâmetros de operação de modelagem
• variáveis
iá i em equações
õ do
d usuário
ái
•Ag
geometria inteira da p
parte p
pode ser
controlada por um pequeno número de
parâmetros chave!
Modelos Paramétricos
Modelagem Paramétrica
Modelagem Dirigida à Dimensão
Modelagem Baseada em Restrições
Usa parâmetros
para especificar
dimensões de
entidades
Usa restrições
geométricas tais
como
paralelismo,
concentricidade,
etc.
t
Modelos Non-manifold
Non manifold
• Transferência de calor de uma parte tocando
outra: faces tocantes
• Propagação de rachadura: elementos 1D e 2D
dentro de uma p
parte sólida
• Material híbrido: painel sanduíche
• 2 tipos de modeladores non-manifold;
• Inclui entidades de dimensões mais baixas em uma
estrutura de dados de modelo sólido
• Concentra em modelos compostos => modelo celular
Soonh ng Han
Soonhung
Han, Kaist
Estrutura de dados Non-manifold
Non manifold
Modelo Non-manifold
Non manifold
A
B
Codificação
• Explícita.
• Ponteiros para lista de vértices.
• Ponteiros para lista de arestas.
• Winged-Edge (Half-Edge, Face-Edge).
• Quad
Quad-Edge
Edge (Guibas
(Guibas-Stolfi)
Stolfi).
• Radial-Edge.
Codificação Explícita
• A mais simples.
p
a lista
• Cada face armazena explicitamente
ordenada das coordenadas dos seus vértices:
P = {( x1 , y1 , z1 ),
) ( x2 , y2 , z 2 ),...,
) ( xn , yn , z n )}
• Muita redundância de informação.
informação
• Consultas são complicadas.
• Obriga a execução de algoritmos geométricos para
determinar adjacências.
Desenho da Malha
•C
Cada
d aresta
t é
desenhada duas
vezes pelos duas
vezes,
faces que a
compartilham.
compartilham
• Não é bom para
plotadoras ou filmes.
filmes
Ponteiros para Lista de Vértices
• Vértices são armazenados separadamente.
• Há uma lista de vértices.
• Faces referenciam seus vértices através de
ponteiros.
i
• Proporciona
p
maior economia de memória.
• Achar adjacências ainda é complicado.
• Arestas ainda
d são desenhadas
d
h d duas
d
vezes.
Exemplo
Ponteiros para Lista de Arestas
• Há também
bé uma li
lista d
de arestas.
• Faces referenciam as suas arestas através
de ponteiros.
• Arestas são desenhadas percorrendo
percorrendo-se
se a
lista de arestas.
• Introduzem-se
Introduzem se referências para as duas
faces que compartilham uma aresta.
• F
Facilita
ili a d
determinação
i
d
das d
duas ffaces
incidentes na aresta.
Exemplo
Winged Edge
Winged-Edge
Winged Edge
Winged-Edge
• Criada em 1974 por Baumgart.
p
p
por fronteira.
• Foi um marco na representação
• Armazena informação na estrutura associada às
aarestas
estas ((número
ú e o de campos
ca pos é fixo).
xo).
• Todos os 9 tipos de adjacência entre vértices,
arestas e faces são determinados em tempo
constante.
• Atualizada com o uso de operadores de Euler,
Euler
que garantem: V – A + F = 2.
9 tipos de Relacionamentos de
Adjacência
Face Edge
Face-Edge
Radial Edge
Radial-Edge
• Criada em 1986 por Weiler.
• Representa
p
objetos
j
non-manifold.
f
• Armazena a lista ordenada de faces incidentes em
umaa aresta.
u
a esta.
• Muito mais complicada que a Winged-Edge.
Radial Edge
Radial-Edge
Prós e Contras de Representações
• N
Na CSG pode-se
d
f il
facilmente
t assegurar que objetos
bj t são
ã
“sólidos” se todas as formas primitivas forem sólidas. Isso
pode ser importante para algumas aplicações de engenharia
ou manufatura.
f t
• Por comparação, ao criar representações baseadas em B-rep,
p g
adicionais são necessários,, ou checagens
g
dados topológicos
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.
• Operações
O
õ booleanas
b l
são
ã ab
base d
do CSG.
CSG
• Boa para detecção de colisão (collision detection)
Prós e Contras de Representações
•N
Numa B-rep
B
as interseções
i t
õ estão
tã representadas
t d
explicitamente e é mais fácil exibir um ponto sobre
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
j
mais rico de
operações.
• Escolha mais apropriada para sistemas CAD – CSG
f i usado
foi
d inicialmente
i i i l
t por muitos
it sistemas
i t
comerciais pois é mais fácil de se implementar.
Prós e Contras de Representações
• Em
E representações por decomposição
d
i
/
células a classificação de um ponto é
imediata,
d
bastando
b
d avaliar
l o sinall d
do valor
l
do campo no ponto.
• Exibir um ponto sobre a superfície do
j
requer
q
a solução
ç de uma equação,
q ç ,
objeto
que pode ser complicada.
• Operações booleanas são avaliadas
facilmente.
Conversão entre Representações
• Conversão
C
CSG → B-rep
B
é denominada
d
i d
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
B rep é
relativamente simples (marching cubes).
• Conversão CSG → Células é simples.
• Conversão Células → CSG é complicado.
p