Iterative Process to Improve Simple Adaptive Subdivision Surfaces Method for Triangular Meshes

Problem statement: Subdivision surfaces were applied to the entire me shes in order to produce smooth surfaces refinement from coarse mesh . Several schemes had been introduced in this area to provide a set of rules to converge smooth s urfaces. However, to compute and render all the vertices are really inconvenient in terms of memory consumption and runtime during the subdivision process. It will lead to a heavy computational load especially at a higher level of subdivision. Adapt ive subdivision is a method that subdivides only at cer tain areas of the meshes. Although subdivision occurs at the selected areas, quality of produced s urfaces can be preserved similar to a regular subdivision surfaces. Nevertheless, adaptive subdiv ision process suffers because of two reasons; calculations need to be done to define areas that r equired to be subdivided and to remove cracks created from the subdivision depth difference betwe n selected and unselected areas. Cracks must be removed because it creates artifacts in editing, re ndering and processing of the mesh. Approach: This research brings to iterative adaptive subdivision t improve simple adaptive subdivision surfaces method for triangular meshes. Results: The result of this iterative process presented to produce fewer polygons while it preserve smoother. Conclusion: The proposed method created surfaces of better quality, computationally more efficient and occupie d l ss memory as compared to original method.


INTRODUCTION
Subdivision surfaces represent a simple refinement operations applies to a polygonal mesh to produce smooth surfaces and can be applied at arbitrary meshes.Subdivison surfaces is replacing traditional modelling such as NURBS and surface modeling application because it may overcome the previous weaknesses.Even though subdivision surfaces are not a newly invented technique, but it is used widely in the field of computer graphics, computer aided geometric design, 3D modeling, game development and animation packages.For examples are Geri's Game, Toy Story and Bug's Life.3D Light Wave modelling and animation system of Newtek also use subdivision with the same purpose (Zorin and Schroder, 2000;DeRose et al., 1998).Recently, many subdivision techniques have been developed including Catmull and Clark (1978); Doo and Sabin (1978); Loop (1987); Dyn et al. (1990) and Kobbelt (2000).
Motivation: Subdivision schemes were applied to the whole coarse meshes and refined globally at every level of subdivision.This can lead to a huge computational load at higher levels of subdivision.Furthermore, after a few subdivision steps, the generated subdivision surface is smooth enough to represent a fine model.But usually there is no need for a model to be subdivided in all areas to get smooth surfaces, only some areas that need to be subdivided to make them smoother, moreover, subdivision of a flat surface still produces a flat surface.It is also important to reduce the unnecessary subdivision to save the render time and the storage space, since the size of mesh otherwise grows exponentially with the level of subdivision (Muller and Jaeschke, 1998).
To apply this concept, adaptive subdivision is the method that refines a subset of the surfaces.The objective of adaptive subdivision is to subdivide a mesh that produces smooth surfaces and yields the same visual quality as a uniformly subdivided mesh while using as few facets in the approximation as possible.Figure 1 shows the examples comparisons of coarse mesh, regular subdivision and adaptive subdivision.regular subdivision and (c) adaptive subdivision (Pakdel and Samavati, 2004) Concept of adaptive subdivision is simple, connectivity and geometrical inconsistencies that arise when a subset of the faces are subdivided must be concerned.
Although adaptive subdivisions are some of the simplification and interest feature for subdivision surfaces, but it has two drawbacks which is to define a selection area to be subdivided while prevent unnecessary locations and to avoid cracks that are caused by a difference subdivision depth of neighboring faces.These cracks prevent some further processing of the mesh and high quality rendering (Pakdel and Samavati, 2004).

Related work:
Previously, adaptive subdivision methods have been observed that it can be categorized by two ways which is identifying the surfaces by vertex split or face split (Farin et al., 2001).A crack is not produced when refinement process based on vertex split.However, adaptive subdivision method based on face split will yields cracks.Then, related works about adaptive subdivision based on selection criteria and handling cracks are reviewed.Selection criteria must be determined which areas need to be subdivided to avoid unnecessary areas affected.Based on the ideas, Farin et al. (2001) use the normal angles between the faces and its adjacent faces to determine whether the face needs to be subdivided or not at the next subdivision level.Meyer et al. (2003) have introduced Gaussian curvature analysis to define high curvature areas.Higher curvature areas need more refinement because they contain more details than flat areas (Meyer et al., 2003).Isenberg et al. (2003) have used the Degree of Interest (DOI) function in order to decide refinements of the mesh either they are required or not by comparing to a certain threshold value.Liu and Kondo (2004) produced a new rule that the biggest angle between the normal vector of adjacent faces of a vertex is used as error estimation and was called Conical Angle (CA).Wu et al. (2005) proposed an adaptive subdivision approach utilizes local flatness of vertex or face.Local refinement can be achieved by setting a reasonable tolerance limit.After the selection criteria work efficiently, we need to be prepared on another problem that will occur.While a subdivision process working based on face split, cracks created between subdivided and non-subdivided areas.
Based on the ideas for handling cracks proposed by Farin et al. (2001), they introduce a simple triangulation method to remove cracks that is to bisect the face that has not been subdivided.While Bank et al. (1983) develop a new method on removing cracks by inserting edge into the mesh called as red-green triangulation technique.Liu and Kondo method on identifying which vertex of a face was 'dead' and proposing suitable mesh refinements based on the properties of its three vertices.They take care of the T-vertices (cracks) problem and propose a solution which is called Local Mesh Realignment (LMR) (Wu et al., 2005).

MATERIALS AND METHODS
To visualize subdivision surfaces, the meshes are subdivided until it reaches a good approximation of the limit surface.Subdividing the entire mesh increase the number of faces exponentially.To reduce the complexity of a model in a real-time application, it is computed by subdividing the meshes adaptively.Adaptive subdivision produced a better visualization surfaces at a lower cost.A framework has been developed to describe a flow of simple adaptive method.
This framework (Fig. 2) referred to the Gardere and Landry (2002) project study.Previously, original method was using a threshold which is an angle of normal vector between the adjacent faces for each level of subdivision to define necessary areas.For several level of subdivision were using same threshold until it produces smooth surfaces.We proposed iterative process of this simple adaptive by using different threshold for each level of subdivision that will generates fewer polygons while it preserve smooth result.Now, we elaborate the main method used by the proposed iterative process.

Creating initial mesh:
The file begins with a number representing the triangles mesh that contained the number of vertices and triangles.Each contains the triplet (x,y,z) which specifies the coordinates.
Selection areas: Generally, the areas of the meshes that need to be subdivided must be decided first before subdivision steps.This method computes a function based on angle of face normal on the triangle mesh.To decide if the subdivision steps are required by comparing the angle between normal vectors of adjacent faces to a certain threshold value to identify faces where subdivision is needed.For example, if the angles were more than the 30 o threshold, the adjacent face is subdivided using the subdivision scheme.Otherwise, if the movement of the vertex is below some threshold, the vertex is not inserted and the edge is not divided.
Basic scheme for selection areas works as follows: • Calculate the normal for each triangle • For each triangle, compute the normal angle between the triangle and its neighbors • If the angle is bigger than a given value (threshold), so a selected area and the neighbors are subdivided using subdivision scheme, otherwise it is not subdivided  (Isenberg et al., 2003).
Fig. 5: A simple method to handle cracks (Pakdel and Samavati, 2004) Butterfly scheme: If the movement of this vertex is below some threshold, the vertex is not inserted and the edge is not divided.Otherwise a new vertex is inserted using the Butterfly subdivision techniques for inserting a mid-edge point.Butterfly subdivision was proposed by Dyn et al. (1990).It is an interpolating scheme and does not reposition during subdivision.Butterfly subdivision was implemented by finding mid-edge points for each edge of a triangle.Finding the midpoint of the edge and adjusting it by its neighbors in the butterfly mask (Fig. 3).
To compute the position of the new (mid-edge) point, multiply its neighbors by the corresponding coefficient and add them up: Midpoint, M(c) = average (f) + (average(s) -average (t)) / 4 Handling cracks: During a subdivision step, if a face is going to be subdivided but its neighboring face is not, a crack will be created.Crack or called as T-vertices occurred in adaptive subdivision.If the cracks are not processed properly, the subdivision may fail and produced some artifacts.The resulting cracks must be filled so that the surface can be further subdivided or edited.Figure 4-5 shows a simple triangulation method to deal with the cracks as follows: • A face will be subdivided is split in half when it has only one subdivided neighbor face • When it has two subdivided neighbors, it is split by two face edges • If it has three neighbors to be subdivided, it also is subdivided using a regular subdivision Even though simple triangulation method removes cracks efficiently, but it has some undesired sideeffects.First, it changes the connectivity and valence of odd vertices.This will not only alters the limit subdivision surface, but also reduces its smoothness.
Secondly, O-vertices have a different subdivision depth than the even vertices of the selected area.Therefore, the even vertices are not repositioned properly if the selected area is subdivided again.Finally, ignoring the irregular connectivity of T-vertices, repeated subdivision and simple triangulation of the selected area produces high valence O-vertices.High valence vertices lead to long faces which create ripple effects on the subdivision surface (Farin et al., 2001).However, this study only covered an iterative process for basic adaptive instead through for an incremental that will reduce some undesired side-effects.
Iterative process: Iterative process means that adaptive subdivision works by using a different threshold for each level of subdivision until it converges to a smooth surface.For example, at level one using 15° while at level two using 20° and it changes with different value until the meshes reaches a good surfaces.

RESULTS
We compare the results of simple adaptive subdivision from the previous method.Based on the framework that were mentioned earlier, we had made some evaluations for a basic adaptive method using Butterfly scheme.We applied iterative process of adaptive subdivision surfaces method.Based on our comparison, it was proven that our method using iterative process of adaptive subdivision method can improve the previous method which is our result can reduce a number of polygon, better in rendering for high level subdivision and produce smooth surfaces.

DISCUSSION
Selection area had to be carefully observed in order to avoid unnecessary areas subdivided.It should be projected the suitable mesh refinements based on the properties of its neighboring faces.To overcome this issue, several methods had been proposed to determine if the face needs to be subdivided or not.The planar area in subdivision surfaces had to be analyzed so the selected criteria can accurately find the areas that are not flat or with high curvatures in the meshes and can be computed efficiently.Therefore, removing cracks by adding edges create a number of extraordinary vertices that are unavoidable in adaptive subdivision algorithm.Extraordinary vertices affect the shape of the limit surfaces and reduce its smoothness.Selection area and the way to fix a crack must be balanced to implement adaptive method that will be avoiding some artifacts and produce a better result of smooth surfaces.

Table 1 :
Simple adaptive method at five level of subdivision by different degree for each level

Table 2 :
Simple adaptive method using suitable degree for five level of subdivision (based on original method)

Table 3 :
Final result for each method Previous Modified

Table 4 :
Another result