constrain - semantic scholar · form surface b y apply-ing one or sev ... editable parameters,...

14

Upload: tranxuyen

Post on 15-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

A Constraint{based Method forSculpting Free{Form SurfacesPaul Michalik�[email protected] [email protected] University of IlmenauInstitute for Applied Computer ScienceComputer Graphics ProgramPostfach 100565D-98684 IlmenauGermanyOctober 26, 1999AbstractWe discuss the problem of adding features to a free form surface by apply-ing one or several user de�ned surface curves. The curves are seen as editableparameters, while the surface is to be changed automatically, keeping a prede-�ned set of constraints satis�ed, speci�cally the curve{surface incidence andderivatives. We review and update our approach presented earlier [18] andshow, how the curve{surface composition can be expressed as a linear trans-formation.We describe the so{called \aliasing" e�ect caused by an incompatibility ofa general curve on a surface with the rectangular mesh of degrees of freedomof a tensor product surface. A solution is proposed by locally changing theparametrization of the original surface which takes a domain curve to an iso{line in either parameter direction.1 IntroductionThe relational modeling paradigm is a very powerful method of creating modelswithout an exact a{priori knowledge of all parameters. The user \roughly" de�nesa basic form of a model and adds special features as needed later. In general somekind of relations (constraints) between the features just added and/or the existingones are de�ned, which are to be satis�ed during the future editing process.The possibility of using free{form curves and surfaces in such a constraints{basedmodeling system might result in an attractive modeling tool. There are severalapproaches known for \solving" the constraints among simple geometric elementssuch as points, lines in 2{D or planes in 3{D, see e.g. [6] et. al. However, the known�Tel. ++49 3677 691211 1

Page 2: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

di�culties from these systems where relations like \incidence of a point in a plane"or \right angle between two planes" are to be satis�ed, increase drammaticaly whenpolynomial curves and surfaces are involved.Consider the problem of constraining a point to be incident on a surface. Whathas to happen after the position of the point was changed?In case of a �xed surface type e.g. plane or cylinder the situation is clear {basically we may be looking for a transformation which takes the given plane orcylinder to another one satisfying the incidence relation with given point. What weexpect to get is a new plane or cylinder on a di�erent position in space.How the result of such an operation should look like in a case of a polynomialsurface in not that obvious. Using only a linear tranformation (although an attrac-tive approach as well) might be too restrictive { we might want to use the degreesof freedom inherent to the surface itself, i.e. change the form of the surface.1.1 ReviewFormulating the problem this way, we enter the area of surface deformations. Weneed to deform a surface according to given point or curve, such that the attachedconstraints are satis�ed and the new surface exhibits a change \aligned" to thegiven curve.Starting with the trendsetting Dragon surface editor [10], the free{form defor-mations techniques (FFDs) [22] et. al., towards the highly so�sticated variationalmethods e.g. [2], [24], a wide variety of methods was presented to manipulate free{form surfaces instead of the hardly employable one { direct manipulation of controlpoints.Our previous work [18] is closely related to the variational methods mentionedabove. We suppose the user marks points or curves on the surface which shouldbe edited to meet certain design criteria. These points or curves may be modi�edin 3{D while the initially prescribed constraints (particulary the incidence relation)are kept. Thus, the design parameters of the curves de�ne parameters of the model.The usage of other kinds of constraints like prescribed continuity class along a curve,angles between surfaces meeting at a curve or similar should also be possible.From the global point of view the EFFD [3] or axial FFD [16] pursue a similargoal. All FFD methods utilize the following principle: The DOFs of the modelto be deformed (P) are expressed as function (or linear combination) of vectorsdepending on the control points V of an auxiliary free{form primitive (volume):P = f (ui; vj ; wk ; Vijk). The deformation of the model is invoked via a change ofthe Vs and reevaluation of the Ps.The axial deformations technique [16] allows a speci�cation of deformationsthat can be controlled with a 3{D axis. The DOFs (control points) of the surface tobe deformed are attached to points of an axis { a parametric curve in 3{D. A localcoordinate frame for each point is determined. The new control point is obtained bya reevaluation of the DOFs in the new local frame after the axis has been deformed.Once a appropriate auxialiary free{form volume is found (not a trivial task at all)the FFD methods su�er from the problem of �nding a \good" embedding of DOFsin the Vijk coordinate system. Particualary, the EFFD technique which allows theuse of non{paralleloidal volumes, requires solving of non{linear equation systems.The axial FFD have an additional problem, the embedding of DOFs of the surfaceto be deformed in the \axis" is not unique at all and some intuitive heuristics mustbe chosen.The other di�culty is to satisfy other constraints possibly imposed on the objectto be deformed. A \space" of all deformations not violating the �xed constraintshad to be found, which might become di�cult.2

Page 3: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

Finally the work of [23] should be mentioned. Although in close alignment to[16], it utilizes a nice and intuitive heuristics for embedding the DOFs of the modelin the \wires" { curves user is allowed to edit and changes of which are carried overto the surface model.The axial FFD and the \wires"{method do not require the \incidence" con-straint to be satis�ed, the curves { tools of the designer { are in general not incidenton the deformed surface.In the following the 98' paper [18] is reviewed and updated. Some changes havebeen done, which increase the e�ciency and numerical stability of the method. Wedescribe the \aliasing" problem not encountered before. An alternative solutionis proposed, utilizing the extended sculptured surface interpolation technique [11]bypassing global constraints on the \fairness" of the surface.2 Revising a previous approachThe variational approach similar to [24] or [2] seemed to be the most appropriate forour purpouse. Using the variational method, the problem of keeping the incidenceof a curve on a surface can be formulated a very comfortable way { as a linearsystem of equations, which allows the use of other constraints in combination withthe primary one, compare e.g. [9] and the discussion below.Having this in mind in [18] we posted a continuous function approximationproblem, brie y:Assuming the pre{image u(t); v(t) of the curve C(t) in the domain of the surfaceS(u; v) is known (and kept constant), an error functional minimizing the distancesquare between the curve and a surface is:Z ba 12 [S(u(t); v(t))� C(t)]2 dt! minThe main contribution of [18] was an e�cient algorithm based on functionalcomposition using blossoms [5], [21] for setting up the gaussian equations. We alsoformulated an algebraic relation F : y �! x between the parameters (control pointsof the curve) y and the DOFs (control points of the surface) x which allowes toobtain the surface directly once the values of y are known: Solving above equationsfor x gives: A � x = Q � y =) A0 � x = Q0 � y =) x = Q0 � y �N � p (1)where the primes dennote matrices resulting from gauss elimination, N dennotesnullspace of A, p a vector of free variables. Eq. 1 de�nes a hyperplane in a space ofthe unknowns { the DOFs of the surface. In general, the matrix A will be singular,the surface retains some unconstrained degrees of freedom, which can be set (atleast theoretically) to have arbitrary values. In practice, the editing process is anordered sequence of steps, having one surface in each: S1 �! S2 �! : : : �! Sn,hence the values of the independent DOFs in current step should be assigned thevalues from the previous one.The symbolic computations of the integrals and the gauss elimination has shownto be the weak parts of the algorithm. Although using all the speed up methodsdescribed in [18] the computation was a time consuming task and the results su�eredof numerical instability.2.1 The SVDThe gauss elimination (even with full pivoting { as originally proposed in [2]) ap-peared to be insu�cient for solving the highly singular sets of equations. The3

Page 4: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

alternative was the use of more sophisticated equation solver. We chose the SVD1{algorithm using Givens{rotations in the intermediate elimination steps as imple-mented in LAPACK [15].However, the gauss elimination directly bene�ts from the knowledge which ofthe variables x are independent (Eq. 1). This of course depends on the orderof the eliminations steps. In general the elimination is controlled by some kind ofbalancing criterion, usually the greatest element in each elimination step is prefered.This leads to catastro�c results as can be seen from �g. 1, where the eliminationorder was steered by greatest absolute value element.

Figure 1: Control mesh of a 11 � 11, degree 2 � 2 surface deformed by a diagonal linesegment, left using gauss elimination, right using SVD2.1.1 Getting the solutionThe SVD algorithm performs a decomposition of the matrix A of size m � n intothree orthogonal matrices: A = U � � � VT . The solution of the linear systemA � x = y can be obtained by solving the transformed system� � � = � (2)for transformed variables � = VT � x, � = UT � y and substituing back x = V � �.For more details and the algebraic background on SVD for instance [14], [15].Whenever one expects a singularity in the system matrix, the �rst thing is toset an threshold value, up to which the singular values as delivered by SVD are setto zero. Then the transformed system (Eq. 2) decomposes into r equations:�i � �i = �i; (i = 0; : : : ; r) (3)and m� r conditions: 0 = �i; (i = r + 1; : : : ;m) (4)Now the generalized solution of the original system x = xN + x̂ can be obtained,with xN beeing the smallest euclidian norm solution, and x̂ the translation factorfrom the nullspace of A:xN = V � �N ; �Nj = �j=�j ; (j = 0; : : : ; r)x̂ = V � �̂; ��̂j arbitrary�1Singular Value Decomposition 4

Page 5: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

The typical usage of SVD ignores the x̂ values, which are set to zero. Since we donot want to collapse the surface into a small strip somewhere around the curve, weset the values �̂ = VT � xp instead. This utilizes the solution xp from the previousediting step. The change Si�1 �! Si appears smoother, because some of the DOFs,though algebraically independent, are also set to expected values.2.1.2 Other SVD bene�tsVery usefull side e�ect is the explict knowledge of solvability conditions of the system(Eq. 4). If there are more equations than the determined unknowns (the number ofcontrol points of the curve might be greater than the number of determined DOFs),the solvability conditions de�ne an orthogonal basis for a vector space Y such, thatwhenever y 2 Y an exact solution exists. In practice this means the following: Theuser states an request on the curve (y0). If y0 62 Y the system automatically projectsy0 to Y such, that ky0 � yk �! min.Another point is the presence of several constraints. If they are all put intoone equation system and the SVD is computed, the existence of a common solutioncan be checked immediately. The more \intelligent" way would probably be thesubsequent solving for each constraint (or groups of constraints) and using theresults as a �xed set of conditions for the next. However, this is still to be tested.2.2 The composition matrixGiven the u(t); v(t) representation of a curve in the domain of a parametric surfaceS(u; v), the 3{D curve incident on the surface is C(t) = S�u(t); v(t)� which can beexpanded into: Xp ypB�p =Xi Xj xij Bi�u(t)�Bj�v(t)�| {z }ij(t)Apparently, as long as ij is kept constant, it should be possible to express theresulting curve as a linear transformation y = C � x, with y beeing the controlpoints of the resulting curve! Indeed, the terms ij only depend on u(t); v(t) andthe basis functions of the surface, not on xij . The B�p are known, since they alsodepend solely on u(t); v(t) and the basis of the surface [19], [8]. All we need to donow, is to collect these terms into a matrix.Once the composition algorithm is coded, the most e�cient way seems to beto collect the appropriate terms underway during the evaluation. The details onwhat terms should be compared and collected requires a closer look at the theblossom{based composition algorithm [5].Thus, the control points of the curve S�u(t); v(t)� can be computed by applyingthe linear transformation expressed by the composition matrix to a vector of controlpoints of the surface x:26664 y0y1...yp 37775 = 264 c0; 0 c0; 1 � � � c0; m�n... ... . . . ...cp; 0 cp; 1 � � � cp; m�n 375 26664 xk=f(0; 0)x10...xmn 37775 (5)We choose the \rows{�rst" ordering of the indices of the tensor product: k = i+m�j.It turns out, that the columns of the matrix C created this way are exactly thecoe�cients of the free form representation of Bi�u(t)�Bj�v(t)� = Pp cp;i+m�j B�p .The ordering depends only on column{�rst or row{�rst treatment of the tensorproduct. 5

Page 6: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

All we need to do now, is to compute the inverse transformation to y = C � x.Applying the concept of pseudo inverse (e.g. [14]) (C is in general not square andsingular) yields x = C+ � y. We may bene�t form the SVD usage described above,the system y = C � x is of the kind SVD was actually designed to solve.This \direct" method reduces the complexity of setting up the equations dram-maticaly. The complexity is only as large as the complexity of the compositionalgorithm { please refer to [5] and [18] for complete analysis.The blossom{based composition algorithm is known for it's numerical stability.The direct method bypasses the computation of the integrals from the variationalequations. Thus, the elements of the matrix C are results of convex combinations(numerically very safe operation) of values which arise as convex combinations ofthe input values as well. This guarantees an overall high precision of the matrix.In [9] a simpler version of this method was used to solve a similar problem. Theu(t); v(t) domain{curves was always assumed to be lines, and setting up the matrixC was hard{wired for this case2.Figure 2: A circle on a 9�9 bi{cubic surface (only thecontrol mesh is shown Figure 3: Modi�cation 1 Figure 4: Modi�cation 2,the circle is moved as a rigidbodyIn [18] we have shown, how the blossom{based composition algorithm can beextended to B{Splines, without a direct conversion to Bezier basis. We introducedthe \Multi{index tree" structure which allows quick access to precomputed data,particulary the products of basis functions and generalized basis functions coe�-cients [17]. We also analyzed the complexity of the composition algorithm modi�edfor our purpouse. The data structures and basic algorithms are all reused by ournew approach desribed in sec. 4.3 The \aliasing" e�ectAn e�ect, not that obvious at the �rst sight, occurs when a surface is deformedalong curves that cross knotlines in arbitrary ways (�g. 5). The surface exhibits\bumps" at the border of the deformed region.The DOFs of a tensor product surface are alligned on a rectangular grid, sizeand density of which depend on the parametrization of the surface. The method asdescribed so far, de�nes a relation between the curve and the DOFs of the surface.It works perfectly in the sense that it �nds the exact solution with regard to theexisting rectangulary arranged DOFs. The comparison to drawing a line on a screenby assigning color values to a discrete grid of pixels comes up immediately. Thealiasing problem is exactly what happens in our case.2This work did not use the blossom{based composition algorithm

6

Page 7: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

Figure 5: Demonstrating the aliasing e�ect, same surface as before✙

u

v

Figure 6: Distribution of DOFs in the domain of the surface from �g. 5. Algebraicallydependent DOFs are marked. The DOFs in uenced due to SVD usage are marked by anaxis aligned cross3.1 AntialiasingIt is impossible not to get a malformed surface, whenever the curve does not matchthe rectangular arrangement of DOFs. The problem seems to be known in the �eldof data interpolation [4] et. al. Hayse introduced curved knotlines [12] which copebetter for an arbitrary curve. The domain of the surface is de�ned as a curvilinearmesh of knotlines. The single knot lines can then be better adjusted to match agiven curve. Although very powerful and conceptually simple, many things becomemuch more complicated with Hayes splines, which might be the reason for a lowacceptance of this approach.Nevertheless, it should be assumed, that this kind of malformed surface willnot be accepted by the user. Some kind of correction need to be done. Basically,the way out would be to de�ne new constraints, working against these changes,in connection to the primary incidence constraint { an antialiasing method. Thismight become a very tedious procedure. Authors of [24] use a global constraint onthe \smoothness" of the surface. This kind of fairness constraints usually requirethe surface to have minimal bending, tension or similar values [13] et. al. Besidesthe computational di�culties, if imposed without other constraints, they force thesurface to collapse into a point or curve, to take in the trivial shape with minimalenergy. 7

Page 8: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

Due to the \smoothing" e�ect of the SVD usage as described in sec. 2., a kindof antaliasing is already done (comp. �g. 1), but it is apparently not satisfactoryfor our purpouse. Figures 7 and 8 show the behavior of the higher degree surfacefor the same constraint. As expected, the aliasing e�ect becomes less distinct. Thehigher the degree of the surface, the more global change occurs and the \frequency"of the bumps sinks. Indeed, as experiments have shown, increasing the degree andre�nement helps to improve, at least optically, the shape of the surface. In summaryall anti{aliasing methods seem to mitigate the bumpyness of the surface but do notentirely get rid of it. In the next section we propose an alternative.

Figure 7: In uence of degree raising to thealiasing e�ect. A bi{quadratic surface Figure 8: A bi{cubic surfaceThe user de�ned density function from [23] also plays a role of an atialiasingfactor. Roughly, the in uence of a wire on the DOFs of the surface depends on apotential function { it sinks with growing orthogonal distance of the surface controlpoint from the wire.4 Constrained curve network interpolationIt follows from the above discussion, that the only case of a curve constraint a tensorproduct surface can handle without aliasing is an isoparametric line. The questionis now, given an surface with one or several arbitrarily positioned curve constraints,is a conversion to this case possible, without destroying the appeareance of the inputdata?Consider �gures 9, 10, 11 and 12. Assume, we succeeded to �nd a surfaceG�s; t�, in the domain of a S�u; v� such, that the given curve is a s or t = const:line in the domain of G. Once this is done, we could locally replace the surface Swith a new one: H�s; t� = S�u(s; t); v(s; t)| {z }G � (6)The above expression is a polynomial surface{surface composition. However, if S isa composite B{Spline surface H cannot in general be written as a tensor productsurface anymore [5].The situation is not as hopeless as it may seem. We still can obtain arbitrarilymany s or t = const: curves from G, and compute their exact representation onS. Methods have been developed to interpolate through a tensor product surface,given a orthogonal network of curves e.g. [20], [11]. In the following we derive howa suitable approximation of the surface H can be e�ciently obtained. Moreover, weshow how a prescribed continuity class along the boundaries of H can be achieved.8

Page 9: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

s

t

fi

gj

di

ej

Figure 9: Domain of G u

v

gj

fi di

ej

Figure 10: A sub{surface G in thedomain of SFigure 11: Curves scanned from G placedon S Figure 12: H, the result of curve networkinterpolation, placed on S4.1 The interpolation algorithmAssume we scanned a set of \parallel" curves from surface G at suitable values siand tj (�gures 10 and 9): G�si; t� = fi(t) and G�s; tj� = gj(s), including the givencurve in either set. In addition we compute the vector �eld curves @fi(t)=@s = di(t)and @gj(s)=@t = ej(s). The curves intersect in points G�si; tj� = hij . An algorithmto interpolate the surface H now looks as follows:1. After inserting fi(t) and gj(s) into S we obtain a network of 3{D curvesincident on S and meeting at points S�hij�. The derivative curves di and ejcarried over to 3{D are vector �eld curves representing directional derivativeson S w.r.t s and t: @S�fi(t)�=@s and @S�gj(s)�[email protected]. (a) We now have full information, to carry out a cubic interpolation amongthe curves fi ! fi+1, and gj ! gj+1, using the edge derivative conditionsdi ! di+1, and ej ! ej+1. Using surface skinning, the surfaces H1 andH2 are computed, such that following relations apply:S�fi(t)� = H1�si; t�S�gj(s)� = H2�s; tj�@S�fi(t)�@s = @H1�si; t�@s@S�gj(s)�@t = @H2�s; tj�@t9

Page 10: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

(b) The surface H3 is obtained as a result of tensor product interpolation ofthe values S�hij�, the derivatives at corner vertices and at the intersec-tion points of the scanned curves:@S�hij�@s = @H3�si; tj�@s@S�hij�@t = @H3�si; tj�@t@S2�hij�@s @t = @H23�si; tj�@s @t3. According to [11] the surface H�s; t� = H1 +H2 �H3 interpolates the givennetwork of curves and points at which they intersect. Due to the derivativeinformation inherited from S, there is an at least C1 continuous connectionof H to S at prescribed curves.The surface H approximates the overall shape of S at the \sub{surface" G. More-over, H interpolates a set of curves and �rst derivatives along them as scanned fromS.

Figure 13: A more sculpted surface. Interpolation of shown curvesand points leads to the result (�g. 17)Figure 14: H after�rst step Figure 15: 2. step Figure 16: 3. step Figure 17: 4. stepIn the example from �g. 9{12 the approximation of surface H succeeds immedi-ately. Our interpolation algorithmmeasures the error � = kS�G��Hk. Whenever �is larger than a prescribed value, the curve network is re�ned and the whole processis repeated. The interpolation equations can be set up and solved e�ciently usingmethods from [18] and algorithms for solving sparse and banded linear systems. In�g. 13{17 an another example is shown succeeding after 4 steps.10

Page 11: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

5 ResultsThe described algorithm e�ciently approximates the surface H from equation 6. Ifthe user edits the curve, only the surface H is changed. In addition the boundarycurves of H are \glued" to the original surface S by appropriate constraints such,that C1 continuity along the boundaries is guaranteed. The aliasing cannot occur,because the curve is an isoline in the domain of H .

Figure 18: Deformation of the interpo-lated surface H constrained by a circle. Figure 19: Step 2.

Figure 20: Step 3. Figure 21: Step 4. No aliasing e�ects canbe observed.The \sub{surface" G is essential in our algorithm. As implemented so far, o�setcurves of the given curve C(t) are computed in the u; v domain of S. G is thencomputed as a translational surface such, that the following relations apply:G�s; t� = (1� s) � O1(t) + s �O2(t)C(t) = G�0:5; t� = 0:5 �O1(t) + 0:5 � O2(t)As long as the o�set curves don't self{intersect, the o�set distance is left as a freeparameter to be set by the user.In general it is possible, to let the sub{surface G exceed the u; v domain of S(�g. 22). Extrapolation of the underlying surface might be used, to determine the\protruding" parts of the curves. The representation of the dotted lines in �g. 22in the s; t domain of G must be computed. These curves are then used to trimaway the invisible parts of H .We applied a cubic interpolation throughout this article, resulting in C1 continu-ity of H . If quintic interpolation is used, C2 continuous transition on the boundary11

Page 12: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

u

v

GFigure 22: G exceeds the domain of S

u

v

G1

G2

G3Figure 23: A hierarchy of G surfacesG = ?

u

v

Figure 24: Constructing Gis not possibleof H can be achieved.6 Problems and future workThe method has shown to work well in our experimental system. When severalcurve constraints of this kind are imposed, the situation becomes somewhat morecomplicated (�g. 23). The H{surfaces (along with their pre{imagesG) are stored ina hierarchy and only one at a time is allowed to be modi�ed. This handling resultsin a modeling system which allows an hierachical \overlaying" of surface featuressimilar to [1]. This is however highly experimental and has to be examined morecarefully.There might be of course curves, for which constructing G is not possible (e.g.�g. 24). In such cases the \old" variational method might be used, in connectionwith smoothing constraints.The surface H is a result of constrained curve interpolation. The curves them-selves arise as a result of a polynomial composition, which makes necessary a highdegree representation and dense knot vectors. We got feasible results by experi-menting with degree reduction and knot removal. We are also working on a methodto force the surface deformation to follow a user{prescribed \template"{function,which makes the shape of the \bump" less dependent from degree an parametriza-tion of the surface. The method is still to be worked out in more detail, but the12

Page 13: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

preliminary results are very promising.7 AcknowledgementsFigures 11, 12 and 13{17 were created using IRIT{solid modeler [7].References[1] C. Barghiel, R. Bartels, and D. Forsey. Pasting spline surfaces. In M. D�hlen,T. Lyche, and L. L. Schumaker, editors, Mathematical Methods in CAGD, volumeIII. 1995.[2] G. Celniker and W. Welch. Linear constraints for deformable B{spline surfaces. Com-puter Graphics, 25(2):171{174, March 1992.[3] S. Coquillart. Extended free{form deformation: a sculpturing tool for 3D geometricmodeling. Computer Graphics, 24(4):187{196, August 1990.[4] M. Cox. Algorithms for spline curves and surfaces. In L. A. Piegl, editor, FundamentalDevelopments of Computer{Aided Geometric Modeling, pages 51{75. Academic PressLimited, 1993.[5] T. DeRose, R. Goldman, H. Hagen, and S. Mann. Functional composition algorithmvia blossoming. ACM Transactions on Graphics, 0(2), April 1993.[6] U. Doering, P. Michalik, and B. Br�uderlin. A constraint{based shape modeling sys-tem. In Geometric Constraint Solving & Applications. Springer Verlag, June 1998.[7] G. Elber. Users' Manual { IRIT, A solid modeling Program. Technion institute ofTechnology, Haifa, Israel, 1990{1996.[8] G. Elber. Free form surface analysis using a hybrid of symbolic and numerical com-putations. PhD thesis, University of Utah, 1992.[9] G. Elber and E. Cohen. Filleting and rounding using trimmed tensor product surfaces.In Proceedings The fourth ACM/IEEE Symposium on Solid Modeling and Applica-tions, pages 201{216, May 1997.[10] D. Forsey and R. Bartels. Hierarchichal B{spline re�nement. In Proceedings SIG-GRAPH '88, pages 205{212, 1988.[11] W. J. Gordon. Sculptured surface de�nition via blending{function methods. In L. A.Piegl, editor, Fundamental Developments of Computer{Aided Geometric Modeling,pages 117{134. Academic Press Limited, 1993.[12] J. Hayes. Nag algorithms for the approximation of functions and data. In J. Masonand M. Cox, editors, Algorithms for Approximation, pages 653{668. Clarendon Press,Oxford, 1988.[13] J. Hoschek and D. Lasser. Fundamentals of Computer Aided Geometric Design. A KPeters, Ltd., 1989.[14] A. Kielbasinsky and H.Schwetlick. Numerische lineare Algebra, eine computerorien-tierte Einf�uhrung. Mathematik f�ur Naturwissenschaft und Technik. Deutscher Verlagder Wissenschaften, Berlin, 1988.[15] LAPACK Users's Guide Release, third edition, 1999.[16] F. Lazarus, S. Coquillart, and P. Janc�ene. Axial deformations: An intuitive deforma-tion technique. Computer{Aided Design, 26(8):607{613, August 1994.[17] P. Michalik. Objektorientierte Implementierung von parametrischen Kurven undFl�achen aufbauend auf dem YART Graphikkern. Master's thesis, Technische Un-versit�at Ilmenau, 1995.[18] P. Michalik and B. Br�uderlin. Computing curve{surface incidence constraints e�-ciently. In Proceedings Swiss Conference on CAD/CAM, February 1998.[19] K. M�rken. Some identities for products and degree raising of splines. ConstructiveApproximation, 7:195{208, 1991.[20] L. Piegl and W. Tiller. The Nurbs Book. Springer Verlag, 1995.[21] L. Ramshaw. Blossoming: A connect{the{dots approach to splines. Technical Re-port 19, Digital Systems Reaearch Center, Palo Alto CA, June 1987.13

Page 14: Constrain - Semantic Scholar · form surface b y apply-ing one or sev ... editable parameters, while the surface is to b e c hanged automatically, k eeping a prede- ned set of constrain

[22] T. Sederberg and S. Parry. Free{form deformation of solid geometric models. InProceedings SIGGRAPH '86, pages 151{160, 1986.[23] K. Singh and E. Fiume. Wires: A geometric deformation techinque. In ProceedingsSIGGRAPH '98, 1998.[24] W. Welch and A. Witkin. Variational surface modeling. Computer Graphics,26(2):157{165, July 1992.

14