Bridson, R., Marino, S., & Fedkiw, R. (2003). Simulation of clothing with folds and wrinkles. Proceedings Of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 28–36. Retrieved from http://dl.acm.org/citation.cfm?id=846281

Summary

In this paper, Bridson et al. propose a method for simulating clothing while preserving folds and wrinkles. They propose a mixed implicit/explicit time integration method, derive a physically accurate bending model, and handle interpenetrations in a way that preserves wrinkles.

In the time integration method, they use an implicit method for the cloth’s velocity-dependent forces (damping forces) and explicit methods for velocity-independent forces (elastic forces). Because the implicit method introduces damping, it is appropriate for the damping forces; however, when applied to the elastic forces, it results in too much damping and doesn’t handle nonlinearities in the elastic forces well.

The bending model considers the bend between two triangles in a mesh which share an edge. There are four vertices $x_i$ between the two triangles, each with an associated velocity $v_i$ and force $F_i$. The normals of the triangles are $n_1$ and $n_2$ and the angle between them is $\theta$. The velocities and forces make up a 12-dimensional space. Rather than directly using this space, Bridson et al. come up with a basis for the space which consists of: 3 rigid body translations, three rigid body rotations, two in-plane motions of vertex 1, two in-plane motions of vertex 2, one in-line stretching of edge 3-4, and the change in $\theta$ (the “bending mode”). The bending mode is orthogonal to all the other modes and is denoted $u=(u_1,u_2,u_3,u_4)$. Based on the condition of orthogonality, they derive values for each $u_i$:

where $N_1=(x_1-x_3)\times (x_1-x_4)$ and $N_2=(x_2-x_4)\times(x_2-x_3)$ are the area weighted normals and $E=x_4-x_3$ is the common edge. Because $u$ is orthogonal to all the other modes of motion, the forces related to bending—the elastic bending force and the damping bending force—must be proportional to $u$ in order to preserve orthogonality. For the elastic force they use:

where $k^e$ is a material property (the elastic bending stiffness) and $\theta_0$ is the rest angle, which can be used to enforce that the cloth bends in a particular way. For the damping force they use:

where $k^d$ is a material property.

To resolve interpentrations, rather than projecting the interpenetrating material onto the surface of the mesh (which causes wrinkles to be flattened out), they project the interpenetrating material into an interval $[0,\tau]$. This means that wrinkles may not be as peaked as they were (as they may only be peaked up to a height of $\tau$), but this will preserve the contours of the folds at least.