... Dirichlet Free-Form. Deformations and their Application to Hand ... extensions, such as extended free-form deformations and direct FFDs. .... model is inspired by Farin's work, we call our FFD model Dirichlet FFDs, or DFFDs, referencing the ...
MIRALab Copyright © Information 1998
Computer Animation'97 Dirichlet Free-Form Deformations and their Application to Hand Simulation Laurent Moccozet, Nadia Magnenat Thalmann MIRALab-CUI , University of Geneva Abstract: We present a generalized method for free-form deformations that combines the traditional freeform deformation model with techniques of scattered data interpolation based on Delaunay and Dirichlet/Voronoi diagrams. This technique offers many advantages over traditional FFDs, including simple control of local deformations. It also keeps all the capabilities of FFD extensions, such as extended free-form deformations and direct FFDs. The deformation model has much potential for 3D modeling and animation. We choose to illustrate this with a nontrivial human simulation task: hand animation. We implement a multi-layer deformation model where DFFDs are used to simulate the intermediate layer between the skeleton and the skin. Keywords: articulated figure animation, free-form deformations, data interpolation, local coordinates, Delaunay triangulation, Voronoi/Dirichlet diagram, multivariate Bézier simplex. 1. Introduction Hand animation is generally treated separately from the rest of the body. The motivation for a different deformation technique for the hands comes from their very specific behavior. The interior side of the hand is crisscrossed by lines and wrinkles that create discontinuities on the surface during deformation. The palm covers five skeleton segments and is very flexible. Finger deformations are very complex compared to other parts of the body, as they involve a wide range of angles' variations and configurations applied to very short skeleton segments. Magnenat-Thalmann et al. [19] propose a model for hand deformation based on local geometric operators called Joint Local Dependent deformations, which are used for hand animation when there is no contact with the environment. Gourret et al [12] deal with animation and interaction using Finite Elements. Their method is used when contact response is needed in grasping tasks. Delingette et al. [8] describe a simplex-based model for object representation which is particularly suited for physical simulation and allows 3D morphing, data extraction and reconstruction, and hand animation. Uda et al. in [25] extend the capabilities of their solid modeler to simulate hands. Hands are automatically skinned with rough volume polyhedron approximations. Skin curvature at joints is generated by an ad-hoc polyhedral subdivision method.
An alternate approach consists of enhancing the Free-Form Deformation or FFD techniques by using the results of data interpolation in [11] to remove existing limitations of the current FFD models (especially for the animation of articulated characters). In [11], Farin extents the natural neighbors interpolant based on the natural neighbors coordinates, by using the natural neighbors as the support for a multivariate Bézier simplex in which any point can be expressed with a relation similar to that in FFDs. Farin defines a new type of surface defined with this extended interpolant called a Dirichlet surface. Combining FFDs and Dirichlet surfaces leads to an enhanced model of FFDs: Dirichlet FFDs or DFFDs. One major advantage of this technique is that it removes any constraint on the position and topology of control points. From this general FFD model, we derive a specialized data structure for multi-layered deformations of articulated objects where the set of control points is used to simulate the muscle layer, as seen in Chadwick [6] for animating a puppet, and in Kalra et al. [15] for facial animation. According to hand topography, the main lines and wrinkles are associated with joints of the skeleton. The idea consists of defining a data structure called `wrinkle' on the hand surface and associating it with each of the skeleton joints. The rest of this paper is organized as follows: section 2 presents the geometric deformation method used as the basic element in the design of the muscle layer of our hand deformation model; section 3 describes the details of the hand deformation model based on hand topography; and section 4 shows some visual results. We conclude with a brief discussion of the method's advantages and limitations, and directions for future work. 2. Dirichlet FFD model In this section, we describe the DFFD model. It will be subsequently used as the main component in the design of our intermediate muscle layer between the skeleton and skin for hand simulation. FFDs belong to a wider class of geometric deformation tools. An extended survey of existing models with comparisons can be found in [2]. We propose a generalized FFD model. Our main goal is to overcome FFDs' basic limitations concerning the design of muscle layers in a multi-layer realistic animation model. These limitations are partially addressed by previous extensions: EFFDs by Coquillart in [7], Direct FFD manipulations by Hsu in [13] and NFFDs by Lamousin in [17]. We identified the main origin of the limitations as the use of rectangular local coordinates to express any point of the surface to deform relative to the control points box. The main resulting constraint is that control point boxes have to be rectangular. In [7], Coquillart et al. propose an Extended FFD model that allows other control box shapes, but they do not reconsider the local coordinates problem, and so restrictions still exist. Even in [18] the model proposed by MacCracken and Joy, where the deformation approach is based on a subdivision of control lattices of arbitrary topology, the model still requires to explicitly define the topology of the control lattice. The topology construction can be quite tedious for a complex control lattice, and it is almost impossible to evaluate the influence of a given topology on the resulting deformations. In conclusion, most FFD extensions aim to overcome limitations, but instead of reconsidering the geometric foundations on which FFDs are based, they keep the initial FFD method and extend its possibilities by using approximation methods. In this way, each extension solves only one specific limitation, and does not generalize the FFD basic approach. Using an alternate type of local coordinate system, an interesting model is proposed by Bechmann et al. [3] and called
Continuous FFD(CFFD). CFFDs are based on barycentric coordinates and Bézier tetrahedrons. Combining tetrahedrons allow to build control lattices of any shape, but keeping the deformation continuous between tetrahedrons require to define constraints on the control points displacements. As previously noted, FFD's main limitations arise from the way object points are locally expressed relative to the control box points. This problem, consisting of representing some particular locations with respect to a set of neighboring reference points, is known as local coordinates. Local coordinates are a general problem extensively addressed in visualization, specially in the area of data interpolation. FFDs are closed to data interpolation if viewed as the interpolation of displacements of given control points at given locations. A wide survey of data interpolation, together with local coordinates systems, is given by Watson in [26]. The most general of all the local coordinates system is the local neighbors or Sibson coordinates. Because Sibson coordinates are a key element of our deformation model, and are not widely used in computer animation, we shortly describe Sibson coordinates, and how they are applied in data interpolation. Given a set of points, any location inside the convex hull of the set can be expressed as a linear combination of its Delaunay neighbors in the set. The coefficients of the linear relation are non-null, and their sum is equal to one. They are known as the Sibson coordinates from Sibson's work in [24] (c.f. Appendix for formal definition). We consider the Dirichlet diagram D1 associated to a given set of points and the Dirichlet diagram D2 associated to the same set plus an arbitrary point P inside the convex hull of the set. Some Dirichlet tiles of D1 overlap with P's Dirichlet tile. Let Q be a point of the set whose Dirichlet tile T1 in D1 overlaps with P's tile T2 in D2. P's Sibson coordinate relative to Q is given by the ratio of the area of the intersection of T1 and T2 by the total area of T2. Farin in [11] extents Sibson's work and shows that the set of Delaunay neighbors can be used as a support for a multivariate Bézier simplex[9] of arbitrary degree. According to the degree of the multivariate simplex, Bézier points must be built from the Delaunay neighbors (c.f. Appendix for formal definition). Like in FFDs, any location inside the convex hull of the control points set, can be expressed in terms of multivariate Bézier polynomials. Although the resulting relation is used by Farin for scattered data interpolation, it can also be used to interpolate Delaunay neighbor displacements. More generally, we can interpolate the displacements of a set of control points to a set of given locations inside its convex hull, thus defining a generalized FFDs tool. As our deformation model is inspired by Farin's work, we call our FFD model Dirichlet FFDs, or DFFDs, referencing the name of the class of surfaces called Dirichlet surfaces that he defines in [11]. Given a set of control points P, and a point p, p can be expressed as a function of some control points using Sibson coordinates. Sibson coordinates are the coordinates of point p in the local coordinate system defined by Pn = {pi}, with i=0, ..., n, subset of P that influences p, so that:
(2.1)
With
and ui >0 for any i in [0,n].
This relation is similar to the one used for Sibson interpolant, but here, control points replace data nodes.
Now we consider displacements applied to one or more points of Pn, The displacements of the control points have to be passed to the point p to determine its new location, p'. We will call P'n = {p'i}, with i=0, ..., n, the set of control points Pn at their new locations. The relation between each point of Pn and P'n is given for each i between 0 and n by the relation p'i= pi + Dpi, with Dpi being the displacement(possibly null) applied to pi. Pn is used as the support for building an n-dimensional multivariate Bézier simplex of given degree m, where B is the set of the control points. Bézier control points are added according to the relation given in appendix, and points of Pn are included in B as endpoints or corner of the simplex; B = {qJ} with J = (j0,j1,..., jn) and . B'={q'J} with J = (j0,j1,..., jn) and , is the associated set to B corresponding to P'n, i.e., each q'J is defined by the relation q'J = qJ + DqJ . According to the way displacements of control points are defined, DqJ is only explicitly defined for corner control points of the simplex, i.e., points qJ such that qJ [integral] pi. Once the D's have been defined, the new position p' of the point p is evaluated with the relation : (2.2) with U = (u0, ..., un), the Sibson coordinates of p and DqJ the amount of displacement of point qJ and B() are multivariate Bernstein coefficients. The displaced point is then given by : p' = p + Dp (2.3) Most of standard FFD extensions can be applied to DFFD, such as rational DFFD as in [15] by adding a varying weight to control points. Direct manipulation such as proposed by Hsu et al. in [13] are also possible. Direct manipulation consists directly moving one or more points on the surface to be deformed and determine which control box deformation must be performed so that displaced surface points reach their final location. This feature can be directly added to DFFDs by inserting the surface points to move as control points of the lattice. A control point is defined at the same position as the surface point, so that any displacement applied to the control point will be completely applied to the surface point. This relation can be expressed as the general relation (2.1) by assigning a Sibson coordinate of 1.0 to the surface point relative to its associated control point. These control points are called constraint control points. Figure 1 describes the complete process. For simplification, the example will be described in 2 dimensions. The extension to 3 dimensions is straightforward. Let p be a point inside the convex hull of a set of control points. We will assume that points p1 to p4 are the only points that influence p, i.e., that p has a non-null Sibson coordinate relative to each of them. In (a), the Delaunay diagram of control points is built, allowing to determine which control points influence which points. In (a), p belongs to two Delaunay circles, the one going through p1, p2 and p4 and the one going through p2, p3 and p4. p is then expressed in terms of these four points. The next steps consist in computing the Sibson coordinates of p relative to the four points. First, the Dirichlet diagram of p1 to p4 is computed (b). In (c) and (d) respectively the Delaunay and Dirichlet diagram of p1 to p4 and p are computed. In (e), Sibson coordinate of p
relative to each control point is determined as the contribution of the Dirichlet cell of each control point(b) in the Dirichlet/Voronoi cell of p(d), as if both Dirichlet diagrams in (b) and (d) were superimposed. The contribution of p4 is filled with stripes. In (f), Bézier control points are inserted according to the degree, (degree 2, in the example), and can then be moved; here p4 is moved to p'4. (g) shows how the Bézier simplex is then distorted by the displacement of p4. Applying relation (2.2) gives the new position p' of the point p relative to the current configuration of its four influencing control points. The process of deformation can be subdivided into steps similar to the ones given in EFFDs[7] and NFFDs[17]: 1- Design of the control point set : As mentioned previously, the terms control box and lattice are no longer necessary. The control point structure can instead be simply described as a set of points. Control points can be interactively created anywhere around, on the surface, or inside the object to be deformed. There's no topology to define over the set of control points. The control points set can be created independently from any object and associated further to any object. 2- Freezing the control point set : Once the set of control points has been defined, the process starts by freezing the control set on the object. This step consists of computing Sibson coordinates for all the points of the object. Only the part of the object inside the convex hull of the set of control points is deformable. 3- Deformation of the control point set : Control points can be moved in space either individually or in a group, using any technique, including linear or non-linear transformations. 4- Deformation of the object : Once the control point set has been deformed, the deformation is passed to the object by inserting Bézier control points before deformation in each Bézier simplex according to the degree of the Bézier chosen.
Figure 1: DFFDs general process The properties of the Sibson interpolant and extended Sibson interpolant[11, 24, 21] also apply in the DFFD context. The deformations are local, as the coordinate system on which they are based is local. An area of influence is assigned to each control point. The size of the region depends on the neighbors control points. The region of influence is defined as the union of all Delaunay spheres going through the given control point. When a control point is moved, only the points in its region of influence are affected. The displacements assigned to the control points are exactly reached. The method is particularly suited for irregular control point distribution, and so allows to refine the control points set at places where very fine deformations are needed without penalizing the deformation over the control points set. The continuity properties also apply to the interpolated displacement function if we consider the displacements assigned to control points as function values assigned to data nodes/control points. The derivatives of the interpolated function are continuous everywhere except at the data nodes. Sibson coordinates are continuously differentiable at all points except at data nodes, and the Sibson interpolant guarantees continuity in first and second derivatives everywhere except at data nodes. With some constraints, continuity is extended to data nodes in the extended Sibson interpolant. Figure 2 shows a dolphin in a default posture as in 2.A and various postures that can be derived
from it by displacing control points with rotations and bending functions. The tail is only controlled by two control points located near each of its both extremities. The right top posture shows that the head can be controlled together with the fins. Similar to the tail, fins are controlled by one control point located at their extremity. The head is controlled with a control point at the nose extremity and control points around its neck.
Figure 2. DFFDs examples 3. Hand modeling and simulation Whereas many efforts have been made to advance human body deformation and animation, relatively less attention has been paid to the specific problem of hand deformation, [12, 19, 8, 25]. Hands are probably the most difficult part of the human body to simulate, due to the great number of degrees of freedom concentrated on a rather small part of the body. FFDs have already been used in multi-layered deformation models [6, 15] to design an intermediate layer between the skeleton and skin. Control boxes are designed and attached to the skeleton, and special deformation functions are applied to simulate muscle behavior. The skin deformation is then obtained by applying FFDs with the deformed muscle lattices. Use of standard FFDs for articulated object deformation gives good results for deformations along the limbs, but FFDs are difficult to control at the joints. Although interesting results can be obtained for cartoon like characters, they are not accurate enough for human simulation. In [6], the solution used to attenuate the change of shape and volume at the joint in the 'flexor' operator consists in scaling the control planes at the joint. Such a solution can only be empirical because there is no direct way to determine the scaling factor from the angle at the joint . Instead, a trialand-error process must be used. We combine the approaches of Chadwick et al. in [6] and Delingette et al. in [8] to design a multi-layered deformation model for hand animation. The muscle layer is modeled by a DFFD control point set that corresponds to a simplified hand topography. 3.1. Hand topography:
We present a simplified description of hand topography according to [16], and illustrate it with Figure 3 also inspired from [16]. The palm of the hand is divided into 3 parts : - the palm itself (1), crossed by two parallel lines : the upper (2) and lower (3) transversal lines, which will be further simplified by one line. - the thenar eminence (4), delimited by the base of the thumb and the thenar line (5). - the hypothenar eminence (8), delimited by the wrist, the thenar line and the lower transversal line. The four fingers are placed at the top of the palm, each being approximately divided by three lines (9), (10), (11) associated with the joints of the underlying skeleton. The thumb is placed at the base of the external side of the hand, separated from the thenar eminence by one line (6). It is divided in two phalanxes, separated by one line (7). From the observation of a hand, especially its topography, we can derive the following simplified observations : - each joint of the skeleton is associated with a hand line on the surface of the hand. - each wrinkle that can be seen often has a closed line, and has almost no change in its shape. - rotation at the joint creates an inflation of the part delimited by the hand line associated with the rotating joint and the hand line just above. - hand lines stop the propagation of the skin inflation. (1) palm (2) upper transversal line (3) lower transversal line (4) thenar eminence (5) thenar line (6) thumb first line (7) thumb second line (8) hypothenar eminence (9) finger first line (10) finger second line (11) finger third line
Figure 3. Topography of the hand 3.2. Hand simulation model From the previous observations, we define an adequate data structure to represent a wrinkle. One wrinkle will be associated with each joint or degree of freedom of a joint. A wrinkle is composed of the following information: - the wrinkle itself is a set of constrained control points that is generally selected around the joint and formed a closed 3D line. We call such points wrinkle control points. - two points among the wrinkle control points that are used to define the axis on which the associated skeleton joint should lie. That way, a skeleton model can be easily adapted to the hand's skin. This data allows an easy and realistic hand-skeleton mapping by defining an implicit skeleton to which the skeleton can be fitted. We will come back to this problem in paragraph 3.3. - a mixed set of control points and constrained control points that surround the upper part of the hand surface that will be affected by rotation of the joint associated with the current wrinkle. We call these points influenced wrinkle control points, as they are influenced by the rotation of the wrinkle itself. - one control point, called an inflation control point, which will be used to simulate inflation at the upper limb associated with the joint. The set of wrinkles is designed interactively from the 3D hand's skin by building points from the geometric elements of the mesh. For example, we can create a control point by selecting a triangle: a control point will be built from it by first calculating the barycenter of the three extremities, and then moving the point outside the figure along the triangle normal. For each wrinkle, the muscle layer gets the joint angle variation from the skeleton layer. If the rotation angle is a, the wrinkle itself is rotated of an angle of a/2, and the set of influenced control points is rotated by a. At rest position, all control points have a weight of 1. When the joint angles vary, the weights of the inflation control points vary accordingly, such that weight(P) = f(a), where P is an inflation control point and a an angle of rotation at the joint. This point is placed on the mesh so that when its weight increases, it attracts the mesh. One unclosed wrinkle exists at the base of each of the four fingers. The union of these four wrinkles defines a closed composite wrinkle that simulates the transversal line going through the palm, and each distinct wrinkle will simulate the line at the first joint of the finger. The topography is then simplified without altering the visual aspect of the deformed hand. We also associate a wrinkle data structure with each metacarpus[16], but we use fewer settings. As there is no real associated hand line, the wrinkle itself is empty, i.e., contains no wrinkle control points, and the rotation axis is defined by the wrinkle control points defining the wrist wrinkle rotation axis. Only influenced control points are defined for metacarpi wrinkles. In order to
simulate the influence from neighboring metacarp, neighboring metacarpi's wrinkles contain some common influencing control points. Their rotation is not directly defined from the rotation angle of one joint, but is an average of the rotation angles assigned to the two wrinkles to which they belong. For the thumb, the wrinkle associated to the thenar line is adapted to its particular situation, dividing the palm into two regions. The wrinkle itself is not a closed line, but starts from the wrinkle's wrist on the inside part of the hand, and ends at the wrinkle's wrist on the back of the hand. Wrinkle control points on the back are not constrained control points, but standard control points, in order to maintain the smoothness of the skin on the back of the hand. Figure 4 shows how control points, constraint control point and attractive control points are designed around the surface of the hand to build the control points set and the different wrinkles.
Figure 4. Control points set and Wrinkle Design Figure 5 illustrates how the control lattice and the wrinkles are designed over the hand's geometrical skin. The thumb is zoomed to show the three associated hand lines drawn with white control points.
Figure 5. Hand surface and control lattice
Figure 6. Hand model layers Figure 6 shows the three layers of the hand model. The skeleton, drawn with segments connected at joints, the muscle layer defined with the control points set, and the geometric skin drawn in wire-frame. 3.3 Hand modeling The proposed model allows to model morphological variations. Deformations of the control point set can be parameterized according to some morphological changes, such as hand thickness, or finger length. DFFD are then applied to the hand surface to create a new hand that can be directly used for animation. Figure 7 shows some morphologies variations on hands. (a) and (b) show local modification changes, in (a), the length of the middle finger is modified, and in (b), the thumb is spread from the rest of the hand and its size is modified. These two morphology changes are parameterized by the changes of the underlying skeleton. In (c), a global morphology change is shown: the thickness of the hand is increased. This change is parameterized independently from the skeleton.
(a) .
(b)
(c) Figure 7: Various hands morphologies variations 4. Results
The hand model is implemented and integrated into an interactive environment dedicated to the simulation of multiple virtual humans[4]. To improve realism, real hand pictures are mapped on the 3D hand such as shown in figure 8. The texture is fitted to the 3D model using the approach proposed by Sannier et al. in [22] using two pictures of both sides of the hand. 5. Conclusion and future work A generalized FFD model based on Delaunay and Dirichlet diagrams is introduced that provides more realistic animation effects and robustness for general hand movement. The geometric FFD tool used to design the muscle layer generalizes former FFD techniques and completely removes any constraint on the relative and actual control points. It also removes the tedious task of defining the topology of the control lattice. The wrinkle, the basic data structure of the hand simulation model, takes advantage of all enhancements brought by DFFDs to define a simple model for complex skeleton-based animation. The use of constraint points allows flexible control of the shape around the joint and constrains it to maintain a constant shape during the animation to avoid unwanted deformations like pinching. Combining control points with constraint points not only allows the control of the deformation extension on the surface, but also allows mixing smooth deformations with discontinuities on the surface. DFFDs capabilities also make it possible to do a geometric simulation of skin response to contact. DFFD based hands animation allows to combine the simulation of the muscles behavior with the hand lines behavior. Thanks to DFFDs, the model can simulate all types of hands activities in an interactive environment. The direct deformation capabilities of DFFDs allow to simulate tactile interaction and so allow to simulate all hands in all their type of activities. The hand model is integrated with an automatic grasping model in [20] to simulate various tactile interaction types.
(a)
(b) Figure 11. texture mapped hands The major limitations of DFFDs are relative to the control of the influence of control points. In DFFDs, the influence is predefined by the control lattice set. Modifying the influence of a control point currently involves to insert a new control point in the control set. Further work will emphasize on adding the ability to have a simple control on control points area of influence. Applications of DFFDs to others human simulation aspects such as in [20] for human face cloning are currently investigated. Acknowledgment: The authors would like to thank Prem Kalra for his advise and many valuable discussions. This work is supported by the Swiss National Research Foundation. Reference: [1] Arnaldi B., Dumont G., Hegron G., Magnenat-Thalmann N., Thalmann D., Animation Control with Dynamics, State-of-the-art in Computer Animation, Springer, Tokyo, pp. 113-124, 1989. [2] Bechmann D., Space Deformation Models Survey, Computer and Graphics, 18, 4, Pergamon, pp. 571-586, 1995. [3] Bechmann D., Bertrand Y., Thery S., Continuous Free-Form Deformations, Proceedings Compugraphics'96, pp., 1996. [4] Boulic R., Capin T., Huang Z., Kalra P., Lintermann B., Magnenat-Thalmann N., Moccozet L., Molet T, Pandzic I., Saar K., Schmitt A., Shen J., Thalmann D., The HUMANOID Environment for Interactive Animation of Multiple Deformable Human Characters, Proceedings Eurographic's 95, 1995. [5] Boulic R. et. al, Goal-Oriented Design and Correction of Articulated Figure Motion with the TRACK System, Comput. & Graphics, 18, 4, pp. 443-452, 1994. [6] Chadwick J. E., Hauman D., Parent R. E., Layered Construction for Deformable Animated
Character, Proceedings Siggraph'89, PP 243-252, 1989. [7] Coquillart S., Extended Free-Form Deformation : A Sculpting Tools For 3D Geometric Modeling, Proceedings Siggraph'90, pp. 23-26, 1990. [8] Delingette H., Watanabe Y., Suenaga Y., Simplex Based Animation, proceedings Computer Animation'93, Eds Magnenat-Thalmann N. Thalmann D., Springer Verlag, pp. 13-28, 1993. [9] DeRose T.D., Composing Bézier Simplexes, ACM Transactions on Graphics, 7(3), pp198221, 1988. [10] Escher M., Magnenat Thalmann N., Automatic 3D Cloning and Animation of Human Face, Proceedings Computer Animation'97, 1997. [11] Farin G., Surface Over Dirichlet Tessellations, Geometric Aided Design, 7, pp. 281-292, North-Holland, 1990. [12] Gourret J.-P., Magnenat-Thalmann N., Thalmann D., Simulation of Object Grasping and Human Skin Deformations in a Grasping Task, proceedings Siggraph'89, pp. 21-30, 1989. [13] Hsu W., Hugues J. F., Kaufman H., Direct Manipulation of Free-Form Deformations, Proceedings Siggraph'92, pp. 177-184, 1992. [14] Huang Z., Boulic R., Magnenat-Thalmann N., Thalmann D., A Multi-Sensor Approach for Grasping and 3D Interaction, Proceedings Computer Graphics International'95, pp. 235-253, 1995. [15] Kalra P., Mangili A., Magnenat-Thalmann N., Thalmann D., Simulation of Facial Muscle Actions Based on Rational Free-Form Deformations, Computer Graphics Forum, 2, 3, Blackwell Publishers, pp. 65-69, 1992. [16] Kapandji I. A., Physiologie Articulaire, Tome 1, Maloine SA Edtions., pp45-58. [17] Lamousin H. J., Waggenspack W. N., Nurbs-based Free-Form Deformations, IEEE Computer Graphics and Applications, 14, 16, pp 59-65, 1994. [18] MacCracken R., Joy K.I., Free-Form Deformations with Lattices of Arbitrary Topology, Computer Graphics Research Laboratory, University of California, Technical report CSE-96-7. [19] Magnenat-Thalmann N., Laperrière R., Thalmann D., Joint-Dependent Local Deformations for Hand Animation and Object Grasping, Proceedings Graphics Interface'88, Canadian ManComputer Communication Society, pp. 26-33, 1988. [20] Moccozet L., Huang Z., Magnenat Thalmann N., Thalmann D., Virtual Hand Interactions with 3D Worlds, submitted to Eurographics'97. [21] Sambridge M., Braun J., MacQueen H., Geophysical Parametrization and Interpolation of Irregular Data using Natural Neighbors, Geophysical Journal International, 122, pp837-857, 1995.[16] Sederberg T. W., Parry S. R., Free-Form Deformation of Solid Geometric Models, Proceedings Siggraph'86, pp. 151-160, 1986.
[22] Sannier G., Magnenat Thalmann N., A Flexible Texture-Fitting Mode for Virtual Clone, Proceedings CGI'97, 1997. [23] Sederberg T. W., Parry S. R., Free-Form Deformation of Solid Geometric Models, Proceedings Siggraph'86, pp. 151-160, 1986. [24] Sibson R., A Vector Identity for the Dirichlet Tessellation, Math. Proc. Cambridge Philos. Soc., 87, pp. 151-155, 1980. [25] Uda N., Kimura F., Tsuruoka S., Miyake Y., Shunlin S., Tsuda M., Expansion of the Solid Modeler's Functions for Use in Designing a Model of the Human Body, New Advances in Computer Aided Design & Computer Graphics, (Eds Zesheng Tang), International Academic Publishers, pp. 357-363, 1993. [26] Watson D. F., Contouring - A Guide to the Analysis and Display of Spatial Data, Computer Methods in the Geosciences, Volume 10, Pergamon. Appendix: Sibson Coordinates : In [8], Farin defines Sibson coordinates as follows : Consider a set of given points (that will be used as control points for our purpose), together with their Dirichlet/Voronoi tessellation. Let p be an arbitrary point in the convex hull of given points. If we were to insert p into the tessellation, it would then acquire its own tile, assembled from parts of tiles of existing points, called neighbors of p. Assume that p has neighbors p1, ..., pn. Let pi be one of those neighbors contributing a fraction ui to the area of p's tile, such that We shall call u = (u1,..., un) the Sibson coordinates of p, due to the identity
.
(1) Bézier simplex points insertion: From [8], given the set of Delaunay neighbors Pn = {pI}, with pI= p1,0...,1 to p0,0,...,1, I = (i1, ..., in) so that |I| = i1+... +in = 1, m the given degree of the multivariate Bézier simplex, then B is the set of Bézier points, so that B = {qJ} with J = (j1,..., jn) and |J| = j1+... +jn = m, where qJ are formaly defined from (2) [*] Published in Proc. Computer Animation'97, IEEE Computer Society, 1997, pp.93-102.