SUBDIVISION surfaces are becoming more and more popular

Similar documents
A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

Combination Labelings Of Graphs

Reading. Subdivision curves and surfaces. Subdivision curves. Chaikin s algorithm. Recommended:

Chapter 3 Classification of FFT Processor Algorithms

Ones Assignment Method for Solving Traveling Salesman Problem

Cubic Polynomial Curves with a Shape Parameter

An Efficient Algorithm for Graph Bisection of Triangularizations

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

Graphs. Minimum Spanning Trees. Slides by Rose Hoberman (CMU)

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

6.854J / J Advanced Algorithms Fall 2008

Lecture 2: Spectra of Graphs

The Magma Database file formats

1 Graph Sparsfication

On (K t e)-saturated Graphs

An Efficient Algorithm for Graph Bisection of Triangularizations

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Fast Fourier Transform (FFT) Algorithms

Greedy Algorithms. Interval Scheduling. Greedy Algorithms. Interval scheduling. Greedy Algorithms. Interval Scheduling

Counting Regions in the Plane and More 1

Recursive Procedures. How can you model the relationship between consecutive terms of a sequence?

Big-O Analysis. Asymptotics

Accuracy Improvement in Camera Calibration

Minimum Spanning Trees

EE123 Digital Signal Processing

Pattern Recognition Systems Lab 1 Least Mean Squares

1.2 Binomial Coefficients and Subsets

n n B. How many subsets of C are there of cardinality n. We are selecting elements for such a

The isoperimetric problem on the hypercube

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Elementary Educational Computer

Visualization of Gauss-Bonnet Theorem

CS 683: Advanced Design and Analysis of Algorithms

INTERSECTION CORDIAL LABELING OF GRAPHS

How do we evaluate algorithms?

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs

Homework 1 Solutions MA 522 Fall 2017

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

Counting the Number of Minimum Roman Dominating Functions of a Graph

Τεχνολογία Λογισμικού

Evaluation scheme for Tracking in AMI

Assignment 5; Due Friday, February 10

Alpha Individual Solutions MAΘ National Convention 2013

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

. Written in factored form it is easy to see that the roots are 2, 2, i,

CIS 121 Data Structures and Algorithms with Java Fall Big-Oh Notation Tuesday, September 5 (Make-up Friday, September 8)

Improved triangular subdivision schemes 1

Some non-existence results on Leech trees

c-dominating Sets for Families of Graphs

Algorithms for Disk Covering Problems with the Most Points

Octahedral Graph Scaling

Protected points in ordered trees

EVALUATION OF TRIGONOMETRIC FUNCTIONS

Symmetric Class 0 subgraphs of complete graphs

Smooth Spline Surfaces over Irregular Meshes

3D Model Retrieval Method Based on Sample Prediction

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Throughput-Delay Scaling in Wireless Networks with Constant-Size Packets

Computational Geometry

IMP: Superposer Integrated Morphometrics Package Superposition Tool

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Spanning Maximal Planar Subgraphs of Random Graphs

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Big-O Analysis. Asymptotics

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme

Computers and Scientific Thinking

Lecture 18. Optimization in n dimensions

New Results on Energy of Graphs of Small Order

The Adjacency Matrix and The nth Eigenvalue

Σ P(i) ( depth T (K i ) + 1),

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions

Sorting in Linear Time. Data Structures and Algorithms Andrei Bulatov

Minimum Spanning Trees

5.3 Recursive definitions and structural induction

condition w i B i S maximum u i

Minimum Spanning Trees. Application: Connecting a Network

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

DATA STRUCTURES. amortized analysis binomial heaps Fibonacci heaps union-find. Data structures. Appetizer. Appetizer

Xiaozhou (Steve) Li, Atri Rudra, Ram Swaminathan. HP Laboratories HPL Keyword(s): graph coloring; hardness of approximation

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

The Platonic solids The five regular polyhedra

Python Programming: An Introduction to Computer Science

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

Lecture 1: Introduction and Strassen s Algorithm

Sorting 9/15/2009. Sorting Problem. Insertion Sort: Soundness. Insertion Sort. Insertion Sort: Running Time. Insertion Sort: Soundness

Image Segmentation EEE 508

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Orientation. Orientation 10/28/15

LU Decomposition Method

Parallel Polygon Approximation Algorithm Targeted at Reconfigurable Multi-Ring Hardware

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana

Module 8-7: Pascal s Triangle and the Binomial Theorem

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.

On Infinite Groups that are Isomorphic to its Proper Infinite Subgroup. Jaymar Talledo Balihon. Abstract

Transcription:

IEEE-TVCG RGB Subdivisio Erico Puppo, Member, IEEE, ad Daiele Paozzo Abstract We itroduce the RGB Subdivisio: a adaptive subdivisio scheme for triagle meshes, which is based o the iterative applicatio of local refiemet ad coarseig operators, ad geerates the same limit surface of the Loop subdivisio, idepedetly o the order of applicatio of local operators. Our scheme supports dyamic selective refiemet, as i Cotiuous Level Of Detail models, ad it geerates coformig meshes at all itermediate steps. The RGB subdivisio is ecoded i a stadard topological data structure, exteded with few attributes, which ca be used directly for further processig. We preset a iteractive tool that permits to start from a base mesh ad use RGB subdivisio to dyamically adjust its level of detail. Idex Terms Triagle meshes, Subdivisio, Level of Detail. I. INTRODUCTION SUBDIVISION surfaces are becomig more ad more popular i computer graphics ad CAD. Durig the last decade, they foud major applicatios i the etertaimet idustry [] ad i simulatio [2]. Several solid modelers, both commercial ad ope source, ow support modelig based o subdivisio [3], [4], [5], [6]. From the poit of view of users, subdivisio surfaces come midway betwee polygoal meshes ad NURBS, gettig may advatages from both worlds. They allow a desiger to model a shape o the basis of a relatively simple cotrol et, which ca be hadled as freely as a polygoal mesh, while automatically geeratig either a fier mesh at the desired level of detail, or a smooth limit surface. Although the atural approach to modelig based o subdivisio is coarse-to-fie, advaces i reverse subdivisio suggest that also a fie-to-coarse approach ca be udertake [7], [8], [9], [0], []. Direct ad reverse subdivisio may thus be used together, to take ay mesh ad automatically geerate a whole hierarchy of Levels Of Detail (LODs), coarser as well as more refied tha the base mesh. Such a hierarchy, however, will cotai just models at uiform resolutio, i.e., havig the same LOD i all parts of a object. I order to become really competitive with polygoal modelig, subdivisio modelig should also support selective refiemet, i.e., the possibility to vary LOD smoothly across a mesh ad dyamically through time. To this aim, it is ecessary to combie differet levels of subdivisio i the cotext of a mesh, without losig cosistecy with a uderlyig subdivisio scheme (see Figure ). This is the cetral issue ivestigated i this paper. A. Motivatio Most ofte subdivisio is applied up to a certai level ad the resultig mesh is used for further processig [2]. Eve whe Prof. Erico Puppo is with the Departmet of Computer ad Iformatio Scieces of the Uiversity of Geova - email: puppo@disi.uige.it. Daiele Paozzo is a studet at the Departmet of Computer ad Iformatio Scieces of the Uiversity of Geova - email: daiele.paozzo@gmail.com. Mauscript received December 2, 2007; revised May 9, 2008; accepted Jue 7, 2008. Fig.. A polygoal model (upper left) is selectively refied through RGB subdivisio, by icreasig level of detail i the parts represetig eyes, ose, mouth ad the top of the head (upper right). The limit surface of the RGB subdivisio is coicidet with that of the Loop subdivisio (lower). Model courtesy of Silet Bay Studios http://www.siletbaystudios.com users are iterested i rederig the limit surface, subdivided meshes ca be useful i itermediate computatios. For istace, physical egies for aimatio, as well as system solvers for the fiite elemet methods, work o polygoal meshes with a limited budget of cells. It is ofte desirable to refie differet parts of the mesh at differet levels of detail. For istace, the desig of characters for videogames is costraied by a certai budget of polygos. More polygos will be used i detailed areas ad i the proximity of joits, while rigid parts will be modeled with fewer polygos. Similar argumets apply to domai discretizatio for the fiite elemet methods. Maually adjustig the level of detail of the differet parts of a mesh may be a tedious task, uless sophisticated tools to cotrol LOD are made available. This sort of mechaism is customary i Cotiuous Level Of Detail (CLOD) applied to free-form mesh modelig [3]. A mesh at itermediate LOD ca be modified o-lie through selective refiemet i either way, by refiig some parts of it while other parts may be coarseed. To this aim, refiemet ad coarseig operatios must be local ad easily reversible. For subdivided meshes, adaptivity implies that cells at differet levels of subdivisio are combied i the cotext of a sigle mesh. However, classical subdivisio schemes are based o the

IEEE-TVCG 2 Fig. 2. The oe-to-four triagle split patter. applicatio of recursive patters that act uiformly over the whole surface. For istace, the popular Loop [4] ad butterfly [5] schemes for triagle meshes are based o recursive oe-to-four triagle split (see Figure 2), which gives o-coformig meshes whe applied adaptively at differet levels of subdivisio (see the left side of Figure 3). B. Cotributio We itroduce RGB Subdivisio, a adaptive subdivisio scheme for triagle meshes, which is based o the iterative applicatio of local refiemet ad coarseig operators. Our scheme geerates the same limit surface of the Loop subdivisio, idepedetly o the order of applicatio of local operators, it supports dyamic selective refiemet ad it geerates coformig meshes at all itermediate steps. The mai cotributios of the paper are the followig: ) We defie local operators for both refiig ad coarseig a subdivisio mesh of triagles by isertig/deletig oe vertex at a time; 2) O the basis of such operators, we defie the family of RGB triagulatios ad we study them as purely combiatorial structures. We show that they are highly adaptive, sice they spa all possible meshes obtaied by combiig triagles i a give set; 3) We give a dyamic selective refiemet algorithm for RGB triagulatios, with the same features of the algorithms developed i the cotext of CLOD models; 4) Next we develop RGB subdivisio by edowig RGB triagulatios with the rules of Loop subdivisio. We derive a multi-pass formula to compute cotrol poits of vertices correctly ad we develop a mechaism to keep a RGB subdivisio cosistet throughout all steps of selective refiemet; 5) We describe a data structure for RGB subdivisio, which does ot eed to store ay hierarchy ad exteds a stadard topological data structure with a moderate overhead; 6) We preset a applicatio built upo RGB subdivisio ad the selective refiemet algorithm, which allows a user to adjust LOD locally, by iteractig with the mesh through a brush tool. The rest of the paper is orgaized as follows. I Sectio II we discuss related work. I Sectio III we give the ecessary backgroud. I Sectio IV we itroduce RGB triagulatios ad i Sectio V we describe the selective refiemet algorithm workig o them. I Sectio VI we itroduce RGB subdivisio by describig how to set the positio of cotrol poits durig selective refiemet, accordig to the Loop subdivisio scheme. I Sectio VII we describe the data structure ad i Sectio VIII we preset our iteractive tool to maage LOD o RGB subdivisio. Fially, i Sectio IX we make some cocludig remarks. Fig. 3. Red-gree triagulatio: a restricted o-coformig mesh obtaied from adaptive oe-to-four split (left) is made coformig by splittig some triagles further, depedig o the level of their eighbors (right). A. Adaptive subdivisio II. RELATED WORK The literature o subdivisio surfaces is quite exteded. The iterested reader ca refer to [6] for a textbook, [2] for a tutorial ad [8] for a survey. Here, we will review oly those works related to adaptive subdivisio o triagle meshes. Red-gree triagulatios were itroduced i the cotext of fiite elemet methods [7], ad have become popular i the commo practice, as a empirical way to obtai coformig adaptive meshes from hierarchies of triagle meshes geerated from oe-to-four triagle split. They are built through a twostep procedure: first apply oe-to-four triagle split adaptively, ad the subdivide some triagles further, to fix o coformig situatios (see Figure 3). Depedig o the uderlyig subdivisio scheme, the geometry of vertices (cotrol poits), which lie o the trasitio betwee differet levels of subdivisio, may ot correspod to that of the same vertices i a uiformly subdivided mesh. This fact may prevet the correctess of further subdivisio or coarseig of a red-gree triagulatio, uless the subdivisio process is repeated from scratch. This latter optio is uwieldy, it prevets icremetal editig of LOD, ad it may be ot sustaiable for o-lie processig. A variat of red-gree triagulatios was used i [] to support multi-resolutio editig of meshes based o the Loop subdivisio scheme. Adaptive meshes are computed by reverse subdivisio, startig at the fiest level ad pruig over-refied triagles. Also i this case, a restricted o-coformig mesh is computed first, which is fixed ext by further bisectio of some triagles. Correct relocatio of vertices is treated by usig a hierarchical data structure. Recetly, aother variat, called icremetal subdivisio, was preseted i [8] for both the Loop ad the butterfly schemes. I this case, the correct computatio of geometry of cotrol poits is addressed by usig a larger support area for refiemet. Based o semial work of Forsey ad Bartels [9], a method for hierarchical editig of triagular splies is proposed i [20], which is based o adaptive oe-to-four subdivisio, like i the first step of red-gree triagulatios. The o-coformig mesh is used just as a cotrol grid ad the cotiuity of the splie surface is guarateed by satisfyig cosistecy costraits across adjacet patches at differet levels of subdivisio. I [2], the oe-to-four triagle refiemet scheme is decomposed ito atomic local operatios, called quarks, based o the popular vertex split operatio [22]. I [23] a factorizatio of oeto-four triagle split ito a sequece of edge split ad edge swap operatios is proposed, which form a subset of the local operators we use i Sectio IV. A factorizatio of the Loop subdivisio rule is also proposed, which makes it possible to compute the cotrol poits correctly through the sequece of local refiemet operatios.

IEEE-TVCG 3 The 3 subdivisio [24] ad the 4-8 subdivisio [25] schemes are ot based o the classical oe-to-four triagle split operator. They are aturally adaptive, beig both based o local coformig operators. The 3 subdivisio alterates oe-to-three triagle split at oe level, with edge swap at the ext level. The resultig triagles ca be regarded as beig of gree ad blue types i our termiology (see Sectio IV). A closed form solutio of the subdivisio rule permits to compute cotrol poits correctly for a vertex at ay level, at the cost of some over-refiemet. The 4-8 subdivisio is based o edge split, as i our case, applied to a special case of triagle meshes, called tri-quad meshes. The correct positio of cotrol poits is addressed ad resolved also i this case with a certai amout of over-refiemet. Oly basic operatios are ivestigated i [25]. 3 8 v 2 v v 0 v v 3 v 0 v v 2 8 8 2 w() 3 8 w() w() v 0 8 v v 3 4 w() v 8 w() w() B. CLOD models Also the literature o Cotiuous Level of Detail models is very wide. The iterested reader may refer to [3] for a book. Here we review oly some cocepts ad cotributios that are relevat to the rest of the paper. Geerally speakig, a CLOD model cosists of a base mesh at coarse resolutio, plus a set of local modificatios that ca be applied to the base mesh to refie it. Such modificatios are usually arraged i a hierarchical structure, which cosists of a directed acyclic graph (DAG) i the most geeral case. Meshes at itermediate level of detail correspod to cuts i the DAG, ad algorithms for selective refiemet work by movig a frot through the DAG ad doig/udoig modificatios that are traversed by this frot. This geeral framework, as show i [26], ecompasses almost all CLOD models proposed i the literature ad it ca be applied to the hierarchies geerated by 3 subdivisio ad 4-8 subdivisio as well. I [27], a CLOD model is itroduced, which does ot fit the above geeral framework, ad achieves better adaptivity by usig local modificatios more freely tha i previous models. I Sectio IV, we use the idea of trasitive mesh space proposed i [27] to study the expressive power of RGB triagulatios. CLOD models ca provide meshes at itermediate LOD, where detail ca vary across the mesh ad through time, at a virtually cotiuous scale ad with fast procedures. The outer structure of the algorithm we propose for RGB triagulatios i Sectio V is based o a popular scheme proposed first i [28]. There exist a few CLOD models based o subdivisio patters. The model proposed i [28] is based o the recursive bisectio of right triagles. This rule is also used by several other authors, ad may be regarded as a subdivisio scheme. It ca be applied just to meshes obtaied from regular grids (typically represetig terrais), while its extesio to more geeral triagle meshes is ot straightforward. Oe geeralizatio is give by 4-k meshes [29], which have i fact a strog relatio with 4-8 subdivisio [25]. A. Triagle meshes III. BACKGROUND A triagle mesh is a triple Σ = (V, E, T ) where: V is a set of poits i 3D space, called vertices; T is a set of triagles havig their vertices i V ad such that ay two triagles of T either are disjoit, or share exactly either oe vertex or oe edge (i.e., the mesh is iheretly coformig); E is the set of edges of Fig. 4. The stecils used i the Loop subdivisio scheme: odd iteral vertex (upper left), odd boudary vertex (lower left), eve iteral vertex (upper right), eve boudary vertex (lower right). Numbers are weights assiged to vertices i the liear combiatio, is the valece of the eve vertex ( = 6 i the regular case). the triagles i T. Stadard topological icidece ad adjacecy relatios are defied over the etities of Σ. We will assume to deal always with maifold meshes either with or without boudary, i.e.: each edge of E is icidet at either oe or two triagles of T ; ad the star of a vertex (i.e., the set of etities icidet at it) is homeomorphic either to a ope disc or to a closed half-plae. Edges that are icidet at just oe triagle, ad vertices that have a star homeomorphic to a half-plae form the boudary of the mesh ad they are called boudary edges ad boudary vertices, respectively. The remaiig edges ad vertices are said to be iteral. A mesh with a empty boudary is said to be watertight. A mesh is regular if all its vertices have valece six. Vertices with a valece differet from six are called extraordiary. A o-coformig mesh is a structure similar to a mesh, i which triagles may violate the rule of edge sharig: there may exist adjacet triagles t ad t such that a edge of t overlaps just a portio of the correspodig edge of t. B. Loop subdivisio The Loop subdivisio [4] is a approximatig scheme that coverges to a C 2 surface if applied to a regular mesh. The subdivisio patter is oe-to-four triagle split, as depicted i Figure 2. The positio p l (v) of a ew vertex v itroduced at level l of subdivisio (called a odd vertex) is computed as a weighted sum of positios of vertices from the previous level (called eve vertices), as depicted i Figure 4 (left side): If v splits a iteral edge, the its positio is give by p l (v) = 3 8 pl (v 0 ) + 3 8 pl (v ) + 8 pl (v 2 ) + 8 pl (v 3 ); () If v splits a boudary edge, the its positio is give by p l (v) = 2 v 0 + 2 v. (2) Eve vertices are relocated at each level l of subdivisio, through a weighted sum of their positio ad the positio of their -rig eighbors at the previous level: If v is a iteral vertex, it is relocated accordig to formula p l (v) = ( α )p l (v) + α X i=0 p l (v i ) (3)

IEEE-TVCG 4 where α = 5 8 3 8 + 4 cos 2π 2 (4) ad the v i for i = 0,..., are the eighbors of v (apart from extraordiary vertices i the base mesh, we always have = 6); If v is a boudary vertex, it is relocated accordig to formula p l (v) = 3 4 pl (v) + 8 pl (v 0 ) + 8 pl (v ). (5) Therefore, for each vertex v itroduced at level l, there exist a ifiite sequece of cotrol poits p l (v), p l+ (v),..., p (v) that defie the positios of v at level l ad all successive levels, p (v) beig its positio o the limit surface. It is possible to show that ay cotrol poit p k (v) for a vertex v itroduced at level l, with 0 l < k ca be computed directly just from the positios p l of v ad of all its eighbors at level l. I the Appedix, we derive a multi-pass closed form for computig directly cotrol poits at a arbitrary level. IV. RGB TRIANGULATIONS RGB triagulatios are defied as all those triagle meshes that ca be built through iterative applicatio of the operators for local modificatio depicted i Figures 5 ad 6, startig at a base mesh Σ 0. Note that the diagrams i such figures cover all possible topological cofiguratios i local mesh subdivisio ad coarseig. I this sectio we itroduce the combiatorial structure of RGB triagulatios ad the basic rules to maipulate them i a cosistet way. I Subsectio IV-A we defie local subdivisio operators. The essetial idea is that such operators subdivide a mesh by itroducig oe vertex at a time, they always produce coformig triagulatios, ad they ca be cotrolled just o the basis of color ad level codes. I Subsectio IV-B we itroduce local coarseig operators, which reverse refiemet operators, while i Subsectio IV-C we add oe eutral operator. Subsectio IV-D has a more theoretical flavor: we defie ad study the trasitive space of RGB triagulatios, i order to show their expressive power ad adaptivity; we also prove some results useful to warrat correctess of the selective refiemet algorithm described i the ext sectio. All rules defied i this sectio are purely topological. Just for the sake of clarity, i the figures we will use meshes composed of equilateral triagles, right triagles ad isosceles triagles to depict the three differet types of triagles that may appear i a RGB triagulatio. Actually, the shape of triagles is totally irrelevat i the subdivisio process, while just level ad color codes matter. A. Local subdivisio operators Cosider a base mesh Σ 0. We assig level zero to all its vertices ad edges, ad color gree to all its edges. As a geeral rule, the level of a triagle is defied to be the lowest amog the levels of its edges; ad the color of a triagle is defied to be: gree if all its edges are at the same level; red if two of its edges are at the same level l ad the third edge is at level l + ; ad blue if two of its edges are at the same level l + ad the third edge is at level l. It follows that all triagles i the base mesh are gree at level zero. I the followig, we defie local subdivisio operators that, whe applied iteratively to Σ 0, will geerate a coformig mesh where triagles will be colored of gree, red ad blue; edges will be colored of gree ad red; ad vertices, edges, ad triagles will have differet levels. Color ad level codes allow us to cotrol the applicatio of subdivisio operators o a local basis. We say that a edge e at level l 0 is refiable (i.e., it ca split) if ad oly if it is gree ad its two adjacet triagles t 0 ad t are both at level l. I case of a boudary edge, oly oe such triagle exists. We split a edge e at level l, by isertig at its midpoit a ew vertex at level l +. The edges geerated by the two halves of e are gree ad at level l +. Note that these defiitios of levels for vertices ad gree edges are fully compliat with those i the stadard uiform subdivisio based o the oe-to-four triagle split patter. Splittig a edge e at level l also affects its icidet triagles t 0 ad t : each such triagle is split ito two triagles by coectig the ew vertex splittig e to the vertex of the triagle opposite to e. If the triagle is gree, the the ew edge splittig it will be red at level l; if the triagle is red, the the ew edge will be gree at level l +. Blue triagles do ot split (blue triagles at level l have their gree edges at level l +, thus they are ot refiable by defiitio). By simple combiatorial aalysis, we obtai the followig variats of the edge split operator (see Figure 5): GG-split: t 0 ad t are both gree. The bisectio of each triagle t 0 ad t at the midpoit of e geerates two red triagles at level l. Each such triagle will have: oe gree edge at level l (the oe commo with old triagle t), oe gree edge at level l + (oe half of e) ad oe red edge at level l (the ew edge iserted to split t). RG-split: t 0 is gree ad t is red. Triagle t 0 is bisected ad edge e is split as above. The bisectio of t geerates oe blue triagle at level l ad oe gree triagle at level l+. The gree triagle is icidet at the gree edge at level l + of old triagle t ad also its other two edges are at level l + (the edge iserted to subdivide t, ad oe half of e). The blue triagle is icidet at the red edge of old triagle t ad has also two gree edges at level l + (the edge iserted to subdivide t, ad the other half of e). RR-split: t 0 ad t are both red. Triagles t 0 ad t are both bisected as triagle t i the previous case ad each of them geerates the same cofiguratio made of a blue triagle at level l ad a gree triagle at level l +. This case may come i two variats: RR -split ad RR 2 -split. Each variat ca be recogized by the cycle of colors of edges o the boudary of the diamod formed by t 0 ad t : this may be either red-gree-red-gree for RR -split, or red-red-gree-gree for RR 2 -split. Edge split operatios applied to boudary edges will affect just oe triagle. The resultig cofiguratio depeds oly o the color of the triagle icidet at e. Edge split operators are ot sufficiet to factorize the oe-tofour triagle split patter by itroducig oe vertex at a time. We also eed a edge swap operator, as depicted o the left side of Figure 6, to get rid of blue triagles: BB-swap is applied to a pair of blue triagles at level l, which are adjacet alog their red edge at level l. Such a edge is elimiated ad the other diagoal of the quadrilateral formed by such two triagles is iserted. The ew edge, as well as its two icidet triagles, will be gree at level l +. Note that, by costructio, oe of the two ew gree triagles will have all three vertices at level l +. Note also that just gree edges ca be split, while red edges are oly swapped.

IEEE-TVCG 5 Fig. 7. Oe-to-four triagle split of a gree triagle is factorized ito three edge split operatios plus a edge swap operatio. triagle t i the subdivisio ad t 0 is the cetral triagle obtaied by subdividig t. Fig. 5. Edge split ad edge merge operators. Labels deote the level of vertices ad edges. Grey triagles represet portios of triagulatios spaed by paret triagles, which are ot affected from the operatio, ad may have bee refied further at arbitrarily may levels. Fig. 6. Edge swap operators. Grey triagles represet portios of triagulatios spaed by paret triagles, which are ot affected from the operatio, ad may have bee refied further at arbitrarily may levels. The sequece of three edge split plus oe edge swap that factorizes the oe-to-four triagle split of a triagle is depicted i Figure 7 ad correspods to that proposed i [23]. By simple combiatorial aalysis, it would be easy to verify that this set of operators is closed with respect to the meshes obtaied, i.e.: if we start at a all gree mesh Σ 0 at level 0 ad we proceed by applyig ay legal sequece composed of the five operators above, all refiable edges i the resultig mesh ca be always split by oe of the four variats of edge split. Rather tha provig this claim, i Sectio IV-D we prove a more geeral result that also implies this fact. B. Reverse subdivisio operators We defie also local operators that ivert edge split ad edge swap o a RGB subdivisio. Edge merge is the reverse operator of edge split ad ca be applied to triagles icidet at vertices of valece four. The same cases depicted i Figure 5 occur (modificatios apply right-to-left i this case): R4-merge iverts GG-split; R2GB-merge iverts RG-split; GBGB-merge iverts RR -split; G2B2-merge iverts RR 2 -split. A little care must be take i applyig GBGB-merge i order to avoid icosistecies. Referrig to Figure 5, ote that the quadrilateral has two vertices at the same level l ad two other vertices at a level lower tha l. GBGB-merge must be performed by removig edges icidet at the vertices of level l. Similar rules apply to pairs of triagles alog the boudary. GG-swap, which iverts BB-swap, ca be applied to a pair of adjacet gree triagles t 0 ad t at level l > 0 if oe of them, say t 0, has all three vertices at level l. This coditio is ecessary ad sufficiet to guaratee that t 0 ad t have the same paret C. Neutral operator We fially itroduce RB-swap, a reflexive operator that is eutral with respect to subdivisio (i.e. it either refies or coarses). RB-swap takes a pair formed by a red ad a blue triagle at the same level l of subdivisio, which are adjacet alog a red edge, ad swaps the diagoal of the trapezoid formed by such a pair, thus obtaiig aother red-blue pair of triagles at level l (see Figure 6). This operator may seem redudat. O the cotrary, it is very importat for both theoretical ad practical reasos, as we will discuss i the ext sectio. For each diagram i Figures 5 ad 6, the colored part is iflueced by the correspodig operator, while the gray area refers to a portio of mesh that must exist, but is ot iflueced by the operator, ad it is ot ecessarily covered by a sigle triagle. I fact, the gray part may have bee refied adaptively at arbitrarily may levels of subdivisio. D. The trasitio space of RGB triagulatios We ow have a set of eleve atomic operators: four split operators, four merge operators, ad three swap operators. The family RGB Σ0 of RGB triagulatios subdividig base mesh Σ 0 is defied iductively as follows: Σ 0 is a RGB triagulatio; If Σ is a RGB triagulatio ad Σ is obtaied from Σ by applyig oe of the eleve atomic operators, the also Σ is a RGB triagulatio. Followig the approach of [27], we defie the trasitio space of RGB Σ0 as a graph where: RGB Σ0 is the set of odes (where each mesh is take as a atomic etity); There is a arc betwee two meshes Σ ad Σ if ad oly if it is possible to trasform Σ ito Σ by applyig just oe atomic operator. I Figure 8, we show the iitial fragmet of trasitio space for a sigle triagle, which shows all possible ways to subdivide such triagle at levels zero ad oe of subdivisio, ad all possible trasitios amog such cofiguratios. Note that the trasitio space is ot a strict partial order, because of RB-swap operators. So, oe may thik that we would better defie RGB triagulatios without usig such operator. I fact, a trasitio space defied without RB-swap would be a strict partial order, but it would also cotai miimal elemets differet from Σ 0. For istace, if we do ot use RB-swap, the fa cofiguratio depicted i Figure 9 becomes a miimal elemet i the trasitio space. There are also more practical reasos for usig RB-swap. Cosider for istace the strip cofiguratio show i Figure 0. This cofiguratio has bee obtaied from a all gree mesh by applyig a sequece of edge split operators.

IEEE-TVCG 6 Fig. 8. The first few odes of the trasitio space for a mesh formed by a sigle triagle. There we fid all patters that subdivide the triagle betwee level zero ad level oe. Arcs i black correspod to trasitios through refiemet operators (upward) ad coarseig operators (dowward); arcs i red correspod to RB-swap operators. Fig. 0. This strip has bee obtaied from a all gree strip by applyig a GG-split (at its top ed) followed by a sequece of RG-splits (proceedig dowwards). Without RB-swap, the oly possible way to coarse the strip is by reversig the refiemet sequece. With RB-swap, followed by a merge operatio, we ca remove ay itermediate vertex itroduced durig refiemet, without affectig the other vertices. Fig. 9. A fa cofiguratio. Without RB-swap: the fa is obtaied from a all gree mesh by a sequece of refiemet operators followed by a GGswap ad a R2GB-merge; it caot be simplified without usig refiemet operators. With RB-swap: the fa is obtaied i a smaller umber of steps by applyig RB-swap right after the RR 2 -split ad it ca be reversed without usig refiemet operators. The oly possible way to coarse such a mesh without usig RB-swap cosists i reversig the refiemet sequece. I other words, it is ot possible to remove ay vertex v itroduced at a itermediate step, without removig also all vertices followig it i the strip. O the cotrary, as we will show i the followig, ay itermediate vertex ca be removed by applyig a sigle RB-swap followed by a merge, without affectig the other vertices of the mesh. I summary, RB-swap allows us to obtai mootoe ad more flexible sequeces of refiemet ad coarseig operators. For the sake of simplicity, i the rest of this sectio we will assume Σ 0 to be watertight. Geeralizatio of the followig results to meshes with boudary is straightforward. Let Σ0 be the set of all triagles that appear i meshes of RGB Σ0, ad let T Σ0 be the set of all possible (coformig ad watertight) triagle meshes that ca be built by combiig elemets of Σ0. Note that combiatio of triagles is arbitrary, provided that they match at commo edges. We ow show that all elemets of T Σ0 are RGB triagulatios. Lemma 4.: The trasitio space of RGB Σ0 spas T Σ0. Proof: Let us first aalyze the ature of triagles i Σ0 : sice they come from meshes of RGB Σ0, each such triagle t is edowed with a color ad a level l. For l > 0, t must have bee geerated from oe of the eleve local operators, ad it must subdivide a paret triagle t at level l. Moreover, alog the edge(s) iteral to t, triagle t ca oly be adjacet to other triagle(s) that also subdivide t. I other words, o matter how we combie triagles to form a mesh Σ of T Σ0, if Σ cotais t, the it must cotai a group of triagles that subdivide t exactly. Vertices of triagles i Σ0 also have a level: if a vertex v belogs to Σ 0, the its level is zero; otherwise, v has bee geerated splittig a edge at level l, thus its level is l. It is straightforward to see that all triagles icidet at that vertex have a level greater tha, or equal to l. Now let Σ be a mesh of T Σ0. Let us defie the level m of Σ to be the maximum level of its vertices. Proof is by iductio o m. If m = 0, the Σ ca be formed just from gree triagles at level zero. Sice Σ is watertight ad all its triagles come from Σ 0, the we have ecessarily that Σ Σ 0, thus Σ is a RGB triagulatio. Now let us assume all meshes of T Σ0 up to level m are RGB triagulatios. Give Σ at level m, we kow that the level of its gree triagles is at most m, while the level of its red ad blue triagles is at most m. We build aother mesh Σ at level m as follows: we remove all gree triagles at level m ad all red ad blue triagles at level m from Σ; as a cosequece, all vertices at level m have bee also removed; this meas that the holes left after removig such triagles ca be filled exactly with gree triagles at level m. Let us call Φ m this set of triagles, which are i fact the parets of triagles that we have removed. Now sice also triagles of Φ m belog to Σ0 the Σ must belog to T Σ0. Sice we have removed all vertices at level m, Σ is at level m, thus by iductive hypothesis it is a RGB triagulatio. Now let us cosider all vertices at level m that we have elimiated from Σ to obtai Σ. By costructio, they all lie o gree edges at level m that are shared by pairs of triagles

IEEE-TVCG 7 of Φ m. Thus all such edges are refiable. Let us cosider a arbitrary sequece of edge splits that isert such vertices back ito Σ, geeratig aother mesh Σ. Mesh Σ has the same set of vertices of Σ ad it coicides with Σ at all gree triagles of level smaller tha m, ad o all red ad blue triagles of level smaller tha m. I fact, the edge splits we have performed affect oly the triagles of Φ m. Now each triagle of Φ m has bee split by oe of the patters depicted i the middle levels of Figure 8 (where we ow assume that the root triagle has level m ). Let t be oe triagle of Φ m, ad let us cosider the two patters decomposig t i Σ ad i Σ. Sice we have itroduced all ad oly those vertices that were removed, the two patters may be differet, but they subdivide the edges of t i the same way. By referrig to Figure 8, ad comparig the two patters, we have the followig cases: If they subdivide just a edge of t, the they must be equal; If they subdivide two edges of t ad they are differet, the it is possible to obtai oe from the other by applyig a RB-swap; If they subdivide all three edges ad they are differet, the it is possible to obtai oe from the other by applyig a BB-swap ad/or a GG-swap. All operators listed above oly affect triagles that subdivide t, so they ca be carried out idepedetly o all subdivisios of triagles of Φ m. This meas that we ca obtai Σ from Σ through a sequece of local operators. Cocateatig such a sequece with the sequece that trasforms Σ ito Σ, we have a sequece of local operators that trasforms Σ ito Σ. Therefore, also Σ is a RGB triagulatio. It is a ope questio whether or ot the same set of triagulatios ca be geerated by usig just combiatios of the first te operators, without usig RB-swap. So the set of operators we use is sufficiet to geerate the trasitio space but we do ot claim it to be miimal. Cocerig compariso with other kow schemes, ote that a uiform all gree subdivisio at ay level belogs to T Σ0, therefore it is a RGB triagulatio. Also red-gree triagulatios belog to T Σ0 ad they are i fact a proper subset of triagulatios. Red-gree triagulatios that obey to the 2-eighbor rule as defied i [7] will ot cotai blue triagles. Eve i case such a rule is ot applied, there exist RGB triagulatios that caot be obtaied as red-gree triagulatios. A trivial example is a mesh made of four red triagles obtaied from a pair of adjacet gree triagles by applyig GG-split (as i the upper-left case of Figure 5). Next we state some results useful to esure that the selective refiemet algorithm, described i the ext sectio, does ot get stuck i cofiguratios that caot be either refied or simplified further. Corollary 4.2: Ay RGB triagulatio ca be obtaied from Σ 0 by applyig a sequece of operators composed just of edge split ad swap operators. Σ 0 ca be obtaied from ay RGB triagulatio by applyig a sequece composed just of edge merge ad swap operators. Proof: The first statemet follows from the proof of Lemma 4. by cosiderig the operators we have used to obtai Σ from Σ. The secod statemet follows from the first oe by cosiderig that each split operator it iverted by a merge operator ad each swap operator is iverted by a swap operator. Sequeces used i Corollary 4.2 are ot always mootoe i the spa space. I fact, refiemet [coarseig] sequeces to obtai meshes that cotai cofiguratios i the secod upper row of Figure 8 may require usig GG-swap [BB-swap], which is actually a coarseig [refiemet] primitive. O the other had, such cofiguratios are ot really iterestig: the decompositio of a paret triagle with a cofiguratio that cotais two gree ad two blue triagles is usually better substituted with the stadard decompositio made of four gree triagles. A mesh cotaiig o cofiguratio made of two blue triagles adjacet alog a red edge will be called stable; otherwise it will be called ustable. I our implemetatio of selective refiemet, we will use ustable cofiguratios just as trasitios. We will perform refiemet by usig just subdivisio operators, ad coarseig by usig just reverse subdivisio operators ad RB-swap. Durig refiemet, a BB-swap will be forced every time a ustable cofiguratio arises. Durig coarseig, o the cotrary, GG-swap ad RB-swap will be used to locally modify the mesh i order to allow a vertex to be removed from a merge operator. The mesh just before applyig the merge operator may be ustable, but it will become stable right after it. We study ext the local cofiguratios correspodig to vertices that ca be removed durig coarseig. Let v be a vertex at level l > 0 i a RGB mesh. We say that v is removable if ad oly if all its adjacet vertices are at a level l. Sice v was itroduced by splittig a edge at level l, by combiatorial aalysis we have that the star of triagles surroudig it ca have oly 28 possible cofiguratios, which are obtaied by mirrorig from the 8 cofiguratios depicted i Figure. For each such cofiguratio, the graph i the figure provides a sequece of operators to remove v. Notice that BB-swap is ecessary oly if we start from oe of the ustable cofiguratios. Notice also that the local cofiguratios at the ed of sequeces (i.e., after vertex removal) are all stable. Corollary 4.3: If a RGB mesh Σ is stable, the: ) Σ ca be obtaied from Σ 0 by a sequece made just of refiemet operators ad RB-swaps; 2) Σ 0 ca be obtaied from Σ by a sequece of just coarseig operators ad RB-swaps. Proof: We prove the secod statemet first. Let m be the level of Σ. We ca obtai Σ 0 from Σ by deletig all vertices of level > 0 level by level, startig at level m. As show above, if Σ is stable, a vertex ca be removed without eed to apply BBswap ad the resultig mesh will agai be stable. Thus the whole sequece will eed just coarseig operators ad RB-swap. The first statemet follows from the secod by cosiderig the iverse operators. We ow kow refiemet ad coarseig sequeces that are mootoe i the trasitio space. Oce the star of either a refiable edge, or a removable vertex is kow, the sequece of operatios ecessary to perform the correspodig either refiemet, or coarseig operatio, respectively, ca be retrieved from a lookup table ad performed o such a star without affectig the rest of the mesh. These sequeces will provide the basic igrediets to implemet the selective refiemet algorithm described ext. V. SELECTIVE REFINEMENT OF RGB TRIANGULATIONS Selective refiemet cosists of the iterated applicatio of local operators util some user-defied halt coditio is verified.

IEEE-TVCG 8 refiemet ad coarseig operators to be performed o a RGB triagulatio are detailed i the followig subsectios. A. Coarseig All removable vertices are added to queue Q c durig selective refiemet. However, a vertex v already i Q c may become o removable at a later time because of chages i its star. Whe a vertex v is popped from Q c, its star is ispected to check whether or ot it is removable. No removable vertices are skipped. Let ow v be a removable vertex at level l that has bee popped from Q c. As we have see i the previous sectio, the star of v must be i oe of the cofiguratios of Figure. The followig operatios are performed: ) Apply the sequece of operators ecessary to remove v ad update Σ accordigly; 2) For each vertex v that was adjacet to v, if v was ot removable ad it has become removable after removig v, the isert v ito Q c. Note that a o removable vertex v at level l becomes removable oly if some edge icidet at v at level > l is deleted. This ca occur durig coarseig oly to vertices adjacet to v. Thus all ad oly those vertices that are removable are iserted ito Q c. B. Refiemet Fig.. Sequeces of operators to remove a vertex. There exist 28 cofiguratios of triagles icidet at a removable vertex, obtaied by mirrorig from the oes depicted i the figure (except those i the last colum, which correspod to the cofiguratios after deletig the vertex). Each cofiguratio labeled with X2 has a mirror cofiguratio. Triagles i gray correspod to areas of the paret triagles that are ot affected by trasitios ad may be further refied. Except for the ustable cofiguratios, a vertex ca be removed without usig ay refiemet operator. Applicatio of local operators is priority-drive. Depedig o user eeds, priority of a edge to be split may be related to, e.g., its level, its legth, the areas of its icidet triagles, the distace betwee its midpoit ad the positio of the vertex splittig it at ext level of subdivisio, etc. Related criteria set the priority of vertices to be removed. Followig [28], selective refiemet is drive by two priority queues: a queue Q r of uder-refied edges to split, ad a queue Q c of over-refied vertices to remove. After iitializatio, the algorithm cosists of a loop, which pops elemets from the queues ad executes the local operatios ecessary to either split edges, or remove vertices. Such operatios will ivolve updatig both the curret mesh ad the queues. Details about the geeral scheme of the algorithm ca be foud i [28], while the sequeces of All gree edges are added to queue Q r durig selective refiemet. Because of recursive calls, a edge e may be iserted ito Q r more tha oce. Therefore, it may happe that a edge e popped from Q c has bee already split. Whe poppig a edge, we check whether or ot it exists. No existig edges are skipped. Existig edges i queue Q r are all gree but they are ot ecessarily refiable. If a edge e is ot refiable, we force recursive split of edges adjacet to e i order to be able to refie it. Splittig a sigle edge e at level l thus ivolves the followig operatios: ) If e is ot refiable, the recursively decompose its icidet triagle(s) at level l (see details below); 2) Split e at v with the proper split operator ad update mesh Σ accordigly; 3) If the mesh has become ustable, perform a BB-swap; 4) Test each ew gree edge geerated from split ad add it to Q r if it does ot fulfill LOD requiremets; 5) Isert v ito Q c. Recursive decompositio of triagles (step ) works as follows. Assume we wat to split a gree edge e havig level l ad let t be a triagle icidet at e. There are oly three possible cofiguratios: If t is a red triagle at level l the its gree edge at level l is recursively split; If t is a blue triagle at level l the t must be adjacet to a red triagle t at level l alog its red edge; the gree edge of t at level l is split recursively (this split will evetually trigger a BB-swap ivolvig t ad t ); Otherwise o actio is required (t must be at level l ad e is refiable).

IEEE-TVCG 9 VI. RGB SUBDIVISION So far we have bee cocered oly with topological chages i a RGB triagulatio. The RGB subdivisio is ow derived by studyig the geometry of vertices. The basic idea here is to adapt the rules of Loop subdivisio to the topology of RGB triagulatios, so that the limit surfaces of the two subdivisio schemes become coicidet. For odd vertices, we devise a simple mechaism for usig the stecil of the Loop subdivisio as is. For eve vertices, we rather derive a multi-step rule for the Loop subdivisio that computes the cotrol poit of a vertex at ay give level o the basis of its isertio positio ad its limit positio. We the factorize computatio of the limit positio of vertices, which depeds o its eighbors, while such eighbors are iserted ito the mesh. Note that i RGB subdivisio both refiemet ad coarseig operatios are allowed, therefore updates to cotrol poits must be made for odd vertices durig refiemet, ad for eve vertices both durig refiemet ad durig coarseig. A. A multi-step rule for the Loop scheme Let us cosider a vertex v iserted at level l i a Loop subdivisio scheme. If l = 0 the v belogs to the base mesh ad its geometry p 0 (v) is kow, otherwise its cotrol poit p l (v) is computed o the basis of either Equatio or Equatio 2, depedig o v beig a iteral or a boudary vertex, respectively (see Figure 4). By applyig the cocept of multi-step subdivisio rule [24] to the aalysis of the Loop scheme developed i [30], the followig equatios are derived (see the Appedix). The limit positio of a iteral vertex v iserted at level l 0 o the subdivisio surface is give by p (v) = ( 8α )p l 8α (v) + 3 + 8α (3 + 8α ) i= X p l (v i ) (6) where the v i s ad α are defied as i Equatio 3. For ay k 0, its cotrol poit at level l + k is give by where p l+k (v) = γ (k)p l (v) + ( γ (k))p (v) (7) γ (k) = 5 8 α k. Similarly, if v is a boudary vertex we have ad, for ay k 0, p (v) = 2 3 pl (v) + 6 (pl (v 0 ) + p l (v )) (8) p l+k (v) = k p l (v) + 4 k! p (v). (9) 4 This meas that the base positio of a give vertex v itroduced at level l, plus the positios of its eighbors at level l are ecessary ad sufficiet to compute the positio of v at ay further level of subdivisio. B. Factorized computatio of the limit positio I a RGB subdivisio, whe a vertex v at a level l > 0 is iserted ito a mesh, some of its eighbors at level l might ot belog to such mesh yet, while they will be iserted at a later time. Therefore, it is ot always possible to kow the limit positio of a vertex v right after its isertio ito the mesh. I the data structure ecodig a RGB mesh, for each vertex v iserted at level l, we store its cotrol poit p l (v) ad we reserve aother field to store its limit positio p (v). At startup, we fill such fields for all vertices of the base mesh, assigig to p 0 (v) the base coordiates ad computig p (v) through Equatio 6. For a geeric vertex iserted at level l > 0, cotrol poit p l (v) is computed ad stored whe creatig v (see ext subsectio), while p (v) is computed icremetally. I p (v) we store at ay time a value computed through Equatio 6, where we use p l (v) i place of ay missig p l (v i ). So, iitially p (v) will be approximated with p l (v), ad its value will be updated every time the cotrol poit at level l for a eighbor v i becomes available (see Subsectio VI-D). As soo as all six cotributios have bee obtaied, the value of p (v) will be the correct oe. C. Cotrol poits for odd vertices Let vertex v be itroduced at level l + of subdivisio by splittig a edge e at level l. I order to compute cotrol poit p l+ (v), we eed to fetch the four vertexes i the Loop stecil of v at level l, ad their cotrol poits at level l. Cosider the four possible cases as depicted i Figure 5. I GGsplit, the two splittig triagles form exactly the stadard Loop stecil. I the other cases, however, wheever a red triagle is splittig, its vertex opposite to e does ot belog to the stadard Loop stecil. The correct vertex to be used for the stecil is rather at the apex of the triagular zoe depicted i gray i Figure 5, which may have bee refied at arbitrarily may levels, as show i Figure 2. Such a vertex i fact belogs the paret of the red triagle. I summary, i order to compute p l+ (v), the two vertexes at the edpoits of edge e are always available. For the other two vertexes we do the followig: if a triagle icidet at e is gree, the we use its vertex opposite to e; if the triagle is red, the we use the vertex of its paret triagle opposite to e. We are left with the problem of fetchig such a vertex. It would be possible to retrieve it by avigatig the mesh, but we rather prefer to avoid such computatioal overhead, so we use aother method. Referrig to Figure 2, let us cosider a red edge e at level l bisectig a triagle t at level l, ad let v 0, v ad v 2 be the vertexes of t. Without loss of geerality, let v 0 be a edpoit of e, ad let v at level l + be the other edpoit of e. Note that each of the two halves of t may be refied further at arbitrarily may levels. Whe e is geerated, we store at v two refereces to vertexes v ad v 2 ad we maitai such refereces util v has a red icidet edge, such that v is the edpoit with higher isertio level of such edge (there may be at most two such edges icidet at v ). I this way, whe a red triagle is ivolved i a stecil, we retrieve the proper vertex to be used for the stecil through the refereces at its vertex opposite to the splittig edge. We must take care of keepig our data structure up-to-date durig topological chages of the mesh. This is possible i costat time wheever a red edge is geerated. Cosider all the possible operators, as depicted i Figures 5 ad 6. New red edges are geerated just by operators GG-split, RG-split, GG-swap ad RB-swap. For the split operators, refereces to vertexes v ad v 2 are foud immediately, sice they are the edpoits of the splittig edge. For RB-swap, oe of the refereces is available from the red triagle, while the other is obtaied from the vertex that loses

IEEE-TVCG 0 e v 2 v v 0 e v Fig. 2. Upper half of a stecil for a odd vertex. The triagle icidet at e at level l might have bee split through all successive levels of subdivisio. Arrows show refereces from vertex v to the edpoits of the edge it splits. Fig. 3. I order to bisect the edge i bold, vertexes marked by bullets must be computed by recursive edge split. Updates to the limit positio p (v) for a vertex v iserted at level l are doe i the followig cases: Whe isertig v, we iitially approximate all the p l (v i ) s with p l (v), so we iitially set p (v) = p l (v). The we collect cotributios from adjacet vertexes through gree edges at level l. If the isertio level of oe such vertex v i is l, the the cotributio comes from p l (v i ), otherwise we get the cotributio oly if the correct value of p (v i ) is available. Such a cotributio is added to p (v) accordig to the summatio of Equatio 6, substitutig the approximated cotributio computed with p l (v), which is subtracted from p (v). Whe the cotributio of a eighbor v i of v through a gree edge at level l becomes available, the it is computed as i the previous case. This ca happe whe either the correct limit value of a existig eighbor of v becomes available, or a ew eighbor of v is geerated, ad its cotributio is readily available. These operatios are performed also i the opposite directio, sice each v i may eed the cotributio of v to compute its ow limit positio. Whe a vertex v is removed, its eighbors are also checked ad the cotributio of v is subtracted from its eighbors that received it. For a give eighbor v i, if the miimum level of icidet edges has become lower, the its curret cotrol poit is also updated accordigly. the red icidet edge. For GG-swap, each vertex to be refereced is at the apex of a gray triagular zoe, which may have bee refied further. Cosider oe of the two ew blue triagles, ad its adjacet gray zoe. Either the gray zoe is covered etirely by a gree triagle ad, therefore, the vertex to be refereced is available from it, or the triagle t adjacet to the blue triagle iside the gray zoe is red, ad the referece is obtaied from the proper vertex of the red edge of t. Oce we kow the vertexes of the stecil, we must compute their correct cotrol poits. If the splittig edge e is at level l the, for each vertex v i i the stecil, we must compute p l (v i ). If the isertio level of v i is l i < l, the p l (v i ) must be computed through Equatio 7. To this aim, we eed the correct value of p (v i ), which will ot be available uless all eighbors of v i at level l i belog to the curret mesh. We therefore force the isertio of ay missig vertex, by traversig the list of edges icidet at v i ad recursively splittig all gree edges icidet at v i ad havig a level lower tha l i. Note that a regular vertex may have gree icidet edges that differ for at most three levels, thus the umber of ew vertexes to be iserted recursively is usually quite small (see Figure 3). More i geeral, a extraordiary vertex of valece may have gree icidet edges that differ for at most 2 levels. D. Cotrol poits for eve vertexes A eve vertex v iserted at level l will be always represeted with a cotrol poit at level k, where k is the smallest value betwee l ad the smallest level of edges icidet at v. If k > l, value p k (v) is computed with Equatio 7. As already metioed, such a value depeds o p (v), which is computed icremetally, so a approximated value will be used, as defied i SubsectioVI-B, util p (v) is completely specified. VII. DATA STRUCTURE A RGB triagulatio ca be maitaied i a stadard topological data structure for triagle meshes. Oe possibility is usig three dyamic arrays, for vertexes, edges, ad triagles, respectively, with a garbage collectio mechaism to maage reuse of locatios freed because of coarseig operators. The followig simplified versio of the icidece graph [3] ca be adopted: for each triagle, liks to its three edges are maitaied; for each edge, liks to its two vertexes ad its two adjacet triagles are maitaied; for each vertex, just a lik to oe of its icidet edges is maitaied. This is sufficiet to compute topological relatios i optimal time. If the mesh cotais vertexes, we ca roughly estimate its umber of triagles ad edges to be about 2 ad 3, respectively. By assumig uit cost to represet a poiter or a umber, the total cost for topological iformatio i this base structure is about 9, ad a additioal 3 is ecessary to maitai the coordiates of vertexes. This data structure is exteded as follows. For each vertex, we maitai: its level of isertio ad a couter to keep track of the umber of eighbors that have give their cotributio for computig the limit positio (oe byte is sufficiet for both); two triples of coordiates rather tha just oe (positio at time of isertio ad limit positio); two refereces to vertexes of its paret triagle, oly i case the vertex is icidet at a red edge as described i Subsectio VI-C. Sice the umber of red edges i a mesh is usually small, it may be more efficiet to avoid storig such refereces i the mai data structure, ad use a hash table istead, idexed o vertexes. For each edge ad each triagle, we maitai its color ad its level. Edges come i just two colors. It is coveiet to ecode two differet types of red triagles, ad two differet types of blue triagles, depedig o their orietatio: a red triagle will

IEEE-TVCG Fig. 4. The frot ed user iterface of MeshLab with the cotrol pael of RGB subdivisio o the right. The blue circle o the object visualized is the prit of the brush, which is sweepig a LOD refiemet from level 0 to level 6 of subdivisio. A base mesh cosistig of about,000 faces has bee selectively refied i real time to a mesh with more tha 60,000 faces by a sigle sweep of the brush. be said to be either Red RGG, or Red GGR, depedig o the colors of its edges, traversed i couter-clockwise order startig at the vertex with the highest isertio level; a blue triagle will be said to be either Blue RGG, or Blue GGR, depedig o the colors of its edges, traversed i couter-clockwise startig at the vertex with the lowest isertio level. We thus use five differet color codes for triagles: two for red triagles Red RGG ad Red GGR, two for blue triagles Blue RGG ad Blue GGR, ad oe for gree triagles. Sice three [oe] bits are sufficiet for the color of triagles [edges], ad levels i subdivisio are usually ot may, oe byte is sufficiet to store both color ad level. Summig up, by assumig oe uit of cost to be equal to four bytes, we have a additioal cost betwee 4.5 ad 6.5, depedig o whether or ot a hash table is used for the additioal refereces of vertexes. This correspods to a overhead betwee 20% ad 30% with respect to the base data structure. VIII. MODELING WITH RGB SUBDIVISION We have implemeted a iteractive tool that supports fully dyamic selective refiemet for LOD editig through graphic widgets. Our tool is a prototype implemeted as a plugi for MeshLab, a ope source tool for processig, editig ad visualizig 3D triagular meshes [32]. Implemetatio is based o the VGC Library, a ope source API for geometry processig [33]. The plugi will be icluded i the ext release of MeshLab. A beta versio of the software ca be curretly dowloaded from our website http://ggg.disi.uige.it/rgbtri/. Figure 4 shows a sapshot of the frot ed user iterface of MeshLab with the cotrol pael of the RGB plugi o the right. Our plugi allows a user to edit LOD i differet ways: A portio of the mesh ca be selected ad either refied or coarseed by settig the desired LOD iside ad outside selectio. LOD may be set i terms of levels of subdivisio ad maximal legth of edges; A brush tool ca be used to adjust LOD locally: the regio swept by the brush is either refied or coarseed by chagig Fig. 5. Oly the face ad the right side of the hockey player have bee refied: level of subdivisio varies from zero to two ad it is higher at joits ad o the face. This mesh cotais 2826 faces. the LOD accordig to the parameters set for the brush; Edge split ad vertex removal primitives ca be applied idividually for fie editig. We have tested our tool o a umber of models represetig various objects. Most objects were described with base meshes i the order of 0 2-0 4 faces, which have bee selectively refied up to sizes of order 0 6. We show results o four models: a very simple model represetig a 3D star (base mesh 24 triagles); a character for videogames (base meshes,008 triagles); the had of aother character (base mesh 68 triagles); ad a mesh represetig a hippo, which cotais triagles of very differet size (base mesh 46,202 triagles). For the hockey player ad the had, we show how selective refiemet ca be applied to parts of the ski ear joits, e.g., to better follow bedig durig aimatio (see Figures 5 ad 6). The star is a very symmetric model, which is useful to show how RGB subdivisio acts regularly, i spite of beig based o local operators that are applied dyamically (see Figure 7). We have also removed oe spike of the star to show how RGB subdivisio acts o boudaries. O the hippo model we let the selective refiemet algorithm refie the whole mesh util a give budget of faces was reached, by givig higher priority to loger edges. I this case, RGB subdivisio acts as a remeshig method to make the mesh more uiform (see Figure 8). I all examples it is clearly visible that RGB subdivisio is truly selective: LOD ca icrease/decrease as fast as two subdivisio levels per rig of triagles aroud a vertex/edge/triagle. Note that the umber of blue triagles appearig i the meshes is quite small. Additioal RB-swap operators could be forced to improve the shape of such triagles further (e.g., based o max-mi agle criterio) without affectig the RGB structure.

IEEE-TVCG 2 Fig. 7. The base mesh of the star has six spikes; oe spike has bee selected ad refied to six levels of subdivisio; oe spike has bee removed ad the square boudary has bee refied to four levels. Fig. 6. The two sides of the had have bee refied differetly: the palm is at level oe, figers are at level two, ad joits of figers ad of the wrist are at level three; the rest of the wrist as well as the back of the had are at level zero. This mesh cotais 482 faces. We have evaluated time performace by ruig the program o a PC with a Petium 4-2.8 Ghz processor ad 3 GB of memory. Processig times for editig with the brush tool are always compatible with iteractive use. Actually, whe the mesh cotais may triagles, most time is spet by MeshLab i pickig ad rederig, while the time for selective refiemet is almost egligible. I geeral, time performace is very good with all widgets, eve o large meshes, as log as the effects of editig are local. If the tool is used for uiform refiemet of the whole mesh through several levels of subdivisio, the it becomes slower tha stadard Loop subdivisio. I this modality, the performace resultig from our profiles is of about 5,000 refiemet operatios per secod. Therefore, it ca take several secods to get a mesh of size 0 5 through five or six levels of subdivisio. This is oly i part due to the factorizatio of subdivisio through local operators. I our prototype we had to comply with the structure of MeshLab, so we ecoded RGB triagulatios i a data structure differet from that described i the previous sectio, ad less efficiet tha it. We believe that a more careful implemetatio could greatly improve performace, hece supportig more real-time tasks, such as view-depedet visualizatio, eve o very large meshes. Fig. 8. The origial mesh cotais triagles of very differet size. Selective refiemet is ru o the whole object util a mesh of 00,000 triagles is obtaied, givig higher priority to the refiemet of loger edges. The triagles i the resultig mesh are much more uiform. IX. CONCLUSIONS The RGB subdivisio scheme has several advatages over both classical ad adaptive subdivisio schemes, as well as over CLOD models: it supports fully dyamic selective refiemet while remaiig compatible with the Loop subdivisio scheme; it is better adaptive tha previously kow schemes based o the oeto-four triagle split patter; it does ot require hierarchical data structures; selective refiemet ca be implemeted efficietly by pluggig faces iside the mesh, accordig to rules ecoded i lookup tables, thus avoidig cumbersome procedural updates. We are curretly developig a aalogous scheme for the modified butterfly subdivisio [34]. Based o a similar approach, we are also developig a hybrid tri-quad adaptive scheme for the selective refiemet of quad meshes. The basic ideas of this latter work are sketched i [35]. We believe that this approach to adaptive subdivisio may give valid substitutes or complemets to stadard subdivisio for solid modelers ad simulatio systems. Combied with reverse subdivisio techiques, it may also offer a valid alterative to CLOD models for free-form objects i computer graphics.

IEEE-TVCG 3 Our prototype itegrated i MeshLab ca be already used for iteractive editig of LOD. However, a more careful implemetatio of our data structures should provide a much more efficiet egie, suitable for tasks such as real-time view-depedet rederig, or itegratio i a solid modeler. Cocerig rederig, our scheme is already progressive ad we did ot fid may popup effects durig selective refiemet. However, morphig techiques [22] could be icorporated easily to make frame-to-frame trasitios smooth uder ay possible chages. A crucial feature to support modelig is surface editig. Editig at the base level should be easy o the RGB subdivisio, by exploitig the mechaisms that we already implemeted to propagate cotributios for computig the limit positio of vertexes. Editig at a fier level ivolves backward propagatio to lower levels ad may require techiques of reverse subdivisio. Either the mechaisms proposed i [], or those proposed i [20] for hierarchical splies could be probably exteded to RGB subdivisios. I the future, we pla to develop these features ad to itegrate our scheme i Bleder [3], a ope source solid modeler. APPENDIX MULTI-PASS FORMULAS FOR THE LOOP SUBDIVISION Followig Stam [30] the portio of subdivisio matrix ivolvig a iteral vertex v ad its eighbors v 0,..., v has the followig structure: S = 0 B @ a b b b b... b b b 3/8 3/8 /8 0 0... 0 0 /8 3/8 /8 3/8 /8 0... 0 0 0....... 3/8 /8 0 0 0... 0 /8 3/8 where a = α, b = α / ad α is defied by Equatio 4. If v = (v, v 0,..., v ) T, the the product Sv gives the cotrol poit of v ad all its eighbors at the ext level of subdivisio. Thus, the cotrol poit of v after k levels of subdivisio ca be computed by multiplyig the first row of matrix S k by v. We ca obtai S k = UΛ k U from the decompositio S = UΛU, where U is the matrix of eigevectors ad Λ is the diagoal matrix of eigevalues. Actually, we are iterested just i the first row of such a matrix. Moreover, by symmetry, we kow that all coefficiets s k j for j = 2, + i the first row of S k must be equal. Thus, it is sufficiet to compute just coefficiets s k ad s k 2. From Stam [30], we have that the first row of matrix U is: ad U, = (, 8 α, 0,..., 0) 3 Λ = diag(λ 0, λ,..., λ ) where λ 0 = ad λ = 5/8 α. For our purposes, we ca disregard all the other eigevalues. Thus, the first row of matrix UΛ k will be (UΛ k ), = (, 3 8 α( 5 8 α)k, 0,..., 0). C A Let u ad u 2 be the first two coefficiets of the first colum of matrix U, thus we have: s = α = (UΛ), U, = u 3 8 α( 5 8 α)u 2 (0) ad sice UU = I we have also: u 8 3 αu 2 =. () Equatios 0 ad form a liear system from which we obtai u = + 8 u 2 = 3 α + 8. 3 α So ow we ca compute the first coefficiet of S k as follows: s k = (UΛ k ), U, 3 + 8α(5/8 α)k =... =. 3 + 8α Proceedig i the same way, we obtai the secod coefficiet of the first row of S k : Now by defiig we have s k 2 = 8α( (5/8 α)k ). (3 + 8α ) β (k) = 8α( (5/8 α)k ) 3 + 8α s k = β (k), s k 2 = β (k)/. Hece, the cotrol poit of vertex v after k levels of subdivisios (followig the level at which v was iserted as a odd vertex) is p k (v) = S k, v X = s k v + s k 2 v i i=0 = ( β (k))v + β(k) The limit positio of vertex v is thus where X i=0 p (v) = lim k pk (v) = ( β )v + β β = lim β(k) = 8α. k 3 + 8α v i. (2) X v i i=0 By substitutig the above value i Equatio 2 we obtai where p k (v) = γ (k)v + ( γ (k))p (v), γ (k) = 5 8 α k. For a boudary vertex, the correspodig portio of subdivisio matrix is: S = 8 0 @ 6 4 4 0 4 0 4 A. I this case, we ca compute the decompositio explicitly: U = 0 @ 0 2 2 0 A, U = @ 2 3 6 6 3 6 6 0 2 2 A

IEEE-TVCG 4 ad Λ = diag(, 4, 2 ). Therefore we have: s k = k! 2 + s k 2 = s k 3 = 3 4 6 ad Proceedig as i the previous case, we obtai: p k (v) = p (v) = 2 3 v + 6 (v 0 + v ) k v + 4 ACKNOWLEDGMENT k! p (v). 4 k!. 4 This work has bee partially supported by Project FIRB-MIUR SHALOM (SHApe modelig ad reasoig: ew Methods ad tools) fuded by the Italia Miistry of Educatio, Uiversity ad Research uder cotract umber RBIN04HWR8. REFERENCES [] T. DeRose, M. Kass, ad T. Truog, Subdivisio surfaces i character aimatio, i SIGGRAPH 98: Proceedigs of the 25th aual coferece o Computer graphics ad iteractive techiques. New York, NY, USA: ACM, 998, pp. 85 94. [2] P.-O. Persso, M. Aftosmis, ad R. Haimes, O the use of loop subdivisio surfaces for surrogate geometry, i Proceedigs 5th Iteratioal Meshig Roudtable, Birmigham (AL), USA, September 7-20 2006, pp. 375 392. [3] Bleder, http://www.bleder.org/. [4] Autodesk maya, http://usa.autodesk.com/. [5] Modo 30, http://www.luxology.com. [6] Silo 2, http://www.everceter.com/. [7] A. Lee, H. Moreto, ad H. Hoppe, Displaced subdivisio surfaces, i SIGGRAPH 00: Proceedigs of the 27th aual coferece o Computer graphics ad iteractive techiques. New York, NY, USA: ACM Press/Addiso-Wesley Publishig Co., 2000, pp. 85 94. [8] M. Sabi, Recet progress i subdivisio: a survey, i Advaces i Multiresolutio for Geometric Modellig, N. Dogdso, M. Floater, ad M. Sabi, Eds. Spriger-Verlag, 2004, pp. 203 230. [9] F. Samavati ad R. Bartels, Multiresolutio curve ad surface represetatio by reversig subdivisio rules, Computer Graphics Forum, vol. 8, o. 2, pp. 97 20, 999. [0] F. Samavati, N. Mahdavi-Amiri, ad R. Bartels, Multiresolutio surfces havig arbitrary topologies by a reverse doo subdivisio method, Computer Graphics Forum, vol. 2, o. 2, pp. 2 36, 2002. [] D. Zori, P. Schröder, ad W. Sweldes, Iteractive multiresolutio mesh editig, i Comp. Graph. Proc., Aual Cof. Series (SIGGRAPH 97), ACM Press, 997, 259-268. [Olie]. Available: http://muggy.gg.caltech.edu/ dzori/multires/meshed/idex.html [2] D. Zori ad P. Schröder, Eds., Subdivisio for Modelig ad Aimatio (SIGGRAPH 2000 Tutorial N.23 - Course otes). ACM Press, 2000. [3] D. Lübke, M. Reddy, J. Cohe, A. Varshey, B. Watso, ad R. Hüber, Level Of Detail for 3D Graphics. Morga Kaufma, 2002. [4] C. Loop, Smooth subdivisio surfaces based o triagles, Master thesis, Uiversity of Utah, Dept. of Mathematics, 987. [5] N. Dy, D. Levi, ad J. Gregory, A butterfly subdivisio scheme for surface iterpolatio with tesio cotrol, ACM Trasactios o Graphics, vol. 9, o. 2, pp. 60 69, April 990. [6] J. Warre ad H. Weimer, Subdivisio Methods for Geometric Desig. Morga Kaufma, 2002. [7] R. Bak, A. Sherma, ad A. Weiser, Refiemet algorithms ad data structures for regular local mesh refiemet, i Scietific Computig, R. Steplema, Ed. IMACS/North Hollad, 983, pp. 3 7. [8] H. Pakdel ad F. Samavati, Icremetal subdivisio for triagle meshes, Iteratioal Joural of Computatioal Sciece ad Egieerig, vol. 3, o., pp. 80 92, 2007. [9] D. Forsey ad R. Bartels, Hierarchical b-splie refiemet, Computer Graphics (SIGGRAPH 88 Proceedigs), vol. 22, o. 4, pp. 205 22, Aug. 988. [20] A. Yvart, S. Hahma, ad G.-P. Boeau, Hierarchical triagular splies, ACM Tras. Graph., vol. 24, o. 4, pp. 374 39, 2005. [2] S. Seeger, K. Horma, G. Häusler, ad G. Greier, A sub-atomic subdivisio approach, i Proceedigs of Visio, Modelig ad Visualizatio 200, B. Girod, H. Niema, ad H.-P. Seidel, Eds. Berli: Akademische Verlag, 200, pp. 77 85. [22] H. Hoppe, Progressive meshes, i SIGGRAPH 96 Coferece Proceedigs, ser. Aual Coferece Series, ACM SIGGRAPH. Addiso Wesley, Aug. 996, pp. 99 08. [23] L. Velho, Stellar subdivisio grammars, i Proceedigs Eurographics Symposium o Geometry Processig, 2003. [24] L. Kobbelt, 3 subdivisio, i Proceedigs ACM SIGGRAPH 2000, 2000, pp. 03 2. [25] L. Velho ad D. Zori, 4-8 subdivisio, Computer-Aided Geometric Desig, vol. 8, pp. 397 427, 200. [26] E. Puppo, Variable resolutio triagulatios, Computatioal Geometry, vol., o. 3-4, pp. 29 238, 998. [27] J. Kim ad S. Lee, Trasitive mesh space of a progressive mesh, IEEE Trasactios o Visualizatio ad Computer Graphics, vol. 9, o. 4, pp. 463 480, 2003. [28] M. Duchaieau, M. Wolisky, D. Sigeti, M. Miller, C. Aldrich, ad M. Mieev-Weistei, ROAMig terrai: Real-time optimally adaptig meshes, i Proceedigs IEEE Visualizatio 97. IEEE, Oct. 997, pp. 8 88. [29] L. Velho ad J. Gomes, Variable resolutio 4-k meshes: Cocepts ad applicatios, Computer Graphics Forum, vol. 9, o. 4, pp. 95 24, 2000. [30] J. Stam, Evaluatio of Loop subdivisio surfaces, i SIGGRAPH 98 CDROM Proceedigs, 998. [3] H. Edelsbruer, Algorithms i Combiatorial Geometry. Spriger- Verlag, Berli, 987. [32] Meshlab, http://meshlab.sourceforge.et. [33] VCG library, http://vcg.sourceforge.et. [34] D. Zori, P. Schröder, ad W. Sweldes, Iterpolatig subdivisio for meshes with arbitrary topology, i Comp. Graph. Proc., Aual Cof. Series (SIGGRAPH 96). ACM Press, 996, pp. 89 92. [35] E. Puppo, Dyamic adaptive subdivisio meshes, i 2007 Israel- Italy Bi-Natioal Coferece o Shape Modelig ad Reasoig for Idustrial ad Biomedical Applicatio, Techio Haifa, Israel, May 2007, pp. 60 64. Erico Puppo is professor of computer sciece at the Departmet of Computer ad Iformatio Scieces (DISI) of the Uiversity of Geova, where he co-leads the Geometry ad Graphics Group. He received a Laurea i Mathematics from the Uiversity of Geova, Italy, i March 986. From 986 to 998 he has bee research scietist at the Istitute for Applied Mathematics of the Natioal Research Coucil of Italy. He is with DISI sice November 998. Erico Puppo has writte over 00 techical publicatios o the subjects of algorithms ad data structures, geometric modelig, computer graphics, ad image processig. His curret research iterests are i geometric algorithms ad data structures, with applicatios to CAGD, GIS, scietific visualizatio, ad shape retrieval. He is a member of ACM, Eurographics, IEEE Computer Society, ad IAPR. Daiele Paozzo received his udergraduate degree i Computer Sciece from the Uiversity of Geova i September 2007. He is curretly a studet i the graduate program i Computer Sciece at the Uiversity of Geova. Betwee March ad Jue 2008, he has bee a visitig studet at the Departmet of Computer Sciece of the Uiversity of Marylad, where he has bee workig o his master thesis uder the supervisio of Professor Haa Samet. This work was the subject of his fial project i the udergraduate program. His curret research iterests are i geometric modelig ad computer graphics.