Upload
internet
View
105
Download
0
Embed Size (px)
Citation preview
11
Aplicações de Funções de Base Radiais em Aplicações de Funções de Base Radiais em Reconstrução de Superfícies e ModelagemReconstrução de Superfícies e Modelagem
Apresentado por: Disney DouglasApresentado por: Disney Douglas
Orientador: Claudio EsperançaOrientador: Claudio Esperança
Universidade Federal do Rio de JaneiroPrograma de Engenharia de Sistemas e Computação -
COPPE
22
MotivaçãoMotivação
33
RoteiroRoteiro
Esquemas de RepresentaçãoEsquemas de RepresentaçãoFunções de Base RadiaisFunções de Base RadiaisVisualização e PoligonizaçãoVisualização e PoligonizaçãoProposta de TrabalhoProposta de TrabalhoResultados PreliminaresResultados PreliminaresConclusõesConclusões
44
Esquemas de representação de Esquemas de representação de superfíciessuperfícies
Representação DiscretaRepresentação DiscretaRepresentação ParamétricaRepresentação ParamétricaRepresentação ImplícitaRepresentação Implícita
55
Representação DiscretaRepresentação Discreta
Vantagem: Capacidade de representar formas de topologia arbitrária com precisão arbitráriaDesvantagens: Ocupam grande quantidade de memória e podem apenas aproximar objetos curvos
66
Representação paramétricaRepresentação paramétrica
Superfície representada por retalhosSuperfície representada por retalhos Descrita por equações paramétricasDescrita por equações paramétricas ExemplosExemplos
BézierBézier Hermite Hermite cúbicoscúbicos B-SplinesB-Splines NURBS (Non-Uniform Rational B-Spline)NURBS (Non-Uniform Rational B-Spline)
Vantagens: Podem representar superfícies suaves
Podem amostrar superfícies em resolução arbitrária
Desvantagem: Necessitam combinar muitos retalhos para objeto fechado
77
Representação ImplícitaRepresentação Implícita
A superfície é um conjunto de nível (A superfície é um conjunto de nível (level level set surfaceset surface),ou seja, ),ou seja, f f -1-1(c)(c)
f(p) = 0
f(p) < 0
f(p) > 0
88
Rep. Implícitas (cont.)Rep. Implícitas (cont.)
VantagensVantagensRepresentam bem superfícies suavesRepresentam bem superfícies suavesPodem ser avaliadas em resolução arbitráriaPodem ser avaliadas em resolução arbitrária
99
Reconstrução de SuperfíciesReconstrução de Superfícies
Escaneamento 3D
Renderização
1010
ReconstruçãoReconstrução
1111
Problema de interpolação de Problema de interpolação de pontos espalhadospontos espalhados
Desejamos construir algum objetoDesejamos construir algum objeto Esquemas explícitosEsquemas explícitos
Usam Usam Delaunay / VoronoiDelaunay / Voronoi (Edelsbrunner / Amenta et al) (Edelsbrunner / Amenta et al)
Esquemas implícitos Esquemas implícitos Método da Partição da Unidade (Ohtake et al)Método da Partição da Unidade (Ohtake et al) Moving Least Squares (MLS surfaces) Moving Least Squares (MLS surfaces) (Alexa / Levin / (Alexa / Levin /
Mederos et al / Xie et al / Amenta et Mederos et al / Xie et al / Amenta et Kil)Kil)
BlobsBlobs (Bloomenthal / Buraki) (Bloomenthal / Buraki) RBFsRBFs (Turk & O’Brien / Ohtake et al / Carr, Beatson et al ) (Turk & O’Brien / Ohtake et al / Carr, Beatson et al ) Conjuntos de nível (Conjuntos de nível (Level sets)Level sets) (Zhao et al / Du & Qin) (Zhao et al / Du & Qin)
1212
Interpolação Interpolação Thin-PlateThin-Plate
Dado um conjunto de n pontos Dado um conjunto de n pontos {{xx11, …, x, …, xnn}} e e
um conjunto de valores da função um conjunto de valores da função
{{vv11, …, v, …, vnn}}, obter uma função , obter uma função ss: : 33 tal tal
que que
ss((xxii) = ) = vvi i para para i = 1 , … , n i = 1 , … , n (1)(1)
““Suavidade”: Suavidade”:
(2)(2)
1313
Funções de Base RadiaisFunções de Base RadiaisUma função onde || . || denota a norma Euclideana é chamada uma função de base radial (RBF - Radial Basis Function), porque depende apenas da distância Euclideana entre os pontos x e xi.
r = ||x – xi||
1414
RBFs com suporte compactoRBFs com suporte compacto
• Funções de Wendland
1515
Função de interpolaçãoFunção de interpolação
A função de interpolação que satisfaz (1) e A função de interpolação que satisfaz (1) e minimiza (2) pode ser expressa por:minimiza (2) pode ser expressa por:
1616
Construção da função interpolanteConstrução da função interpolante
Onde ij = (xi – xj), ci = p(xi), vi = s(xi), i coef. RBF,
a, b, c, d cef. polinômio.
Construção: • O(n2) : espaço O(n2): operações
Resolução: • O(n2) : espaço O(n3): operações
1717
RBFsRBFs
O Sistema é mal condicionadoO Sistema é mal condicionadoSoluções numéricas: alguns erros para Soluções numéricas: alguns erros para NN
muito grandemuito grandeGeralmente é resolvido por decomposição LU Geralmente é resolvido por decomposição LU
ou similar (lento)ou similar (lento)RBFs com suporte compactoRBFs com suporte compacto
São bem condicionados (matriz esparsa)São bem condicionados (matriz esparsa)
1818
““Fast” RBFsFast” RBFs
Carr, Beatson & al Carr, Beatson & al Redução dos centros (solução aproximada)Redução dos centros (solução aproximada)
Fast Multipole Method (Greengard & Fast Multipole Method (Greengard & Rokhlin)Rokhlin)Avaliação aproximadaAvaliação aproximada
1919
Modelagem com RBFsModelagem com RBFs
Turk & O’BrienTurk & O’BrienUsaram pontos de restrição Usaram pontos de restrição
Pontos de fronteira: Pontos de fronteira: ff((ppii) = 0) = 0
Pontos normais: Pontos normais: ff((ppjj) > 0) > 0
Pontos interiores: Pontos interiores: ff((ppkk) < 0) < 0
f > 0 f < 0f = 0
2020
Visualização de objetos implícitos - Visualização de objetos implícitos - PontosPontos
•Espalhamento dos pontos baseado em física
•Forças de atração na superfície (gradiente e sinal)
•Forças de repulsão garentem afastamento uniforme
2121
Curvas de silhuetaCurvas de silhueta Definidas como o conjunto de curvas em Definidas como o conjunto de curvas em
que o produto interno da normal a superfície que o produto interno da normal a superfície e a direção da visão é zero.e a direção da visão é zero.
2222
Curvas de nívelCurvas de nível
Obtidas por interseção de planos Obtidas por interseção de planos perpendiculares à linha de visãoperpendiculares à linha de visão
2323
Renderização por polígonosRenderização por polígonos
Aproximação linear Aproximação linear por partes + por partes + algoritmos de algoritmos de rendarizaçãorendarização
2424
Ray TracingRay Tracing
Promove o Promove o acompanhamento de acompanhamento de um raio de luz no um raio de luz no sentido inversosentido inverso Para cada pixel da Para cada pixel da
imagem um raio é imagem um raio é lançadolançado
LentoLento
2525
Volumétrica - Ray CastingVolumétrica - Ray Casting
Raios do ponto de Raios do ponto de vista de visão através vista de visão através de cada pixel são de cada pixel são lançados no volumelançados no volume
A comtribuição ao A comtribuição ao pixel é calculada pixel é calculada intregrando a função intregrando a função de densidade ao de densidade ao longo do raio.longo do raio.
2626
PoligonizaçãoPoligonização
Dado um campo escalar, i.e. Dado um campo escalar, i.e. ff: : 33 e e uma constante uma constante cc, obter uma aproximação , obter uma aproximação linear por partes para a superfície linear por partes para a superfície f f –1 –1 ((cc))
Principais questõesPrincipais questõesErros de aproximaçãoErros de aproximaçãoTopologia correta Topologia correta Número de triângulosNúmero de triângulosQualidade dos triângulosQualidade dos triângulos
2727
Algoritmos de poligonizaçãoAlgoritmos de poligonização Algoritmo de continuação (Bloomenthal)Algoritmo de continuação (Bloomenthal) Marching Cubes (Lorensen & Cline) Marching Cubes (Lorensen & Cline)
VariantesVariantes Marching Tetrahedra (Marching Tetrahedra (Treece & al)Treece & al) Marching Triangles (Hartmann)Marching Triangles (Hartmann) Dual Contouring (Gibson, Shaefer & Warren)Dual Contouring (Gibson, Shaefer & Warren)
2828
O sistema Teddy (Igarashi)O sistema Teddy (Igarashi) Modelagem baseada em traçosModelagem baseada em traços Muitas operações são Muitas operações são
executadas através de traços executadas através de traços (curvas)(curvas) CriaçãoCriação ExtrusãoExtrusão CorteCorte MisturaMistura
Usa malha tradicional para Usa malha tradicional para representaçãorepresentação Suavização usa a poligonização de Suavização usa a poligonização de
HoppeHoppe Recentemente introduziu uma Recentemente introduziu uma
“malha mais bonita”“malha mais bonita” Objetos com topologia esféricaObjetos com topologia esférica
2929
Forma livre com superfícies Forma livre com superfícies variacionais (Karpenko & al) variacionais (Karpenko & al)
Parecido com o TeddyParecido com o Teddy Usa interpolação thin-plate Usa interpolação thin-plate
(RBFs)(RBFs) Visualização via poligonizaçãoVisualização via poligonização Relaxa um pouco as restricões Relaxa um pouco as restricões
do Teddydo Teddy Múltipla conexão dos Múltipla conexão dos
componentescomponentes Superfícies ralmente suavesSuperfícies ralmente suaves
Principais ProblemasPrincipais Problemas É lento para modelos com muitos É lento para modelos com muitos
pontospontos Sem vincos e pontas (Sem vincos e pontas (sharp sharp
featuresfeatures)) Sem furos Sem furos
3030
PropostaProposta
Propomos um sistema híbrido de modelagem à mão livre onde se possa construir e editar objetos tridimensionais trabalhando com representações paramétricas e implícitas variacionais.
Modelagem de superfícies por meio de traços Edição da malha da superfície Formas arredondadas Vincos e pontas
3131
Operações de ModelagemOperações de Modelagem
CriaçãoCriaçãoDeformaçãoDeformaçãoCombinaçãoCombinação
Operações booleanasOperações booleanasMisturaMistura
OutrosOutrosCorteCorteEscavaçãoEscavação
3232
CriaçãoCriação
O usuário desenha a silhueta do objeto (curva O usuário desenha a silhueta do objeto (curva fechada)fechada)
O sistema constrói o modelo 3D com base na O sistema constrói o modelo 3D com base na silhueta inflando o polígonosilhueta inflando o polígono
3333
Combinação (blending)Combinação (blending)
Uma curva é traçada para unir duas Uma curva é traçada para unir duas partes do Objetopartes do Objeto
As duas partes são unidasAs duas partes são unidas
3434
ExtrusãoExtrusão
3535
PerfuraçãoPerfuração Projeta-se o traço do Projeta-se o traço do
furo na parte frontal e furo na parte frontal e traseira da superfícietraseira da superfície
Usa-se as duas Usa-se as duas projeções p/ computar projeções p/ computar alguns pontos médiosalguns pontos médios Adiciona-se um ponrto Adiciona-se um ponrto
no “centro” que é no “centro” que é avaliado como negativoavaliado como negativo
Cria-se outro objetoCria-se outro objeto CombinaçãoCombinação
3636
Edição - malhasEdição - malhas
Free-Form Modeling (Botsh & Kobbelt)Free-Form Modeling (Botsh & Kobbelt) A superfície deformada pode ser moldada com rigidez A superfície deformada pode ser moldada com rigidez
de anisotropicade anisotropica A suavidade das deformaçõews variam de CA suavidade das deformaçõews variam de C00 a C a C22..
3737
Free-Form modelingFree-Form modeling
3838
Representação de malha híbrida Representação de malha híbrida (Allègre & al)(Allègre & al)
•Opera com malhas paramétricas e implícitas
•Utiliza uma Hybrid-Tree (generalização de CSG-Tree)
3939
SistemaSistema
Desejamos que o sistema tenha as Desejamos que o sistema tenha as seguintes característicaseguintes característicaBaixa complexidade de
avaliação/visualização, Baixo custo computacional para visualização, Pouco dependente das distribuições
espaciais de amostragem.
4040
Resultados PreliminaresResultados Preliminares
Reconstrução de superfícies através de Reconstrução de superfícies através de funções de base radiais com suporte funções de base radiais com suporte compactocompactoSubdivisão espacialSubdivisão espacialConstrução da função interpolanteConstrução da função interpolantePoligonizaçãoPoligonização
4141
Subdivisão espacialSubdivisão espacial
O espaço é O espaço é subdividido por meio subdividido por meio de uma de uma octreeoctree Critério de subdivisão: Critério de subdivisão:
Quantidade de pontos Quantidade de pontos por nó =por nó = L Lmaxmax
4242
Construção da função InterpolanteConstrução da função Interpolante
Para cada nó da Para cada nó da octreeoctree calculamos uma calculamos uma RBF com suporte compacto, com raio RBF com suporte compacto, com raio suporte igual a ¾ da diagonal do cubo do suporte igual a ¾ da diagonal do cubo do nó folhanó folha
Poucos pontos podem gerar funções ruinsPoucos pontos podem gerar funções ruinsSurgem falhas e artefatos indesejáveisSurgem falhas e artefatos indesejáveisSe a quantidade de pontos é insuficiente, Se a quantidade de pontos é insuficiente,
aumentamos progressivamente o raio do aumentamos progressivamente o raio do suporte da função.suporte da função.
4343
Cont.Cont.
Ri
ci
4444
Partição da unidadePartição da unidade
Depois que o domínio Depois que o domínio é dividido em é dividido em subconjuntos não disjuntos subconjuntos não disjuntos i i e calculada as e calculada as
funções locais funções locais ssii usamos o método da partição usamos o método da partição
da unidade.da unidade.
4545
ConclusõesConclusões
Acreditamos que um método híbrido que utilize funções de base radiais e manipulaçãode malha seja ideal para a modelagem à mão livre, satisfazendo os requisitos acima mencionados e capaz de criar modelos de superfícies que tenham formas arredondadas, bem como vincos e pontas.
4646
Algumas questõesAlgumas questões Como obter características afiadas na
interpolação e modelagem de superfícies usando funções de base radiais com suporte compacto?
Como melhorar a performance da poligonização de tal modo que não sejam avaliados todos os vértices da grade?
É possível conjugar abordagens como o método da partição da unidade com funções de base radiais com suporte compacto, e obter um comportamento da função como se tivesse suporte global?