# Physical simulation of wet clothing for virtual humans

## Authors

- First Online:

DOI: 10.1007/s00371-012-0687-y

- Cite this article as:
- Chen, Y., Magnenat Thalmann, N. & Foster Allen, B. Vis Comput (2012) 28: 765. doi:10.1007/s00371-012-0687-y

- 4 Citations
- 447 Views

## Abstract

We present a technique that simulates wet garments for virtual humans with realistic folds and wrinkles. Our approach combines three new models to allow realistic simulation of wet garments: (1) a simplified saturation model that modifies the masses, (2) a nonlinear friction model derived from previously reported, real-world measurements, and (3) a wrinkle model based on imperfection sensitivity theory. In contrast to previous approaches to wet cloth, the proposed models are supported by the experimental results reported in the textile literature with parameters varying over the course of the simulation. As a result, the wet garment motions simulated by our method are comparable to that of real wet garments. Our approach recognizes the special, practical importance of contact models with human skin and provides a specific skin-cloth friction solution. We evaluate our approach by draping a rotating sphere and simulating a typical garment on a virtual human in the rain. Both of these examples are typical scenarios within computer graphics research.

### Keywords

Computer animationWet garment simulationNonlinear frictionImperfection sensitivity model## 1 Introduction

Simulation of cloth and fluid has long been a goal in computer graphics research. How to simulate a wet garment, especially how to simulate a garment in contact with skin, is a particularly difficult problem.

We present a model to simulate wet, wrinkling garments on a virtual human. A key ingredient of our method is that we do not directly manipulate the shape of wrinkles, but only apply one disturbance to change the state, shifting the state from an unstable to a stable equilibrium. This simple but effective model can generate wrinkles without complicated computation. We propose a friction model based on experimental results using real, moist fabric in contact with the human body. We then derive the friction model from a straightforward mathematical approach, making the friction model easily embedded into the simulation system. Our approach does not depend on any specific physical model for cloth simulation, but rather applies the friction parameter and disturbance algorithm as an extra step within one time iteration.

Our practical but physically sound wrinkle model is based on imperfection sensitivity theory [4]. Imperfection sensitivity theory describes the extreme sensitivity of thin shells to geometric imperfections when predicting buckling. Buckling is a ubiquitous phenomenon in both rigid materials and soft materials and is closely related to the problem of wrinkling. When a force load is applied to a textile, at first it resists changing shape. But as the force increases, the material will reach the critical point, a bifurcation. The imperfection sensitivity theory presents a way to determine the impact of initial imperfection to the post buckling analysis. The critical time point and force magnitude are considered in imperfection sensitivity theory. Perturbation and disturbance are prevalent ways to solve this problem. One advantage of imperfection theory is its physical foundation. The disadvantage of traditional perturbation method is that it requires extensive computation. For these reasons, we propose a simplified method to locate and compute the disturbance, bridging the complex theoretical model with a practical need in computer graphics applications.

We evaluate the proposed method by draping a rotating sphere, as this experiment is a classic benchmark for cloth simulation. We also use the method to simulate a typical garment on a virtual human in the rain, a possible scenario in computer animation or video games.

## 2 Related works

Starting from the mid-1980s, the computer graphics community began to show great interest in modeling cloth and garments. The pioneering work of physically based cloth simulation was done by Terzopoulos et al. [5] and Weil [6]. After several physically based models were presented, problems related to different parts of cloth simulation, ranging from cloth modeling by Provot [7] and Breen et al. [8], numeric integration by Baraff and Witkin [9] to collision handling by Volino and Magnenat-Thalmann [10], have been successfully solved by computer graphics community. In this paper, we focus on three topics in cloth simulation, wet cloth simulation, friction and collision, and wrinkles modeling.

### 2.1 Wet cloth simulation

There are two ways of simulating wet cloth: fluid simulation based method and numerical approaches based methods.

#### 2.1.1 Fluid based simulation

Robinson-Mosher et al. [11] studied the cloth-fluid interface through two-way interaction conserving momentum and constraining the surface boundary. This work focuses on the surface interaction of cloth and fluid. Lenaerts et al. [3] presented a method that simulates fluid flowing through a porous deformable material. They model the porous flow by Smoothed Particle Hydrodynamics (SPH) and also contributed a method to compute changes in material properties. This fluid based simulation can simulate the wet cloth saturation and fluid flow, but cannot easily be applied to virtual human skin contact because of the integration of SPH and virtual human simulation system.

Another work is the wet cloth simulation by diffusion method [2]. This paper mainly focuses on the simulation of the saturation process by using Fick’s law to compute the diffusion. As mentioned in the paper, 2D cellular automaton is applied to update the diffusion state and to simulate the process of diffusion.

#### 2.1.2 Numerical computation

Ozgen et al. [1] borrowed the fractional equation idea from Fractional Calculus (FC), in order to eliminate the computation of the fluid simulation. Huang et al. [12] accelerated this method by using GPU implementation. The idea is very practical since the fractional differentiate method holds the potential advantage of dealing with the viscosity. However, in his paper, only a fractional model was presented, leaving the problems about body cloth and collision problems unsolved.

Therefore, to the author’s knowledge, the interaction of wet garments with virtual humans has not been considered in either cloth simulation or virtual human research.

### 2.2 Friction, collision and fabric measurements

Friction is an important force to cloth simulation and has usually been modeled as a simple linear force. However, for a wet garment, friction forces have a tremendous impact. During the process from half moist to fully wet, the garment friction force changes in a nonlinear way.

Isotropic coulomb friction is presented by Bridson et al. [13, 14] and anisotropic friction model for deforming surfaces and solids is proposed by Pabst et al. [15]. These two methods suit dry cloth simulation, but have limitations for wet clothing because of material property changes.

Collision solving is another important issue for both dry and wet cloth simulation. In Provot’s work [16], the basic edge–edge and point–edge collision operations are presented. Then the framework of collision handling is proposed by Bridson et al. [13, 14]. Aiming at the collision repairing problem, Volino and Magnenat-Thalmann [10] presented a new method through intersection contour minimization.

Borrowing experimental data from fabric research industry can greatly assist research in cloth simulation. For instance, Kawabata Evaluation System (KES), a collection of machines capable of measuring the physical parameters of cloth, has been used to improve the realism of cloth simulation. Bonanni et al. [17] applied the measured parameters to the haptic research. Charfi et al. [18] verified the cloth simulation results with real measured KES parameters by comparing real garment movements and simulated ones.

### 2.3 Wrinkles and buckles modeling

Wrinkles are another significant factor to wet garment simulation, since the fold shapes of wet cloth differ from dry cloth. Choi and Ko [19] built on the hypothesis of the post-buckling shape to stably simulate wrinkles with trigonometric functions. Decaudin et al. [20] used pure geometrical method to model wrinkles and buckles based on rhombic shape computation. This method is fast because it does not precede the physics computation. But when comparing with real experiments, the produced wrinkles are of regular shape. Thus, previous methods are ill-suited to the simulation of wet cloth.

## 3 Physical model

Briefly speaking, two parts of modeling are included in the cloth simulation, the force modeling and the numerical integration. We will first introduce the general model then discuss our force model, and kindly present special saturation and friction model.

### 3.1 Numerical integration

*x*,

*v*are the positions and velocity of those masses. Our cloth simulation system can be expressed as a general equation, similar to [9].

**M**

^{−1}is the inverse of the mass matrix and

**x**

_{n}=

**x**(

*t*) and

**v**

_{n}=

**v**(

*t*) represent the position and velocity, respectively, at time

*t*.

**f**is the total force on the cloth, including the internal forces such as stretch/shear force and the external forces. It is nonlinear in Δ

**x**and Δ

**v**. We can linearize this equation by Taylor series expansion to

**f**.

**A**Δ

**v**=

**b**where

**A**is positive-definite, the solution is equivalent to finding the minima of

*ϕ*(

**Δv**) where

### 3.2 Force model

The forces of stretching, shearing and bending springs, as well as friction, viscous, and gravity are integrated. In terms of the analytical process, the forces are determined from the energy of the system. For the wet cloth, we use a different friction model, changing the mass matrix with the saturation process and applying the disturbance to constrain the simulation system.

*i*,

*r*connecting to mass

*i*,

*σ*

^{e}is the strain of elastic force and

*σ*

^{v}is the strain of viscous force.

*ε*is the stress at this subdomain. Then we can generate a mathematical expression for the springs in the simulation, where

*l*

_{0}is the original length of the spring which is initialized before the simulation,

*l*is the current length of the spring. Denoting \(\hat{\mathbf{u}}_{i}=\frac{dl}{d\mathbf{x}_{i}}\) gives

*L*

_{0}is the deformation magnitude of the cloth material.

*LT*.

*a*and

*b*are two parameters related to the measured

*LT*. We use this method to model the strain force as

*a*

_{1}and

*a*

_{2}are the parameters of the material and are determined from direct measurement.

*l*and

*l*

_{0}are the current and initial length of the springs,

**x**

_{i}and

**x**

_{j}are the positions connected to the two masses.

*k*is the elastic parameter of the spring which is determined by the material.

*ε*is the stress and can be computed by \(\frac {l-l_{0}}{l_{0}}\). Bending force can be calculated by

### 3.3 Saturation model

Inspired by the work of porous flow [3], we present a saturation model which updates the mass matrix to simulate the wet garment by using permeability *K* as a manually defined input. Different from Lenaerts et al.’s [3] work, we use experimental results to define the saturation function. This approach allows us to avoid time-consuming calculations of interactions between the cloth and fluid.

*m*

_{i}is the weight value of the mass

*i*at time

*t*. In fluid simulation research, this fluid flow is typically modeled as a diffusion process. The approximation presented in [3] and [22] to the diffusion equation of absorbed fluid flow is

*d*

_{ij}is the diffusion coefficients between two particles.

*V*

_{j}is the volume of the particle.

*W*(

*x*

_{j}−

*x*

_{i},

*h*

_{j}) is the capillary potentials.

*h*

_{j}is the interaction smoothing length associate with the point. The capillary force is similar to the surface tension in the fluid dynamics, a vital factor to the simulation.

Based on this analysis, we simplify the saturation computation based on the hygroscopicity in fabric research [23, 24]. In the fabric research experiments, the weight of the absorbed water is measured quantitatively. During the experiments, samples of round cloth with radius 6.5 cm are tested with the apparatus which can measure the weight as the water is spilling the cloth. The experiments are typically conducted in textile research domain when the humidity parameters are studied.

*g*(

*t*) is the fitting function of the experimental data.

*Q*is the weight of absorbed water in time

*t*.

*δ*is the weight parameter in saturated status per g,

*θ*is the hygroscopicity parameter constant which can be obtained from the textile research data, and

*t*is the average time of the water absorbing process. Then we can deduct the following function:

Parameters of fabric

Parameter | Cotton | Coarse wool | High absorbtion fabric |
---|---|---|---|

| 0.84 | 1.24 | 2.492 |

| 8.844 | 4.8936 | 3.3803 |

### 3.4 Friction model for wet cloth

Saturation is not the only factor in wet cloth simulation, because the friction and adhesion tension also play important roles. In cloth simulation, the friction is usually set to a linear function with constant coefficients. However, in the wet garment simulation, the friction no longer stays the same once the garment is wet. In order to study the wetting process, we conduct several experiments. These experiments show that the friction force changes in a nonlinear way.

Generally speaking, Coulomb’s law of friction which denotes that friction depends on the normal pressure force is the mainstream in research domain. In wet cloth simulation, we elegantly combine the friction modeling with the fabric experimental results.

*τ*

_{1}and

*τ*

_{2}are critical time points when the friction force changes.

As for the friction method application, we studied both the isotropy and anisotropy friction which all set the friction parameter to a constant during the simulation. For example, the anisotropy friction which express the friction as a combined force of both normal and tangential direction presented in [15] sets the parameter to 0.5.

#### 3.4.1 Damping force

**M**is the mass matrix and the radius

**K**is computed by

*α*and

*β*are the constants of system damping. These two parameters can be obtained from Kawabata Evaluation System (KES) [27]. Based on the experiments, we set the parameter as

*α*=−9 and

*β*=3.81413e−3.

*v*

_{i}and

*m*

_{i}is the velocity and mass of mass point

*i*,

*α*is the same material parameter as mentioned before.

In this way, we can combine the friction modeling with real fabric experiments. If we need to pursue specific material simulation, the friction measuring experiments with desired fabrics could also be conducted. The innovation of this method is the platform-independency with the ability to be embedded in other existed cloth simulation system.

### 3.5 Imperfection and bifurcation

Wrinkles and buckles are kernel part for simulation. We present a method based on imperfection sensitivity and bifurcation method, applying disturbances to the simulation system and then implementing the method by adding constrains to the numerical integration.

The imperfection sensitivity theory throws some light on the simulation of wrinkles. In stability analysis, the perturbation or disturbance method is an effective way to analyze the critical point and the load. Therefore, we are aiming at solving the disturbance type and disturbance magnitude.

We first divide the garment in several subdomains according to the cloth pattern. Then in each subdomain we evaluate the equilibrium state of the system, and compute the disturbance. After the computation, disturbances are added to the numerical simulation system by setting constraints.

#### 3.5.1 Perturbation analysis

In the material stability analysis, three elements are essential: the disturbance modes, the critical load and the critical time for the saturated cloth. The disturbance modes refer to the geometrical shape of the structure that changes along with the generation of wrinkle process. The critical load represents the minimum disturbance force to break the balance. The critical time measures the time of the whole state transition. These three problems are key ones to design the model.

- 1.
Types of perturbation/disturbance

Generally speaking, we can directly add one disturbance force to the system as in [19]. But after studying the characteristics of mass-spring system, we choose the position displacement as disturbance to the simulation. We choose that for two reasons. First, the position disturbance is closely connected to mass spring system and is easy to compute. Second, if the force disturbance is modeled, then the acceleration as well as the velocity need to be calculated and may change the system matrix to some extent. Therefore, we choose position displacement as the disturbance method.

- 2.
Position of the disturbances

Wrinkles are generated by compression force [29]. In wet cloth simulation, wrinkles and buckles are also caused by compression force of the spring and the surface strain of the water. From real cloth experiments, clear evidence show the existence of compression forces. So we use compression of stretch spring as an indicator when setting the position for disturbance and the system energy to judge the equilibrium state.

- 3.
Microcomputation for the disturbance

How to quantify the compression and extension is the fundamental problem. The position displacement, in another word, the disturbance, must keep the system stable, which means that it could comply to physical rule. In the following section, a detailed computation method will be discussed.

#### 3.5.2 Computation of disturbance

*A*connects with three springs and

*B*,

*C*,

*D*are the mass points connecting to

*A*. Spheres

*B*,

*C*,

*D*have the radius of the original length of the spring.

*A*1 and

*A*2 are the intersection points of these three sphere. Geometrically, for every spring, if one mass that connects to the spring is fixed, the original length of the spring will form a sphere. If the spring has the tendency to generate a wrinkle, the other mass must be inside this sphere because of the compression. Thus, in order to recover the compression, the spring should be at the original length. So in Fig. 7, the intersection points

*A*1 or

*A*2 should move to obtain the original length of the spring. Then we can add this disturbance to the simulation as a constraint, as in [9]. The major problem is how to choose the mass in order to set a constraint. Our method follows.

- 1.
- 2.
If three spheres have only one intersection point, then the collision detection process is performed. If this mass position does not have an collision, then we can choose this point as the target position and add the constraint to the simulation system.

- 3.
If three spheres have two intersection points, then both points need the collision detection. If only one of the points suffers from the collision, then choose the other one.

- 4.
If both these positions are collision free, then we need further computations to choose the target position. We compute the absolute value of

*AA*1 and*AA*2 and choose the smaller one as the targets position. - 5.
If

*AA*1=*AA*2, then choose the more convex one as the target position. We select curvature as the criteria. - 6.A simplified method to compute the curvature of
*A*1 and*A*2.where$$ k_{A_{1}}=\biggl(\frac{2}{\|\mathbf{v1}\|+\|\mathbf{v2}\|}\biggr)\cos^{-1}\biggl( \frac {v1\cdot v2}{\|\mathbf{v1}\|\times\|\mathbf{v2}\|}\biggr), $$(26)**v1**=*A*_{1}−*B*,**v2**=*D*−*A*_{1}. Then compare the curvature of each point. If the curvature equals to each other, then randomly choose one as the target points.

## 4 Experimental results

Figure 8 shows the comparison of the simulation results and the real experimental results. In the complementary video, the comparison of dry and wet simulation can be clearly observed. The data analysis is processed by Matlab and the rendering is accomplished with Mental Ray software. The parameters for the saturation are *δ*=0.84, *a*_{3}=8.844.

## 5 Conclusion

Our method realistically simulates wet garments. The unique features of our approach are the friction and wrinkle models. We apply experimental results from the textile literature to accurate modeling of the saturation and friction forces. In order to generate more realistic wrinkles, we propose a disturbance technique based on imperfection sensitivity theory from stability analysis. We also conducted real garment experiments to analyze and to compare with the simulation results. The results show that this method can properly simulate wet garments.

## Acknowledgements

We would like to thank Robert Ronan Teoxon RAFON for providing the 3D geometry model of the garment and the body, Dr. Flavien JACKIE PICON, and Mohamed ELGENDI for the useful discussions.