Computer-Aided Design 38 (2006) 134–142 www.elsevier.com/locate/cad
New multiresolution modeling techniques in CAD Jinxing Yin *, Guanlong Chen, Zhongqin Lin School of Mechanical Engineering, Auto Body Manufacturing Technology Center (B.M.T.C), Shanghai Jiaotong University, Shanghai 200030, People’s Republic of China Received 27 February 2005; accepted 29 August 2005
Abstract To apply wavelet transformation to CAD surface model composed of multiple surface patches, an algorithm called wavelet signal separation to preserve geometric constraints during wavelet transformation is proposed. The algorithm divides the B-spline control points into those associated and those unassociated with the geometric constraints. Through preserving the signal information associated with the constraint control points, the geometric constraints can be automatically preserved after wavelet transformation. This paper also briefly investigates two types of the detail feature propagation technique in wavelet-based multiresolution CAD system. One is detail feature motion. The other is detail feature repetition. Finally, a comprehensive example is presented to illustrate the effects of the combination of those techniques. q 2005 Elsevier Ltd. All rights reserved. Keywords: Wavelet; Curve/surface modeling; Geometric constraints; Signal separation
1. Introduction Wavelet-based multiresolution analysis (MRA) is based on decomposing a vector space into a set of nested vector spaces with different scales, and then analyzing the properties of functions in the time and frequency domains in those different scale spaces. The techniques are especially suitable for analyzing non-periodic signals and are widely used in different areas. Finkelstein and Salesin [1] in 1994 first introduced MRA based on B-spline wavelets to curve/surface modeling to facilitate a variety of multiresolution editing operations. MRA brought a novel conception to the area of curve/surface modeling. In current CAD systems there are many modeling methods, such as non-uniform rational B-splines (NURBS) modeling method, constructive solid geometry (CSG) modeling method, boundary representation (B-rep) modeling method, and recently free-form deformation (FFD) modeling method [2,3], partial differential equation (PDE) modeling method [4,5], energy functional optimization modeling method [6,7]. However, all the methods for object modeling are carried out in a single three-dimensional vector space. We define such style of CAD system as single-space CAD system. * Corresponding author. Tel.: C86 21 62932125 0; fax: C86 21 62932125 103. E-mail address:
[email protected] (J. Yin).
0010-4485//$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2005.08.006
Distinguishing from traditional single-space CAD system, MRA can edit curves/surfaces in different resolution spaces for different effects. We can call such a CAD system with MRA as multi-space CAD system. The multiresolution framework is attractive since the higher resolution details and the lower resolution (smoothed) curves are simultaneously available. Applications of MRA to curve/surface modeling have received wide attention in recent years and fruitful results have been obtained [8–20]. With multiresolution editing, the curve can be smoothed and the overall form of the curve can be changed while preserving its details (sweep editing). The curve can be edited at any continuous level of detail (fractional editing). Additionally, the curve’s character can be changed without affecting its overall shape. However, to further complete multispace CAD system, some other operations still need more attentions. For example, some well-known operations in tradition single-space CAD system as moving a well-defined detail feature from one location to another location or repeating a well-defined detail feature at some desired locations have not been clearly addressed in the literature for multi-space CAD system yet. Another important issue is related to geometry constraints in multi-space CAD system. As well known, most of CAD surface models are consisted of multiple surface patches. How to keep geometrical continuity between different surface patches when MRA editing operation is applied still remains challenging. The end-point interpolating B-spline wavelet transformation developed in [9–11] is confined to a single tensor-product B-spline patch. MRA editing destroys
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
the original geometric constraints associated with curves/ surfaces. Takahashi [12,13] proposes an approach of designing shapes that imposes different constraints at multiple levels of resolution by using energy functions. Wu and Wang [14] propose a multilevel function constructed by combining multiresolution wavelet analysis with an energy function to satisfy geometric boundary constraints. Those approaches are to impose constraints through introducing the energy function by additional penalty terms associated with each of geometric constraints during wavelet transformation. It is known that with the introduction of additional energy functions, MRA editing becomes significantly complicated, especially in dealing with larger scale data [21]. Ranga and Ji developed an algorithm in Ref. [15] for multi-patch deformation by enforcement of G0 continuity between adjacent patches, and after editing G1 continuity may be recaptured by numerical optimization of the error vectors along boundary seams. Gershon Elber presents a scheme that combines multiresolution control with linear constraints into one framework, allowing one to perform multiresolution manipulation of nonuniform B-spline curves, while specifying and satisfying various linear constraints on the curves [16]. In this paper, we investigate a simpler and more efficient technique for keeping the constraints for multiple patches. An algorithm called wavelet signal separation to preserve geometric constraints during wavelet transformation in curve/surface modeling is proposed. The algorithm first divides the B-spline control points into those associated and those unassociated with the geometric constraints. Through preserving the signal information associated with the geometric constraints, the geometric constraints can be directly preserved after wavelet transformation. This paper also briefly discuss detail feature propagation technique in multiple-space CAD system to extend the earlier work on multiresolution curve and surface operations [1,9–11, 15] such as sweep editing, fractional editing synthesis editing and detail blending. The considered propagation technique can be detail feature motion or detail feature repetition in same or different curve/surface patches. Detail feature motion is a way to move a well-defined detail feature from one location to another location. Detail feature repetition is a way to repetitively copy a well-defined detail feature on different desired locations. The rest of the paper is organized as follows. MRA and endpoint interpolating B-spline wavelets used for representing curves and surfaces are introduced in Section 2. In Section 3, techniques for detail feature propagation are discussed. To apply wavelet transformation to multiple patches, the wavelet signal separation technique is presented in Section 4. Implementation examples are presented in Section 5 to demonstrate those techniques. Conclusions and future research directions are in Section 6. 2. MRA and endpoint interpolating B-splines Wavelets were developed for the purpose of approximation by Daubechies in Ref. [17]. Mallat in Ref. [18] proposed a
135
framework for wavelet-based MRA and expanded its application to signal processing. Recently, extensive attentions have been focused on MRA application to the field of computer graphics, see for example, Refs. [19,20]. This section provides a brief background on the theory of MRA and endpoint interpolating B-spline wavelets technique. 2.1. Multiresolution analysis The basic concept in MRA is a set of nested vector spaces V j such that: V 0 3V 1 3V 2 ; .; V j
(1)
In the following, superscript j represents the scale of the vector space. As j increases, the vector spaces have a finer resolution. The basis functions of space Vj are called scaling functions and are denoted by Fj(x). The orthogonal complement of Vj in VjC1 is denoted as Wj, i.e. VjC1ZVjCWj. The space Vj can be decomposed in a sequential manner as: V j Z V 0 C W 0 C W 1 C/C W jK1
(2)
The basis functions in Wj are called wavelet functions and are denoted by Jj(x). According to MRA, a function f(x) at scale j denoted by C N P f ðxÞZ ai fji can be represented by a combination of lower iZKN
scale functions and wavelets as f ðxÞ Z
CN X
cðiÞfm i ðtÞ C
iZKN
j X CN X
dðk; nÞ4nk ðtÞ:
nKm kZKN
For orthogonal wavelets the coefficients c(i) and d(k,n) can be computed through the following equations: C C N ÐN Ð cðiÞZ f ðxÞfm f ðxÞ4nk ðtÞdt. i ðtÞdt, and dðk; nÞZ KN
KN
2.2. Endpoint interpolating B-spline wavelets A function in the polynomial space Vj can be represented by a limited number of scaling functions as f ðxÞ Z Fj ðxÞ$Cj
(3)
where Fj(x) is a single row matrix formed by all the B-spline basis functions and the coefficients matrix, Cj by all the control points. Since Vj is a set of nested vector spaces, a matrix Pj exists such that FjK1 ðxÞ Z Fj ðxÞPj :
(4)
Similarly, since WjK1 is also a subspace of Vj, a matrix Qj exists such that: JjK1 ðxÞ Z Fj ðxÞQj
(5)
Eqs. (4) and (5) are often referred to as the scale relations of scaling functions Fj(x) and wavelets Jj(x). The matrices Pj and Qj are called synthesis filters. Eqs. (4) and (5) can be combined
136
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
into a single representation: ½FjK1 ðxÞjJjK1 ðxÞ Z Fj ðxÞ½Pj jQj
3.1. Detail feature propagation (6)
2.3. Filter banks Since a lower resolution version (curve or surface) CjK1 is derived from Cj, a matrix Aj can be found as: CjK1 Z Aj $Cj :
(7)
The lost information due to (7) is stored in detail matrix DjK1 as: DjK1 Z Bj $Cj :
(8)
where the matrices Aj and Bj are called analysis filters. The procedure for obtaining CjK1 and DjK1 is called wavelet decomposition. The original coefficients Cj can be reconstructed from the lower scale coefficient CjK1 and the detail matrix DjK1: CjK1 Cj Z ½Pj jQj : (9) DjK1 K The procedure of recovering Cj from CK j 1 and Dj 1 is called wavelet reconstruction. The matrices Aj and Bj can be constructed using the following relation: j A jK1 jK1 ½F jJ $ j Z Fj : (10) B
By (10) and (6), Aj and Bj can be obtained as: j A Z ½Pj jQj K1 Bj
(11)
With the matrix filters (11), we can decompose and synthesise the endpoint interpolating B-spline curves at different resolutions (or scales).
Detail feature propagation can be from one surface patch to another different surface patch or on the same surface patch. It should be noted that the number of the control points (scales) of the two curves/surfaces must be equal before a feature propagating from one surface to another different surface patch. If the number of the control points is not equal, the synthesis editing in [15] is used to make them equal. For a feature propagating from one source patch to another different target patch, the procedure is illustrated as the following three steps: Step 1: Filter out the source detail feature from the source curve/surface as follows:
where the detail information is stored in one set of wavelet coefficients Dj’s. Step 2: Decompose the target curve/surface as the lower resolution and higher resolution:
where Cj0 ’s are a set of control points wavelet coefficients of the target curve/surface. Step 3: Move the source detail feature to the target curve/surface by adding the source detail information obtained in step 1 to the detail information of the target curve/surface obtained in step 2 as:
3. Detail feature propagation Wavelet theory provides new techniques for curves/surfaces modeling. Sweep editing and fractional editing of B-spline curves/surfaces have been introduced by Finkelstein and Sanlesin [1] and Stollnitz, Derose and Salesin [9–11]. Synthesis editing and detail blending have been introduced by Ranga and Ji [15]. In this section, we further clarify detail feature motion or repetition editing in a multiple-space CAD. We call such editing as detail feature propagation editing. Propagation editing for a well-defined detail feature is a common editing operation in a CAD system. If the features are simple, such operation can be realized in traditional singlespace CAD system, but if the features are complex it is difficult for the single-space CAD system to perform such operation. By multiresolution representation, a detail feature can be readily copied or moved from one location to another location in a multiple-space CAD system. In the following, we discuss how to realize the propagation editing for a well-defined detail feature on a CAD surface model and how to erase some noise arisen during the propagation editing.
where Cj0 ’s denote the coefficient matrix after added with source detail feature. If the detail feature propagation editing is on the same surface patch, the following four steps are used: Step 1: Filter out the detail feature from the source curve/surface as follows:
where the detail information is stored in Dj’s and the lower resolution information is stored in Cj’s. Step 2: Reconstruct the detail feature coefficients with Dj’s obtained in step 1 without the lower resolution coefficients as follows:
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
137
The new detail information is stored in matrix Cj0 ’s. Step 3: Reconstruct the lower coefficients without the detail feature coefficients as follows:
Fig. 2. B-spline Decomposition.
The new lower resolution information is stored in matrix Cj00 ’s. Step 4: Add Cj0 in step 2 to the desired locations in the matrices Cj to realize the detail feature repetition; Add Cj00 in step 3 to the desired locations in the matrices Cj0 in step 2 to realize the detail feature motion. 3.2. Noise suppression Fig. 1 shows an example of detail feature moving from one curve segment to another curve segment. Fig. 1(a) shows the two curve segments AB and CD. Fig. 1(b) is the result curves obtained by detail feature motion editing discussed above by moving the ripple features on the curve segment AB onto the segment CD. We observed some noise happening during the detail feature motion operation at the ends of curve segment CD as shown in Fig. 1(b). This is due to the fact that multiresolution decomposition cannot completely separate the wanted detail information from the rest. Therefore, when we add the separated detail information to a target curve/surface, the target curve/surface may subject to small-unwanted deformation as shown in Fig. 1(b). The problem is solved by selectively choosing detail information as follows. Suppose curve gj(t) is the detail curve obtained from the curve fj(t) through the process of
wavelet transformation, as shown in Fig. 2. Since, this paper specifically discuss CAD surface model, a detail feature to be edited is well defined. Therefore, we can selectively consider the detail feature information in a range determined by gj ðtÞjO d
(12)
where d is an empirical parameter which be chosen interactively. From Eq. (12), we can obtain t1 and t2 as shown in Fig. 2. Only detail information in the range between t1 and t2 are moved to target curve/surface or locations. The curve CD shown in Fig. 1(c) is an example of detail motion editing with consideration of the range determined by Eq. (12). To show the detail feature propagation technique discussed in Section 3.1 combined with noise suppression technique in Eq. (12) is practical, in the following we present various examples. Fig. 3 shows an example to move the detail feature on surface patch shown in Fig. 3(a) to the surface patch shown in Fig. 3(b). Fig. 3(c) shows the result of the editing. Fig. 4 shows an example of detail feature propagation editing in a single curve segment. Fig. 4(a) shows the initial curve segment. The detail feature shown in Fig. 4(a) is moved in the curve as shown in Fig. 4(b). Fig. 4(c) shows an example of the result after the detail feature repetition editing on the curve segment. Fig. 5 shows an example of detail feature repetition editing on a single surface patch. Fig. 5(a) is the initial surface patch and Fig. 5(b) is the result after the detail feature repetition editing. It is observed that the detail feature propagation editing technique discussed here have achieved the desired affects in those examples and other numerous examples too.
4. Multiple patch transformation
Fig. 1. Detail feature motion editing on curves. (a) Initial curves. (b) Curves after the detail feature motion editing. (c) The curves after noise suppression.
In the CAD surface modeling, most models are composed of various curve segments or surface patches complying with various geometric constraints. The existing end-point interpolating B-spline wavelet editing techniques are limited in its application to a single tensor-product B-spline patch. It needs to be extended to more complex models that are composed of multiple B-spline patches. The challenges lies in that after MRA editing the geometric constraints among the various curves segments or surfaces patches are generally destroyed.
138
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
Fig. 4. Detail feature propagation editing on a single curve. (a) Initial curve. (b) The curve after ripple feature motion editing on the same curve. (c) The curve after ripple feature repetition editing on the same curve.
from the other control points to realize various constraints during wavelet transformation. In the proposed method, no additional calculations are needed. Therefore, the method can keep the high time efficiency of the original Mallat algorithm in Ref. [18]. 4.1. Wavelet signal separation In order to design a smooth curve/surface model, boundary constraints, such as G1 continuity and G2 continuity, generally have to be satisfied. According to the properties of B-splines, all the constraints can be represented by the corresponding B-spline control points. Therefore, we can divide the control points of a B-spline into two parts: One part only includes the control points associated with geometric constraints; the other part only includes the control points unassociated with geometric constraints. In this way, a B-spline function can be rewritten as, fj Z Fj Cj Z Fj ðCj0 C Cj00 Þ
(13)
Fig. 3. Detail feature propagation editing on different surfaces. (a) The source surface. (b) The target surface. (c) The surface after feature propagation from the source surface.
Some authors try to solve the problem by introducing the energy function [12–14], at each resolution level, the shape is determined by minimizing the energy function subject to the deformation of the shape while preserving the given constraints. Constraints at a low-resolution level are converted to those at a high-resolution level using wavelet transforms. It is known that the introduction of the energy function significantly complicates MRA editing, especially in dealing with large-scale data [21]. In order to find a more efficient way to maintain the original geometric constraint during MRA editing, a concept of wavelet signal separation is proposed in this section. In this approach, we treat the B-spline control points that are associated with geometric constraints separately
Fig. 5. Detail feature repetition on a single surface. (a) Initial surface. (b) The surface after detail feature repetition editing.
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
Fig. 6. Wavelet decomposition.
where Fj is a single row matrix composed of all the B-spline basis functions, the coefficients matrix Cj presents the total control points, the coefficients matrix Cj0 the control points unassociated with geometric constraints and Cj00 the control points associated with geometric constraints. Matrices Pj, Qj, Aj and Bj can be found such that 0 00 0 00 Cj Z Pj ðCjK 1 C CjK1 Þ C Qj ðDjK1 C DjK1 Þ 0 0 CjK 1 Z Aj Cj
0 0 CjK 1 Z Aj Cj
0 0 DjK 1 Z Bj Cj
00 00 DjK 1 Z Bj Cj
(14)
(15)
0 CjK 1
is the lower resolution coefficients matrix formed where by the control points unassociated with geometric constraints, 00 CjK 1 the lower resolution version coefficients matrix formed by 0 the control points associated with geometric constraints, DjK 1 the detail matrix of the control points unassociated with 00 geometric constraints and DjK 1 the detail matrix of the control points associated with geometric constraints. With the transformations (14) and (15), we can decompose and reconstruct the endpoint interpolating B-splines at different scales as shown in Figs. 6 and 7. The following relations can be seen from the decomposition and reconstruction procedure shown in Figs. 6 and 7: Cj0 Z
Cj00 Z
j X
0 Pk CkK 1C
j X
0 Qk DkK 1
kZ1
kZ1
j X
j X
kZ1
00 Pk CkK 1C
(16)
139
that each control point only locally controls the shape of curve/ surface at the position of the control point. From the discussion above, the implementation of the above procedure only needs the Mallat algorithm of wavelet transformation [18], the only difference is to maintain the signal corresponding to geometric constraints during the transformation. Therefore, the proposed approach keeps the high efficiency of Mallat algorithm. If control points are not sufficient for editing, we should raise curves/surfaces scale before signal separation. In the following we apply the above idea to models composed of multiple curve segments and surface patches. 4.2. Multiple patch analysis Wavelet editing will usually change the boundary conditions of a curve/surface. For example, three B-spline curve segments are joined together with G1 continuity as shown in Fig. 8(a), where the B-spline curve segment BC is constructed by 35 control points. After wavelet smooth edit, the new curve segment BC is obtained by seven control points shown in Fig. 8(b). However, after edited, the curve segment BC does not connect with the curve segments AB and CD as shown in Fig. 8(b), i.e. the wavelet editing has changed the boundary conditions of curve segment BC. To keep the boundary continuity between two B-spline curve segments, for example the G1 continuity, the following conditions should be satisfied: ðiÞ bn Z c0
(18)
ðiiÞ A constant aO 0 satisfies bn KbnK1 Z aðc1 Kc0 Þ
(19)
where bn, bnK1, c0, c1 are the first and end control points of two neighbor curve segments. We can separate wavelet signal 00 Qk DkK 1
(17)
kZ1
Eq. (17) indicates that if we keep the signals’ value Ck00 and Dk00 ðkZ 0; .; jÞ, which are associated with geometric constraints, constant during wavelet decomposition, Cj00 will also keep constant. That means that geometric constraints keep unchanged during wavelet reconstruction. Note that the signal values associated with geometric constraints may change during the change of the signal values unassociated with geometric constraints. In such case, we set such change associated with geometric constraints to zero. The affects of such operation on the concerned detail feature will be negligible when the concerned detail feature does not locate on the positions of the control points associated with the constraints. This is due to the B-spline curve/surface property
Fig. 7. Wavelet reconstruction.
Fig. 8. Preserving the boundary constraints on curves. (a) Initial curves with 35 control points in curve BC. (b) MRA edit with seven control points in curve BC. (c) Result of enforcing G1 continuity condition.
140
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
shown in Fig. 10(b), and take this as a geometric constraint. After that more detail signal is added to the surface patch by wavelet signal separation technique. The result shown Fig. 10(c) is as expected. 5. An comprehensive example In this section we present an example of a vase model deformed by various available MRA editing. The vase model is composed of multi-patch B-spline surfaces. The two middle patches in cyan and blue shown in Fig. 11(a) will be deformed by the MRA editing techniques. During the procedure of MRA editing the wavelet signal separation technique discussed in Section 4 is applied to guarantee the continuity of the deformed patches with the other patches. 5.1. Synthesis editing The two meddle patches, as shown in cyan and blue in Fig. 11(b), are at different scales, the first patch in cyan has 5! 8 control points and the second patch in blue has 5!10 control points. To add some new detail on the two patches, synthesis Fig. 9. Preserving the boundary constraints on surfaces via wavelet signal separation. (a) Surfaces with 19!19 control points in central patch. (b) The central patch with 5!5 control points after MRA editing. (c) The central patch with 5!5 control points and compliant to constraint condition.
according to the boundary conditions as ðjÞ Cj0 Z ½0; 0; cðjÞ 3 ; .; cnK2 ; 0; 0; ðjÞ ðjÞ ðjÞ Cj00 Z ½cðjÞ 0 ; c1 ; 0; .; 0; cnK1 ; cn
where Cj0 represents the control points not associated with constraints and Cj00 associated with constraints. To maintain the boundary conditions, we only need to keep the matrix Cj00 constant during the wavelet transformation. The result of keeping G1 continuity between the three curves is shown in Fig. 8(c). The approach is also equally applicable to surface MRA editing. Fig. 9(a) shows a B-spline surface model whose central patch is formed by 19!19 control points and the other four adjacent surface patches are connected with the central patch with G1 continuity. After free wavelet editing of the central patch, gaps appear between the central patch and its four adjacent patches as shown in Fig. 9(b). Fig. 9(c) shows the result after enforcing Cj00 constant. It shows that the central patch is smoothly connected with its adjacent patches. During MRA editing, if we want the curve or surface pass through a desired location, using wavelet signal separation technique, two steps are needed. First, before MRA editing, change the curve or surface such that it passes through the desired position. Then separate its control points associated with the desired position from the rest control points, and keep the signal of those control points constant during MRA editing. Fig. 10(a) shows a surface patch needed to pass through a key point P after MRA editing. Before MRA editing we change the surface patch in the way that it pass through the key point as
Fig. 10. Surface required passing through a desired location after MRA editing. (a) Initial surface required to pass through point P after MRA editing. (b) Surface enforced the constraint condition. (c) Surface with more details through wavelet signal separation.
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
141
Fig. 11. Different wavelet deformation techniques performed on the vase model. (a) The initial vase model with several patches. (b) The initial control meshes of the patches. (c) The control meshes of the patches after synthesis edit. (d) Different Details added onto the two middle patches. (e) Blending and detail feature motion editing are performed on the two middle patches. (f) The final model with wavelet based detail feature repetition editing.
editing [15] is performed to add new control points. The new control point meshes with 19!131 control points are shown in Fig. 11(c) with detail feature added by synthesis editing [15] shown in Fig. 11(d).
detail feature propagation editing described in Section 3 can be employed for this purpose. The result of the edited patches is shown in Fig. 11(e). 5.3. Detail feature repetition editing
5.2. Detail feature motion If the desired change is to move the detail feature on the first patch (in cyan) to the second patch (in blue), such editing operation is difficult in the current CAD system. The MRA
Wavelet based detail feature repetition editing is employed to repetitively copy the complex detail feature on the same curve/surface to desired locations. The final result is shown in Fig. 11(f).
142
J. Yin et al. / Computer-Aided Design 38 (2006) 134–142
6. Conclusion and future work In this paper, we have clarified detail feature propagation editing for curve/surface deformation based on wavelet MRA. Detail feature propagation editing includes detail feature motion and repetition on single curve/surface patch or from one to another different curve/surface. Single patch wavelet deformation techniques have also been extended to multiple patches by the technique of wavelet signal separation. The technique was developed based on keeping the signal information associated with constraints during wavelet transformation constant. By maintaining the signal information associated with constraints, the boundary constraints can be preserved automatically during wavelet MRA editing. Such technique can be also used in maintaining the other geometric constraints such as control point constraints, point-position constraints, derivative constraints, normal constraints, parameter constraints, and so forth. The only shortcoming as far as authors can think of is that the current methods cannot introduce or impose new geometric constraints during MRA editing. Several improvements to the algorithms presented in this paper are being planned as future research directions, for example, how to freely impose or introduce new geometric constraints to a surface model in the algorithm of wavelet signal separation techniques and application to non-uniform B-Spline wavelets. References [1] Finkelstein A, Salesin DH. Multiresolution curves. Comput Graph 1994; (28):261–88. [2] Sederberg T, Parry S. Free-form deformation of solid geometric models. Comput Graph 1986;20(4):151–60. [3] Coquillart S. Extended free-form deformations: a sculpturing tool for 3D geometric modeling. Comput Graph 1990;24(4):187–96.
[4] Bloor MIG, Wilson MJ. Generating blend surfaces using partial differential equations. Comput Aided Des 1989;21(3):165–71. [5] Bloor MIG, Wilson MJ. Using partial differential equations to generate free-form surfaces. Comput Aided Des 1990;22(4):211–34. [6] Terzopoulos D, Platt J, Barr A. Elastically deformable models. ACM Comput Graph 1987;24(4):205–14. [7] Terzopoulos D, Qin H. Dynamic NURBS with geometric constraints for interactive sculpting. ACM Trans Graph 1994;13(2):103–36. [8] Forsey DR, Bartels RH. Hierarchical B-spline refinement. Comput Graph 1988;22(4):205–12. [9] Stollnitz EJ, Derose TD, Salesin DH. Wavelets for computer graphics: a primer. Part I. IEEE Comput Graph Appl 1995;75–84. [10] Stollnitz EJ, Derose TD, Salesin DH. Wavelets for computer graphics: a primer. Part II. IEEE Comput Graph Appl 1995;75–85. [11] Stollnitz EJ, Derose TD, Salesin DH. Wavelets for computer graphics: theory and applications. San Francisco: Morgan Kaufmann; 1999. [12] Shigeo Takahashi. Continuous-resolution-level constraints in variational design of multiresolution shapes. Vis Comput 1998;(4):177–92. [13] Shigeo Takahashi. Variational design of curves and surfaces using multiresolution constraints. Vis Comput 1998;(5):208–27. [14] Wu W, Wang X. Multilevel energy minimization algorithm for local fairing of freeform curve. J Comput Aided Des Comput Graph 2002;(10): 959–61 [see also page 966]. [15] Ranga N, Ji Y. Multiresolution modeling techniques in CAD. Comput Aided Des 2003;(35):225–40. [16] Elber Gershon. Multiresolution curve editing with linear constraints. Proceedings of the sixth ACM symposium on solid modeling and applications, Ann Arbor, Michigan, United States; 2001. p. 109–19. [17] Daubechise I. Orthonormal bases of compactly supported wavelets. Commun Pure Appl Math 1988;41(7):909–96. [18] Mallat S. A theory of multiresolution signal decomposition: the wavelet representation. IEEE Trans Pattern Anal Mach Intell 1989;11(17): 674–93. [19] Chui CK, Quak E. In: Braess D, Schumaker LL, editors. Wavelets on a bounded interval, numerical methods in approximation theory, vol. 9. Basel: Birkhauser; 1992. p. 53–75. [20] Chui CK. Wavelets: a tutorial in theory and applications. New York: Academic Press; 1992. [21] Wu DL, Hong J, Ding YH. Constructing surfaces with C2 continuity based on physics-based shape design in reverse engineering. Chin J Mech Eng 2002;(5):30–5.