Connectivity Maps for Subdivision Surfaces

Connectivity Maps for Subdivision Surfaces

CONNECTIVITY MAPS FOR SUBDIVISION SURFACES Ali Mahdavi Amiri and Faramarz Samavati University of Calgary, 2500 University Drive NW, Calgary, Canada Keywords: Hierarchical Data Structure, Half-edge, Subdivision, Patch-based Refinement. Abstract: In this paper, we introduce a hierarchical indexing for adjacency queries specially for applying subdivision schemes on some simple spherical and toroidal polyhedrons as the base model for the content creation process. The indexing method is created from integer coordinates of regular 2D domains (connectivity maps) resulting from unfolding polyhedrons. All connectivities are found using algebraic relationships of the connectivity map’s indices; therefore, no additional data structure is required and operations are extremely fast and efficient. Although connectivity relationships of the polyhedrons are as simple as the first resolution, the models created by our proposed method is not restricted to the subdivided polyhedrons. Using our connectivity based method, complex objects can be created by adding sharp features and holes and applying deformation and remeshing techniques. We demonstrate capacities and the efficiency of the method with several example results and compare its speed with that of the half-edge data structure. 1 INTRODUCTION tivity between nodes in consecutive resolutions mak- ing it inefficient in terms of space. To avoid this To generate a complex graphical shape, it is com- problem, there are some proposed indexing meth- mon to start with a simple shape and progressively ods trying to assign an index to each vertex and re- make it more complex using basic geometric opera- move the tree structure. Existing indexing methods tions. Most graphical software packages (e.g. Maya for quadtrees are typically targeted at supporting hier- (Maya, 2011)) provide spheres, cubes, cylinders or archies between parent and children nodes but they toroidal polyhedrons as primitive objects. Basic op- are unable to quickly find a specific node’s neigh- erations for creating complex objects include reposi- bors. It is also possible to use patch-based methods tioning their vertices, adding more vertices through for subdivision schemes (Bunnell, 2005; Shiue et al., subdivision and adding features (e.g. holes). In par- 2005; Peters, 2000). However, using such methods ticular, using surface subdivision schemes not only connectivity of vertices specially for extra-ordinary provides more vertices for manipulating the shape but and boundary vertices is not well defined. As a re- also creates a very useful hierarchy resulting from dif- sult, they need to maintain the connectivity using ad- ferent levels of subdivision. ditional structures such as half-edge data structures. To support such a hierarchy and efficient opera- Previously proposed data structures typically try tions (such as neighborhood-finding), a well-designed to maintain the arbitrary connectivity using compli- data structure is required. A common data structure cated pointer-based data structures. However, we es- for graphical objects is the half-edge data structure tablish our work based on simple polyhedrons with (Weiler, 1985; Kettner, 1998). However, the half-edge straightforward connectivities to ease the connectivity data structure is not naturally able to support subdivi- inquiries. To assign geometry on polyhedron’s ver- sion hierarchies. Moreover, half-edge data structure tices, we use an indexing method as a data structure is very slow at high levels of subdivision due to the to support operations such as neighborhood finding, extensive amount of connectivity information that the hierarchical traversal, and subdivision. To obtain this half-edge needs to store (see Section 9). data structure, we first unfold a simple polyhedron, A frequently used alternative is quadtree repre- such as a cube, tetrahedron, octahedron, or toroidal sentation (Samet, 2005). Quadtrees are able to sup- polyhedron (see Section 3) as the shapes forming the port the hierarchy but are inefficient for neighborhood base topology. The resulting 2D domain (connectiv- finding. Moreover, a quadtree needs to store connec- ity map) is then used for assigning integer indices to 26 Mahdavi Amiri A. and Samavati F.. CONNECTIVITY MAPS FOR SUBDIVISION SURFACES. DOI: 10.5220/0003814200260037 In Proceedings of the International Conference on Computer Graphics Theory and Applications (GRAPP-2012), pages 26-37 ISBN: 978-989-8565-02-0 Copyright c 2012 SCITEPRESS (Science and Technology Publications, Lda.) CONNECTIVITY MAPS FOR SUBDIVISION SURFACES (1,4)0 (2,4)0 (16,64)4 (32,64)4 (0,3) (1,3) (2,3) 0 0 0 (3,3)0 (0,48)4 (48,48)4 4 Flattening S Editting (0,2)0 (1,2)0 (2,2)0 (3,2)0 (0,32)4 (48,32)4 (32,16) (16,16)4 4 (1,1)0 (2,1)0 (1,0) (16,0)4 (32,0) 0 (2,0)0 4 Figure 1: The initial cube’s connectivity map and its subdivided version.The cube’s vertices are manipulated and a chess piece is obtained. The connectivity map’s indices are shown beside them. (a;b)r indicates the vertex with index (a;b) at resolution r. every vertex of the polyhedron based on its Cartesian indexing scheme in Section 3. Hierarchical traversal coordinates. These integer indices refer to entries of and neighborhood vectors are discussed in Section 4. a 2D array storing vertices’ 3D positions. Using such We clarify how to apply Loop and Catmull-Clark sub- connectivity maps, simple operations in 2D are de- division using our method in Section 5. Hierarchical fined to find the neighbors of a face or vertex. Indeed, mesh editing is discussed in Section 6. We describe simplicity of the proposed connectivity maps result some possible methods to generate complex objects simple operations for connectivity inquiries. Using with simple connectivities in Section 7. Extracting such connectivity maps, all the vertices, edges and connectivity information of geometry images is de- face’s connectivities can be found using algebraic re- scribed in Section 8 and finally we compare the speed lationships. In summary, our approach is devoted to of the proposed indexing with that of the half-edge in defining the connectivity and the topology of geomet- Section 9. ric models as a primary goal while the geometry and its modifications (including subdivision schemes) are added as a secondary goal. Although we use simple polyhedrons, complex 2 RELATED WORK objects can be created using this data structure. For creating complex shapes, the initial simple polyhe- Generating an object using subdivision schemes such dron can be subdivided using various subdivision as Loop and Catmull-Clark is a standard method for schemes such as linear, Catmull-Clark or Loop sub- geometric modeling (Loop, 1987; Catmull and Clark, division. The location of subdivided vertices can then 1998). The half-edge and quadtree are two commonly be modified (manually or automatically) using defor- used data structures to support subdivision schemes mation techniques or remeshing methods to create the (Weiler, 1985; Kettner, 1998; Samet, 2005; Zorin desired shapes and holes and sharp features can also et al., 1997). However, when the information stored be added. Note that in this representation, it is only by a data structure becomes very large, it is inefficient necessary to store vertex positions since the connec- to use pointer based data structures for storing con- tivity of edges and faces is implicit (See Fig 1). nectivity information (Samet, 1990; Samet, 1985). In Our main contribution is to introduce connectivity order to avoid pointers, some indexing methods have maps for polyhedrons. The coordinates of the con- been proposed to index mesh vertices and faces. nectivity maps’ vertices are considered as indices that Proposed indexing methods for quadtrees (Samet, can address adjacency queries and provide 3D loca- 1985; Gargantini, 1982) can be used for represent- tions. Initial connectivity maps are provided and com- ing meshes. However, as a very important inquiry plicated pre-processing steps are not required. After for mesh processing, neighborhood finding is not effi- establishing the initial connectivity maps, subsequent cient enough for interactive applications. In our work, resolutions are formed based on the initial connec- we derive some simple algebraic operations for find- tivity maps. Using the proposed connectivity maps ing neighbors of a given face or vertex. The benefit and the indexing method, adjacency and hierarchical of algebraic operations is not only that neighbors of a queries are addressed using fast and straightforward face or vertex can be found in constant time, but fur- algebraic relationships. ther faces or vertices such as neighbors of neighbors The rest of the paper is organized as follows: Re- (more than 1-ring neighborhood) are also accessible lated work is discussed in Section 2. We discuss the in constant time. Patch-based methods generally divide the mesh 27 GRAPP 2012 - International Conference on Computer Graphics Theory and Applications (2,2) 1 (4,2) 1 (0,1)0 (1,1)0 (2,1)0 (0,2) 1 (1,4)0 (2,4)0 (3,8)1 (2,8)1 (4,8)1 (3,3)0 (0,6)1 (6,6)1 (4,1) 1 (0,3)0 (1,3)0 (2,3)0 (0,1) 1 (0,5)1 (6,5)1 (1,2)0 (2,2)0 (0,0) 1 (2,0) 1 (4,0) 1 (0,2)0 (3,2)0 (0,4)1 (6,4)1 (0,0)0 (1,0)0 (2,0)0 (1,1)0 (2,1)0 (2,2)1 (4,2)1 (1,0)0 (2,0)0 (2,0)1 (4,0)1 (0,4)0 (3,4) 0 (0,8) 1 (6,8) 1 (0,2)0 (1,2)0 (2,2)0 (0,4)1 (2,4)1 (4,4)1 (0,1)0 (2,1)0 (0,2)0 (3,2) 0 (0,4) 1 (6,4) 1 (0,2)1 (4,2)1 (0,0)0 (1,0)0 (2,0)0 (0,0)1 (2,0)1 (4,0)1 (0,0)0 (3,0)0 (0,0) 1 (6,0) 1 Figure 2: A cube, tetrahedron, octahedron and a toroidal polyhedron and their 2D domain at the first and the second resolu- tions.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us