MULTI-RESOLUTION MODELING FOR VIRTUAL DESIGN

The benefits of multi-resolution modeling techniques in virtual reality are vast, but one essential component of this model is how it can be used to speedup the process of virtual design and virtual prototyping. In this paper we propose a new multi-resolution representation scheme called MRM, which can support efficient extraction of both fixed and variable resolution modeling data for handling multiple objects in the same scene. One important feature of the MRM scheme is that it supports unified selective simplifications and selective refinements over the mesh representation of the object. In addition, multi-resolution models may be used to support real-time geometric transmission of data in collaborative virtual design and prototyping applications. These key features in MRM, may be applied to a variety of VR applications.


introduction
In comparison to traditional geometric visualization systems, Virtual Reality (VR)-based systems provide users with a superior interaction environment for exploring CAD models in real time.The two most critical requirements of any VR system are (a) real-time update rates of the stereo scene being viewed with low latency in location and orientation tracking, and (b) scene realism.The comprehensive capability of this methodology can provide the solutions necessary to accompany the complexity of problems that may arise in computer graphics modeling.
Highly detailed geometric models are necessary to satisfy a growing expectation for realism in computer graphics, while the increasing complexity of the models makes them expensive to store, transmit, and render [1].Mesh simplification and multi-resolution models are employed to speedup the processing of complex mesh data; whenever a representation at low resolution is adequate to meet the needs of the application.Multi-resolution models offer the possibility to manipulate representations of objects at different levels of detail (LoD) and accuracy, depending on the needs of each specific application [2,3].In addition to the benefits of speeding up visualization, multi-resolution techniques also support the interactive modeling of detailed objects [4].

MULTI-RESOLUTION MODELS
3D scenes are typically modeled using a single, fixed resolution model of each geometric object, while the multi-resolution model represents objects at multiple levels of detail.For this reason, a rendering program is beneficial because it can choose the level of detail appropriate for the object screen size so that less time is wasted on drawing insignificant detail.The principal challenge in this methodology i s to preserve the appearance of the object by developing algorithms that take detailed model data as input and then systematically simplify the model with these very algorithms [5].
One traditional heuristic technique used to manipulate the multi-resolution model is to author several versions of another model at various LoD [6,7] (Fig. 1 is an example).For example, a detailed triangle mesh is used when the object is close to the viewer, and coarser approximations are substituted as the object recedes in appearance.The multi-resolution representation is a data structure that allows the compact representation of a number m of representations, at different levels of detail, where m is somewhat proportional to the data size.Sometimes it is called continuous LoD.Multi-resolution representation is not the simple collection of a number of predefined models, but a compact representation of geometry details plus the algorithms which allow run-time reconstruction of each possible level of detailed representation.With multi-resolution models, users have much more flexibility in the selection of the "best" level of detail according to run-time needs instead of the fixed models created during the preprocessing simplification phase.

VIRTUAL DESIGN
According to our investigation, the LoD and multi-resolution models are widely used in terrain visualization, flight simulation, topographic surfaces in Geographical Information Systems and general virtual environments [1,3,4,5,6], however few works have been done on applying these techniques to virtual design and prototyping fields.The primary focus of this paper will be on how this can be accomplished.
For industrial and manufacturing uses, VR technology can be employed in the area of design, processing, transportation, and distribution decision support, however one of the main goals of using VR technology is to allow the manufacturing engineer to manipulate 3-D objects in a 3-D stereo environment [7].
Virtual design refers to the generation of virtual models of product designs.Virtual prototyping involves the evaluation of designs in order to meet downstream product requirements such as producibility or disassembility.One feature of virtual prototyping is the reduction in the number of physical prototypes built [8], and for this reason, Interactive rendering of complex 3D CAD models is a basic requirement for such systems.
In regards to the related works on applying LoD and multi-resolution modeling techniques to virtual design and prototyping, A. Varshney discusses the enabling virtual reality feature for large-scale mechanical CAD data sets [7].Virtual design and virtual prototyping perform different types of analyses, and therefore require the geometry of the part or assembly to be represented by different levels of abstraction.
There are two primary graph abstractions: the design intent graph and the shape-modeling graph--both of which are employed in the modeling of shapes for the virtual design.[9].R.Ramachandranet et al. [10] present a raytracing approach for the 3D CAD model simplification, but its primary drawback is that it only removes the inside information of the model.Despite this limitation, their work is still thought of as the most progressive technique for refinement in detailed modeling.

Fig 2 Edge collapse
The remainder of the paper is organized as follows: in Section 2 we first propose a new multiresolution model representation scheme called MRM.We then discuss the method for constructing MRM models using mesh simplification methods; lastly, we explain how to generate fixed resolution and variable resolution models based on MRM.In Section 3 we have a brief discussion on employing Multi-resolution models to support real-time geometric communication.Conclusions are then formulated based upon the presentation of these techniques; future works in this area will be proposed in Section 4.

Multi-resolution Modeling
LoD has two obvious shortcomings: First, it requires large storage space to maintain various LoD models.Second, the transition between the two LoD models is not smooth.Multi-resolution models are usually based either on sequences of representations of the whole scene at different resolutions, or on tree-like hierarchies, where each node of a tree is a representation of a portion of the scene at a given resolution.L. De Floriani [3] provides a survey of the multi-resolution models proposed in literature including quad-tree, restricted quad-tree, hierarchical triangulation and Delaunay pyramid.Some research results on multi-resolution modeling have been achieved recently with positive results [5,11,12,13,14,15,16].
Typical examples of multi-resolution model representation are PM proposed by H.Hoppe [13] and HyT proposed by C.Cignoni [5].Based on our experiment, we found that there is ambiguity in the PM representation, and its limitation lies in the fact that it is it is not fully reversible [17].Furthermore, with the HyT representation, it can not process scenes consisting of individual separated object [18].Thus we propose a new multi-resolution model (MRM).

MULTI-RESOLUTION MODEL EXPRESSION AND CONSTRUCTION
MRM is a compact and unified data structure that can support multiple separate objects in the same scene or field.It encodes all the triangles created during the simplification process and provides efficient navigation of the structure to extract the triangles at fixed or variable resolution.To make it easier to understand an MRM scheme, we first give some notations [4] (here we give our definition on the simplification method based on edge collapsing (see Fig. 2), while P. Cignoni introduces similar notations based on vertex removal operation [5].Note: The same holds for other simplification approaches.)

2.1.1Some definitions
We refer to the input mesh as M=M 0 .M i is the intermediate mesh obtained after i steps of edge collapsing; e is the candidate edge for collapsing in M i ; T v is the patch of triangles incident in e; and finally T v ' is the new triangulation which will replace T v in M i+1 after the edge collapsing of e.
Let's consider the simplification region as the passing from M i to M i+1 .The removed patch T v and the new patch T v ' share the edges that bound the current simplification region.Triangles of intermediate mesh M i and M i+1 can be classified as follows: living triangles: this refers to the triangles that are not changed during the simplification process (i.e., triangles outside the simplification region, that belong to both M i and M i+1 ).We maintain the error of approximation introduced by each step of edge collapsing, which leads to the two attributes for each triangle t in any intermediate mesh: The birth and death errors allow the detection of those triangles which are contained in any intermediate mesh.We call this [ε b, ε d ) the life interval of each triangle.If t. ε b <ε<t.ε d , then triangle t is said to be ε-alive.The resolution (or the approximation error) of any intermediate mesh is defined as the maximum error of all the triangles composing the mesh.Suppose the approximation error of mesh M i is ε i , then we have: 0=ε 0 <ε 1 <……<ε n .ε 0 is the approximation error of the initial mesh, while ε n is the approximation error of the coarsest mesh.A mesh M ε at resolution ε is composed of all the triangles whose life interval cover ε (ε b <ε<ε d ).

MRM scheme
In passing from M i to M i+1 , the removed patch T v and the new patch T v ' share the edges that bound the current simplification region.Hence, instead of simply replacing the removed patch, as in the ordinary mesh simplification process, we sew the new patch over the old one along such boundary edges, while saving the dead triangles below the newborn ones (see Fig. 3).The simplification proceeds by recursively sewing a patch at each simplification step.The resulting structure encodes explicitly the adjacencies between faces that share an edge, either in the same triangulation M i or in different triangulations.This scheme is first proposed by C.Cignoni [5].However, the original HyT scheme can only encode single object or scenes composed of objects connecting each other.Our MRM model can manipulate multiple objects in the same scene by encoding them into a MRM tree, where each object corresponds to a MRM node in the tree.

Construction of MRM models
Based on the edge collapse, our MRM generation algorithm can be described in the following steps: Step 1: Input an original mesh M, initialize the data structure of vertices, edges, triangles, and MRM; Step 2: For each edge, compute its additional error ε after edge collapsing.Build an edge list according to ε; Step 3: Select an edge candidate e of the first node of the edge list, collapse e and insert new created vertices and triangles into MRM.Modify birth error and death error of related triangles in MRM at the same time.
Step 4: Re-sort the edge candidate list according to updated errors.If this list is not empty then go to Step 3; Step 5: Output the MRM.

RESOLUTION MODELING BASED ON MRM
Resolution modeling is a new concept presented by P. Cignoni [5], and it is a user-driven modeling of variable resolution representations of the given shape.This technique may be used in CAD, virtual design systems, and also in support of resolution modeling.
The MRM scheme provides a compact encoding of all the triangles at different resolutions, as well as efficient traversal functionality in order to navigate the structure; hence, to extract meshes at desired resolution.We start with the generation of a fixed resolution representation of the mesh, and then we apply a number of successive selective refinement/simplification actions.

Extraction at fixed resolution
For resolution ε (0<ε<ε 0 ), where ε is the resolution of the coarsest mesh, a mesh of resolution ε is composed of all the ε-alive triangles.The algorithm is described as follows: For each node in a MRM tree { Compute the corresponding resolution ε ε for the node; Find the first triangle t that is ε ε-alive; Push the three opposite edges of t into stack; While stack is not empty{ Pop an edge e from stack; Find the ε ε-alive triangle t' adjacent to e ; If the other two edges of t' have not been visited, push their opposite edges into stack; } }

Extraction at variable resolution
Similar to the extracting of meshes at fixed resolution, we can traverse the MRM tree to extract the desired mesh.However, the generation of variable resolution models is a user driven process.Users have to indicate the resolution-editing region and select the resolution-editing function.Also, for a mesh at variable resolution, we should guarantee the continuity on each intermediate result.The algorithm is described as follows:

MRME: A multi-resolution modeling system
We have implemented our data structure and algorithms in a multi-resolution modeling and editing system called MRME.When users open a mesh file, the system first constructs the MRM tree and then displays the initial model in the main window and the wire-frame model in the secondary window.After this step, the user can specify the resolution in the widgets and then apply a fixed resolution editing operation.Refinement or simplification actions can then be operated on areas specified by the user, as indicated by the user interface, shown in Fig. 4. MRME systems can support multi-resolution modeling operations on individual objects represented in a scene.Through this process we can make individual objects or different parts of an object that have different degrees of resolution appear more integrated.

Conclusion
Multi-resolution modeling consists of key techniques used for virtual design and prototyping, and for this reason, we feel that it will be used widely in future systems.Not only is it a comprehensive and vast system for VR applications, but its main strength lies in the fact that it is efficient and can handle multiple tasks simultaneously We propose a new multi-resolution expression data structure, which allows for the efficient extraction of fixed resolution and variable resolution rendering of objects.This implemented system supports resolution-editing operations on the mesh and can respond to the user's request interactively.
For future works, we consider the extension of MRM to include other attributes such as color and texture.Compression of the multi-resolution model for more efficient storage should be employed in future applications.Additional research may be applied in the field of virtual assembling in which multi-resolution models are used in support of interactive collision detection.

Fig. 1
Fig.1 Pre-simplification results of a car model

ε ε d
: death error: the error introduced by the edge collapsing when t is destroyed ( MAXIMUM effect if the triangle belongs to the coarsest triangulation ); ε ε b : birth error, the error introduced by the edge collapsing when t is created (zero if the triangle belongs to the initial triangulation) Pick the focus point of the editing region indicated by the user; Define the resolution function with the Bezier curve and the error user given; For each node in MRM tree { Find the first edge nearest to the focus point that also satisfies the resolution function; Find the triangle t adjacent to e that satisfies the resolution function; Push t into the triangle set to be rendered; Push the other two opposite edges of t into the priority queue; While the priority queue is not empty { Find the first edge e in the priority queue for expansion; Find the triangle t' adjacent to e which satisfies the resolution function; Push t' into the set to be rendered; If the other two edges of t' haven't been visited yet, put their opposite edges into the priority queue; } Remove the overlapping triangles; } Re-render the scene;

Fig 4
Fig 4 User interface of MRME