## Local specification of surface subdivision algorithms (2004)

### Cached

### Download Links

- [www.cpsc.ucalgary.ca]
- [pages.cpsc.ucalgary.ca]
- [algorithmicbotany.org]
- DBLP

### Other Repositories/Bibliography

Venue: | AGTIVE 2003 |

Citations: | 12 - 3 self |

### BibTeX

@INPROCEEDINGS{Smith04localspecification,

author = {Colin Smith and Przemyslaw Prusinkiewicz and Faramarz Samavati},

title = {Local specification of surface subdivision algorithms},

booktitle = { AGTIVE 2003},

year = {2004},

pages = {313--327},

publisher = {}

}

### OpenURL

### Abstract

Many polygon mesh algorithms operate in a local manner, yet are formally specified using global indexing schemes. This obscures the essence of these algorithms and makes their specification unnecessarily complex, especially if the mesh topology is modified dynamically. We address these problems by defining a set of local operations on polygon meshes represented by graph rotation systems. We also introduce the vv programming language, which makes it possible to express these operations in a machine−readable form. The usefulness of the vv language is illustrated by the application examples, in which we concentrate on subdivision algorithms for the geometric modeling of surfaces. The algorithms are specified as short, intuitive vv programs, directly executable by the corresponding modeling software.

### Citations

791 | Introduction to Algorithms, Second Edition
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ... set of operations on this representation, which they used to implement interactive polygon mesh modeling tools. We introduce vertex-vertex systems, related to the adjacency-list graph representation =-=[28]-=-, as an alternative data structure based on the graph rotation systems. We also define the vertex-vertex algebra for describing local operations on the vertex-vertex systems, and vv, an extension of t... |

651 |
Recursively generated B-spline surfaces on arbitrary topological surfaces,” (ComputerAided Design 10(6):350-355
- Catmull, Clark
- 1978
(Show Context)
Citation Context ...h transformations, include the winged-edge [12], and quad-edge [13] representations. Pursuing objectives closer to ours, Egli and Stewart [14] applied cellular complexes [15] to specify Catmull-Clark =-=[16]-=- subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined using G-maps [18, 19]. More recently, Velho [20] proposed a meth... |

613 |
The Algorithmic Beauty of Plants
- Prusinkiewicz, Lindenmayer
- 1990
(Show Context)
Citation Context ...vision algorithms. Within the confines of linear and branching structures, an example of such a notation is provided by L-systems. In addition to the generation of fractals and the modeling of plants =-=[6]-=-, L-systems have recently been applied to the geometric modeling of subdivision curves [7]. Unfortunately, known extensions of L-systems to polygonal structures, namely map L-systems [6, 8] and cell s... |

544 |
Smooth subdivision surfaces based on triangles
- Loop
- 1987
(Show Context)
Citation Context ... an initial polygon mesh topology, a sample polyhedron with that topology, and three steps of its polyhedral subdivision (with hidden lines eliminated). 3.3 Loop algorithm The Loop subdivision scheme =-=[31]-=- is topologically equivalent to the polyhedral subdivision scheme, in the sense that both operate on triangular meshes and subdivide a triangular face into four triangles in every iteration step. The ... |

490 | Primitives for the manipulation of general sub-divisions and the computation of voronoi
- Guibas, Stolfi
- 1985
(Show Context)
Citation Context ...gon meshes depends on their representation. Known examples of such representations, conducive to both local information gathering and mesh transformations, include the winged-edge [12], and quad-edge =-=[13]-=- representations. Pursuing objectives closer to ours, Egli and Stewart [14] applied cellular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed... |

385 |
Handbook of Graph Grammars and Computing by Graph Transformation, volume I: Foundations
- Rozenberg, editor
- 1997
(Show Context)
Citation Context ...nd do not provide a mechanism for accessing context information. Limited geometric interpretations and a focus on the context-free case are also prevalent in the broader scope of graph grammars (c.f. =-=[10, 11]-=-). Our proposed solution preserves the purely local operation of L-systems and graph grammars, but departs from their declarative character. Instead, context information is accessed and modeled struct... |

355 | A butterfly subdivision scheme for surface interpolation with tension control
- Dyn, Gregory, et al.
(Show Context)
Citation Context ...sitions. b) The vv identification of vertices involved in the application of the mask to a new vertex x. c) The Loop mask for old vertices. 3.4 Butterfly algorithm The butterfly subdivision algorithm =-=[32]-=-, like that for Loop subdivision, is topologically equivalent to the polyhedral subdivision. In contrast to the Loop subdivision, however, which approximates the shape of the initial polyhedron, the b... |

291 |
An Introduction to Solid Modeling
- Mäntylä
- 1988
(Show Context)
Citation Context ...ision algorithms can be defined using G-maps [18, 19]. More recently, Velho [20] proposed a method for describing subdivision algorithms using stellar operators [21] that act on a half-edge structure =-=[22]-=-. We have chosen yet another representation, based on the mathematical notion of graph rotation systems [23, 24]. A graph rotation system associates each vertex of a polygon mesh with an oriented circ... |

195 | Subdivision for Modeling and Animation
- Zorin, Schroder
- 2000
(Show Context)
Citation Context ...y iteratively subdividing polygon meshes. This process involves the creation of new vertices, edges, and faces. The operations on the individual mesh elements are described in local terms using masks =-=[2]-=-, also referred to as stencils [3]. A mask is a graph that depicts a vertex of interest (either a newly created point or an old vertex being repositioned) and the neighbors that affect it. The new ver... |

121 | 3-subdivision, in
- Kobbelt
(Show Context)
Citation Context ...ion of the butterfly algorithm for closed surfaces are presented in Figure 8. An example application of the algorithm is illustrated in Figure 9. 3.5 √ 3 algorithm Kobbelt’s √ 3-subdivision algorithm =-=[33]-=- is an example of a scheme that changes the topology of a triangular mesh in a manner different from the polyhedral subdivision. The vv specification of the √ 3-subdivision algorithm is given by Figur... |

112 |
Wavelets for computer graphics
- Stolnitz, DeRose, et al.
- 1996
(Show Context)
Citation Context ...ghbor of q and q as the neighbor of p; vertices p and q become neighbors of x. 3.2 Polyhedral subdivision One of the simplest subdivision algorithms is the polyhedral subdivision of triangular meshes =-=[30]-=-. The algorithm inserts a new vertex at the midpoint of each edge, and divides each triangle of the mesh into four co-planar triangles. While the overall shape of the initial polyhedron does not chang... |

89 |
A combinatorial representation for polyhedral surfaces
- Edmonds
- 1960
(Show Context)
Citation Context ...ibing subdivision algorithms using stellar operators [21] that act on a half-edge structure [22]. We have chosen yet another representation, based on the mathematical notion of graph rotation systems =-=[23, 24]-=-. A graph rotation system associates each vertex of a polygon mesh with an oriented circular list of its neighboring vertices. A set of these lists, defined for each vertex, completely represents the ... |

82 |
Topological models for boundary representation: a comparison with n-dimensional generalized maps
- Lienhardt
- 1991
(Show Context)
Citation Context ...llular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined using G-maps =-=[18, 19]-=-. More recently, Velho [20] proposed a method for describing subdivision algorithms using stellar operators [21] that act on a half-edge structure [22]. We have chosen yet another representation, base... |

45 |
Graphs, groups and surfaces
- White
- 1984
(Show Context)
Citation Context ...ibing subdivision algorithms using stellar operators [21] that act on a half-edge structure [22]. We have chosen yet another representation, based on the mathematical notion of graph rotation systems =-=[23, 24]-=-. A graph rotation system associates each vertex of a polygon mesh with an oriented circular list of its neighboring vertices. A set of these lists, defined for each vertex, completely represents the ... |

41 |
Chain models of physical behavior for engineering analysis and design
- Palmer, Shapiro
- 1993
(Show Context)
Citation Context ... information gathering and mesh transformations, include the winged-edge [12], and quad-edge [13] representations. Pursuing objectives closer to ours, Egli and Stewart [14] applied cellular complexes =-=[15]-=- to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined using G-maps [18, 19]. More recent... |

37 |
Winged-edge Polyhedron Representation
- Baumgart
- 1972
(Show Context)
Citation Context ...l operations on polygon meshes depends on their representation. Known examples of such representations, conducive to both local information gathering and mesh transformations, include the winged-edge =-=[12]-=-, and quad-edge [13] representations. Pursuing objectives closer to ours, Egli and Stewart [14] applied cellular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and L... |

37 | Design and implementation of the L+C modeling language
- Karwowski, Prusinkiewicz
- 2003
(Show Context)
Citation Context ... the vvinterpreter treats the vv program as an input and runs accordingly. This approach is based on that introduced by Karwowski and Prusinkiewicz to translate and execute L-system-based programs in =-=[29]-=-. 3 Subdivision algorithms To illustrate the usefulness of the vertex-vertex algebra, we now provide compact descriptions of several subdivision algorithms. These descriptions can be directly executed... |

27 |
MGS: a programming language for the transformations of topological collections
- Giavitto, Michel
- 2001
(Show Context)
Citation Context ...ate and the state of its neighbors. The elements positioned farther away are not considered. A challenging problem is the characterization and modeling of dynamical systems with a dynamical structure =-=[1]-=-, in which not only the state of the elements of the system, but also their number and configuration, change over time. In this paper, we consider a class of such systems pertinent to geometric modeli... |

23 | Guaranteeing the 2-Manifold Property for Meshes with Doubly Linked Face List - Akleman, Chen - 1999 |

17 | L-system description of subdivision curves
- Prusinkiewicz, Samavati, et al.
(Show Context)
Citation Context ...uch a notation is provided by L-systems. In addition to the generation of fractals and the modeling of plants [6], L-systems have recently been applied to the geometric modeling of subdivision curves =-=[7]-=-. Unfortunately, known extensions of L-systems to polygonal structures, namely map L-systems [6, 8] and cell systems [9], lack features needed for the specification of subdivision algorithms for surfa... |

13 |
Simplicial moves on complexes and manifolds, Geometry And Topology
- Lickorish
- 1998
(Show Context)
Citation Context ...hat local operations involved in subdivision algorithms can be defined using G-maps [18, 19]. More recently, Velho [20] proposed a method for describing subdivision algorithms using stellar operators =-=[21]-=- that act on a half-edge structure [22]. We have chosen yet another representation, based on the mathematical notion of graph rotation systems [23, 24]. A graph rotation system associates each vertex ... |

12 |
On the algebraic and geometric foundations of computer graphics
- Goldman
- 2002
(Show Context)
Citation Context ...2 +···+αn = 1. The meaning of the affine combination is derived from its transformation to the form P = P 1 +α 2 (P 2 −P 1 )+ ··· + αn(Pn − P 1 ), which is a well-defined expression of vector algebra =-=[4, 5]-=-.s2 C. Smith, P. Prusinkiewicz and F. Samavati closely related to the array data structures supported by most programming languages. On the other hand, indices provide only an indirect access to the n... |

11 | A new paradigm for changing topology during subdivision modeling
- Akleman, Chen, et al.
- 2000
(Show Context)
Citation Context ...otation system. A polygonal interpretation of a vertex-vertex system maps it into a polygon mesh. The interpretations that we consider in this paper are variants of the Edmonds’ permutation technique =-=[23, 24, 26]-=-, which is defined for connected graph rotation systems. It defines polygons of the mesh using the following algorithm (Fig. 1). Given an oriented edge (u,v) in S, we find the oriented edge (v,w) such... |

10 |
Parallel generation of maps: Developmental systems for ce11 layers
- Lindenmayer, Rozenberg
- 1979
(Show Context)
Citation Context ...ing of plants [6], L-systems have recently been applied to the geometric modeling of subdivision curves [7]. Unfortunately, known extensions of L-systems to polygonal structures, namely map L-systems =-=[6, 8]-=- and cell systems [9], lack features needed for the specification of subdivision algorithms for surfaces. They do not offer a flexible control over geometry, and do not provide a mechanism for accessi... |

9 | Stellar subdivision grammars
- Velho
- 2003
(Show Context)
Citation Context ...y Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined using G-maps [18, 19]. More recently, Velho =-=[20]-=- proposed a method for describing subdivision algorithms using stellar operators [21] that act on a half-edge structure [22]. We have chosen yet another representation, based on the mathematical notio... |

8 |
A model for cellular development in morphogenetic fields
- Boer, Fracchia, et al.
- 1992
(Show Context)
Citation Context ...tems have recently been applied to the geometric modeling of subdivision curves [7]. Unfortunately, known extensions of L-systems to polygonal structures, namely map L-systems [6, 8] and cell systems =-=[9]-=-, lack features needed for the specification of subdivision algorithms for surfaces. They do not offer a flexible control over geometry, and do not provide a mechanism for accessing context informatio... |

8 | A framework for system specification using chains on cell complexes
- Egli, Stewart
- 2004
(Show Context)
Citation Context ...tations, conducive to both local information gathering and mesh transformations, include the winged-edge [12], and quad-edge [13] representations. Pursuing objectives closer to ours, Egli and Stewart =-=[14]-=- applied cellular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined us... |

6 | A prototype system for robust, interactive and user-friendly modeling of orientable 2-manifold meshes - Akleman, Chen, et al. - 2002 |

5 |
A coordinate-free approach to geomeric programming
- DeRose
- 1989
(Show Context)
Citation Context ...2 +···+αn = 1. The meaning of the affine combination is derived from its transformation to the form P = P 1 +α 2 (P 2 −P 1 )+ ··· + αn(Pn − P 1 ), which is a well-defined expression of vector algebra =-=[4, 5]-=-.s2 C. Smith, P. Prusinkiewicz and F. Samavati closely related to the array data structures supported by most programming languages. On the other hand, indices provide only an indirect access to the n... |

2 |
Subdivision par opérations locales
- Lienhardt
- 2001
(Show Context)
Citation Context ...d-edge [13] representations. Pursuing objectives closer to ours, Egli and Stewart [14] applied cellular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt =-=[17]-=- showed that local operations involved in subdivision algorithms can be defined using G-maps [18, 19]. More recently, Velho [20] proposed a method for describing subdivision algorithms using stellar o... |

2 |
Subdivisions de surfaces et cartes généralisées de dimension 2. Informatique Théorique et Applications 25
- Lienhardt
- 1991
(Show Context)
Citation Context ...llular complexes [15] to specify Catmull-Clark [16] subdivision in an index-free manner, and Lienhardt [17] showed that local operations involved in subdivision algorithms can be defined using G-maps =-=[18, 19]-=-. More recently, Velho [20] proposed a method for describing subdivision algorithms using stellar operators [21] that act on a half-edge structure [22]. We have chosen yet another representation, base... |

1 |
Subdivision surfaces. Shape Modeling International tutorial notes
- Sabin
- 2002
(Show Context)
Citation Context ...meshes. This process involves the creation of new vertices, edges, and faces. The operations on the individual mesh elements are described in local terms using masks [2], also referred to as stencils =-=[3]-=-. A mask is a graph that depicts a vertex of interest (either a newly created point or an old vertex being repositioned) and the neighbors that affect it. The new vertex position is determined as an a... |