Cloth modeling is the term used for simulating cloth within a computer program; usually in the context of 3D computer graphics. The main approaches used for this may be classified into three basic types: geometric, physical, and particle/energy.
Most models of cloth are based on "particles" of mass connected in some manner of mesh. Newtonian Physics is used to model each particle through the use of a "black box" called a physics engine. This involves using the basic law of motion (Newton's Second Law):
In all of these models, the goal is to find the position and shape of a piece of fabric using this basic equation and several other methods.
Weil pioneered the first of these, the geometric technique, in 1986. His work was focused on approximating the look of cloth by treating cloth like a collection of cables and using Hyperbolic cosine (catenary) curves. Because of this, it is not suitable for dynamic models but works very well for stationary or single-frame renders. This technique creates an underlying shape out of single points; then, it parses through each set of three of these points and maps a catenary curve to the set. It then takes the lowest out of each overlapping set and uses it for the render.
The second technique treats cloth like a grid work of particles connected to each other by springs. Whereas the geometric approach accounted for none of the inherent stretch of a woven material, this physical model accounts for stretch (tension), stiffness, and weight:
- s terms are elasticity (by Hooke's Law)
- b terms are bending
- g terms are gravity (see Acceleration due to gravity)
Now we apply the basic principle of mechanical equilibrium in which all bodies seek lowest energy by differentiating this equation to find the minimum energy.
The last method is more complex than the first two. The particle technique takes the physical technique from (f) a step further and supposes that we have a network of particles interacting directly. That is to say, that rather than springs, we use the energy interactions of the particles to determine the cloth’s shape. For this we use an energy equation that adds onto the following:
- The energy of repelling is an artificial element we add to prevent cloth from intersecting itself.
- The energy of stretching is governed by Hooke's law as with the Physical Method.
- The energy of bending describes the stiffness of the fabric
- The energy of trellising describes the shearing of the fabric (distortion within the plane of the fabric)
- The energy of gravity is based on acceleration due to gravity
We can also add terms for energy added by any source to this equation, then derive and find minima, which generalizes our model. This allows us to model cloth behavior under any circumstance, and since we are treating the cloth as a collection of particles its behavior can be described with the dynamics provided in our physics engine.