460 likes | 584 Views
Universidade Federal do Rio de Janeiro Programa de Engenharia de Sistemas e Computação - COPPE. Aplicações de Funções de Base Radiais em Reconstrução de Superfícies e Modelagem. Apresentado por: Disney Douglas Orientador: Claudio Esperança. Motivação. Roteiro. Esquemas de Representação
E N D
Universidade Federal do Rio de Janeiro Programa de Engenharia de Sistemas e Computação - COPPE Aplicações de Funções de Base Radiais em Reconstrução de Superfícies e Modelagem Apresentado por: Disney Douglas Orientador: Claudio Esperança
Roteiro • Esquemas de Representação • Funções de Base Radiais • Visualização e Poligonização • Proposta de Trabalho • Resultados Preliminares • Conclusões
Esquemas de representação de superfícies • Representação Discreta • Representação Paramétrica • Representação Implícita
Representação Discreta Vantagem: Capacidade de representar formas de topologia arbitrária com precisão arbitrária Desvantagens: Ocupam grande quantidade de memória e podem apenas aproximar objetos curvos
Representação paramétrica • Superfície representada por retalhos • Descrita por equações paramétricas • Exemplos • Bézier • Hermite cúbicos • B-Splines • 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
Representação Implícita • A superfície é um conjunto de nível (level set surface),ou seja, f -1(c) f(p) > 0 f(p) = 0 f(p) < 0
Rep. Implícitas (cont.) • Vantagens • Representam bem superfícies suaves • Podem ser avaliadas em resolução arbitrária
Reconstrução de Superfícies Escaneamento 3D Renderização
Problema de interpolação de pontos espalhados • Desejamos construir algum objeto • Esquemas explícitos • Usam Delaunay / Voronoi (Edelsbrunner / Amenta et al) • Esquemas implícitos • Método da Partição da Unidade (Ohtake et al) • Moving Least Squares (MLS surfaces) (Alexa / Levin / Mederos et al / Xie et al / Amenta et Kil) • Blobs (Bloomenthal / Buraki) • RBFs (Turk & O’Brien / Ohtake et al / Carr, Beatson et al ) • Conjuntos de nível (Level sets) (Zhao et al / Du & Qin)
Interpolação Thin-Plate • Dado um conjunto de n pontos {x1, …, xn} e um conjunto de valores da função {v1, …, vn}, obter uma função s: 3 tal que s(xi) = vi para i = 1 , … , n (1) • “Suavidade”: (2)
Funções de Base Radiais Uma 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 xe xi. r = ||x – xi||
RBFs com suporte compacto • Funções de Wendland
Função de interpolação • A função de interpolação que satisfaz (1) e minimiza (2) pode ser expressa por:
Construção da função interpolante • Construção: • O(n2) : espaço O(n2): operações • Resolução: • O(n2) : espaço O(n3): operações Onde ij = (xi – xj), ci = p(xi), vi = s(xi), i coef. RBF, a, b, c, d cef. polinômio.
RBFs • O Sistema é mal condicionado • Soluções numéricas: alguns erros para N muito grande • Geralmente é resolvido por decomposição LU ou similar (lento) • RBFs com suporte compacto • São bem condicionados (matriz esparsa)
“Fast” RBFs • Carr, Beatson & al • Redução dos centros (solução aproximada) • Fast Multipole Method (Greengard & Rokhlin) • Avaliação aproximada
f = 0 f > 0 f < 0 Modelagem com RBFs • Turk & O’Brien • Usaram pontos de restrição • Pontos de fronteira: f(pi) = 0 • Pontos normais: f(pj) > 0 • Pontos interiores: f(pk) < 0
Visualização de objetos implícitos - Pontos • 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
Curvas de silhueta • Definidas como o conjunto de curvas em que o produto interno da normal a superfície e a direção da visão é zero.
Curvas de nível • Obtidas por interseção de planos perpendiculares à linha de visão
Renderização por polígonos • Aproximação linear por partes + algoritmos de rendarização
Ray Tracing • Promove o acompanhamento de um raio de luz no sentido inverso • Para cada pixel da imagem um raio é lançado • Lento
Volumétrica - Ray Casting • Raios do ponto de vista de visão através de cada pixel são lançados no volume • A comtribuição ao pixel é calculada intregrando a função de densidade ao longo do raio.
Poligonização • Dado um campo escalar, i.e. f: 3 e uma constante c, obter uma aproximação linear por partes para a superfície f –1 (c) • Principais questões • Erros de aproximação • Topologia correta • Número de triângulos • Qualidade dos triângulos
Algoritmos de poligonização • Algoritmo de continuação (Bloomenthal) • Marching Cubes (Lorensen & Cline) • Variantes • Marching Tetrahedra (Treece & al) • Marching Triangles (Hartmann) • Dual Contouring (Gibson, Shaefer & Warren)
O sistema Teddy (Igarashi) • Modelagem baseada em traços • Muitas operações são executadas através de traços (curvas) • Criação • Extrusão • Corte • Mistura • Usa malha tradicional para representação • Suavização usa a poligonização de Hoppe • Recentemente introduziu uma “malha mais bonita” • Objetos com topologia esférica
Forma livre com superfícies variacionais (Karpenko & al) • Parecido com o Teddy • Usa interpolação thin-plate (RBFs) • Visualização via poligonização • Relaxa um pouco as restricões do Teddy • Múltipla conexão dos componentes • Superfícies ralmente suaves • Principais Problemas • É lento para modelos com muitos pontos • Sem vincos e pontas (sharp features) • Sem furos
Proposta • 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
Operações de Modelagem • Criação • Deformação • Combinação • Operações booleanas • Mistura • Outros • Corte • Escavação
Criação • O usuário desenha a silhueta do objeto (curva fechada) • O sistema constrói o modelo 3D com base na silhueta inflando o polígono
Combinação (blending) • Uma curva é traçada para unir duas partes do Objeto • As duas partes são unidas
Perfuração • Projeta-se o traço do furo na parte frontal e traseira da superfície • Usa-se as duas projeções p/ computar alguns pontos médios • Adiciona-se um ponrto no “centro” que é avaliado como negativo • Cria-se outro objeto • Combinação
Edição - malhas • Free-Form Modeling (Botsh & Kobbelt) • A superfície deformada pode ser moldada com rigidez de anisotropica • A suavidade das deformaçõews variam de C0 a C2.
Representação de malha híbrida (Allègre & al) • Opera com malhas paramétricas e implícitas • Utiliza uma Hybrid-Tree (generalização de CSG-Tree)
Sistema • Desejamos que o sistema tenha as seguintes característica • Baixa complexidade de avaliação/visualização, • Baixo custo computacional para visualização, • Pouco dependente das distribuições espaciais de amostragem.
Resultados Preliminares • Reconstrução de superfícies através de funções de base radiais com suporte compacto • Subdivisão espacial • Construção da função interpolante • Poligonização
Subdivisão espacial • O espaço é subdividido por meio de uma octree • Critério de subdivisão: Quantidade de pontos por nó = Lmax
Construção da função Interpolante • Para cada nó da octree calculamos uma RBF com suporte compacto, com raio suporte igual a ¾ da diagonal do cubo do nó folha • Poucos pontos podem gerar funções ruins • Surgem falhas e artefatos indesejáveis • Se a quantidade de pontos é insuficiente, aumentamos progressivamente o raio do suporte da função.
Cont. Ri ci
Partição da unidade • Depois que o domínio é dividido em subconjuntos não disjuntos i e calculada as funções locais si usamos o método da partição da unidade.
Conclusõ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.
Algumas 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?