1 / 30

Interpolating Subdivision for Meshes with Arbitrary T opology [ Zorin et. al ] – SIGGRAPH’96

Interpolating Subdivision for Meshes with Arbitrary T opology [ Zorin et. al ] – SIGGRAPH’96. Rodrigo Braga Pinheiro. Introdução. A superfície a ser subdividida começa com uma malha poligonal original, chamada de “gaiola de controle ”.

Download Presentation

Interpolating Subdivision for Meshes with Arbitrary T opology [ Zorin et. al ] – SIGGRAPH’96

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. InterpolatingSubdivision for MesheswithArbitraryTopology [Zorinet. al] – SIGGRAPH’96 Rodrigo Braga Pinheiro

  2. Introdução • A superfície a ser subdividida começa com uma malha poligonal original, chamada de “gaiola de controle”. • A partir daí a superfície é subdividida em polígonos adicionais e seus vértices são movidos de acordo com uma série de regras. • As regras variam de um esquema de subdivisão para outro. Estas regras que determinam as propriedades da superfície. Por exemplo: ModifiedButterfly (triângulos), Catmull-Clark(quad).

  3. Continuidade • Uma característica de cada esquema é a sua continuidade. • Esquemas são referenciados como tendo continuidade . , onde n determina quantas derivadas são continuas. • significa que nenhuma derivada é continua. Esta superfície não tem buracos na malha, mas pode apresentar quinas. • significa que a 1a derivada é continua. Esta superfície não tem buracos na malha e não gera quinas quando duas funções se encontram.

  4. Continuidade Não tem continuidade Se encontram, masderivadasdiferentes no ponto p. Se encontram e possuemderivadasiguais no ponto p.

  5. Aproximativo vsInterpolativo • No esquema aproximativo os vértices da gaiola de controle não ficam em cima da superfície limite. • No esquema interpolativo os vértices já criados no passo de subdivisão anterior são mantidos na mesma posição.

  6. Uniforme vsNão-Uniforme • Os esquemas uniformes dividem todas as áreas da gaiola de controle usando as mesmas regras. • Os esquemas não-uniformes podem, por exemplo, subdividir uma aresta de uma maneira e outra aresta de outra maneira.

  7. Triangular vs Quadrilátero • Um esquema pode ter a característica de trabalhar com malhas de triângulos ou de quads.

  8. Avaliação da superfície • Todo algoritmo de subdivisão possui como característica uma “máscara de avaliação”. A máscara define quais os vértices que deverão ser levados em conta para deslocar um novo vértice gerado em determinada subdivisão.

  9. Estacionário vsNão-Estacionário • Se um esquema é estacionário, significa que o mesmo grupo de regras é usado para subdividir a malha em cada passo. • Um esquema não estacionário pode usar um conjunto de regras para o passo i e um conjunto diferente para o passo i + 1.

  10. Vértices Regulares vs Extraordinários • Cada esquema de subdivisão tem sua preferência para a valência de um vértice. Ou seja, o criador do algoritmo de subdivisão define um número considerado ideal para a quantidade de arestas que devem chegam a um vértice. • Um vértice com a valência “preferida” é chamada de vértice regular. Ou seja, se um vértice tem “n” arestas chegando nele e o número de valência escolhido pelo criador for “n”, esse vértice é regular. • Um vértice com uma valência diferente da definida pelo criador é chamado de extraordinário. • Os esquemas podem ou não produzir novos vértices extraordinários em cada subdivisão. Extraordinário Regular

  11. ModifiedButterfly • Nosso esquema escolhido possui continuidade , é interpolativo, uniforme, estacionário, utiliza malhas triangulares, tem como valência 6 os vértices regulares e usa as seguintes máscaras abaixo para subdivisão. Regular Extraordinário

  12. ModifiedButterfly – Subdivisão regular • Ao dividir uma aresta em duas, se os dois vértices da ponta da aresta (pais) forem regulares, a seguinte máscara com os respectivos pesos são usados. • W é o valor de tensão a ser usado. Esse fator representa o quanto a superfície vai ficar próxima da malha de controle.

  13. ModifiedButterfly – Subdivisão Extraordinária • Caso os dois vértices da aresta (pais) sejam extraordinários, calcula-se o peso de acordo com o número de vértices vizinhos e divide-se por dois. • Caso somente um vértice da aresta seja irregular, usa-se somente este vértice para se calcular o peso.

  14. Implementação (Ineficiente) • Primeiro foi feito com uma estrutura de dados convencional para malhas. Um array guardava os vértices e outro array guardava as faces (em grupo de 3 indíces). • Na hora da subdivisão, este algoritmo apresenta complexidade O(F*F) e uma constante alta. Pois cada face deve ser subdividida e para cada subdivisão deve se achar a valência e os vértices vizinhos de cada vértice. Para achar esta valência, deve-se varrer toda a estrutura de dados de novo.

  15. Implementação (Ineficiente) • A tabela abaixo mostra os resultados para a implementação com a estrutura de dados mencionada no slide anterior.

  16. Implementação • Para melhorar o desempenho, foi utilizada uma estrutura de half-edge. Que permite que consultas variadas na malha sejam feitas em tempo constante.

  17. Implementação • Carregamodeloe cria um VertexBuffer e um IndexBuffer. • A partir do VertexBuffer e do IndexBuffer, inicializa-se a estrutura de Half-Edge • Para cadavértice, cria-se um HE_vert • A cada 3 vértices, cria-se umaHE_face e interativamentecomeça a criar as HE_edge

  18. Implementação (Half-Edge) Tetraedro (visão de cima)

  19. Implementação (Half-Edge) Estãosendoavaliadososvérticesda base

  20. Implementação (Half-Edge) Half-edge oposta Half-edge A

  21. Implementação (Half-Edge) D C B • Uma face podeter 3 half-edges, massó é necessário a referênciaparaumadelas. • Um vérticepodeter “n” half-edges (se estiverconectado a “n” arestas), massó é necessário a referênciaparaumadelas.

  22. Implementação (Normais) Média das normais das faces quecontém o vértice

  23. Implementação (Tessellation) • Percorrecada face • Criavértice de cadaarestada face • 12 novas half-edges • Marcavérticesquedeverãotersuas half-edges antigasdeletadas 2 0 1 8 7 6 9 11 4 3 10 5

  24. Implementação (Tessellation) • Para cada um dos vérticescriados, calcula-se as novas half-edges. • Apóstodas as half-edges teremsidoscriadas, é necessáriodeslocarosvértices de acordo com a informação dos seusvérticesgeradores (pais). Regular Extraordinário

  25. Implementação • Algumas consultas usadas através dessa estrutura de dados.

  26. Implementação • Com essa estrutura a complexidade o algoritmo ficou linear. O(F). Abaixo os resultados:

  27. Implementação • O(F*F) vsO(F)

  28. Resultados

  29. Resultados

  30. Bibliografia • Zorin, D., P. Schröder, and W. Sweldens. “Interpolating Subdivision for Meshes with Arbitrary Topology.” Siggraph ‘96. pp. 189–192. • Dyn, N., J. A. Gregory, and D. A. Levin. “Butterfly Subdivision Scheme for Surface Interpolation with Tension Control.” ACM Transactions on Graphics. Vol. 9, No. 2 (April 1990): pp. 160–169. • DeRose, T., M. Kass, and T. Truong. “Subdivision Surfaces in Character Animation.” Siggraph ‘98. pp. 85–94. • Dyn, N., S. Hed, and D. Levin. “Subdivision Schemes for Surface Interpolation.” Workshop in Computational Geometry (1993), A. C. et al., Ed.,” World Scientific, pp. 97–118. • Zorin, D. “Stationary Subdivision and Multiresolution Surface Representations.” Ph.D. diss., California Institute of Technology, 1997. (Available at ftp://ftp.cs.caltech.edu/tr/cs-tr-97-32.ps.Z) • Catmull, E., and J. Clark. “Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes.” Computer Aided Design, 1978. • Halstead, M., M. Kass, and T. DeRose. “Efficient, Fair Interpolation Using Catmull-Clark Surfaces.” Siggraph ‘93. p. 35. • http://www.gamasutra.com/view/feature/3177/subdivision_surface_theory.php?page=2

More Related