Mass-spring particle system for cloth simulation
Contemporary methods for realistic cloth simulation are typically based on mass-spring particle systems. Here particles are considered as small pieces of material connected by springs. Conceptually, the particles represent the crossing points between warp and weft threads, and are arranged within a grid in order to mimic the textile’s structure. By adjusting the stiffness of the springs, characteristics of the simulation model (e.g. stretching, bending, and shearing) can be controlled. We use the optimized Verlet integration which is amongst the most efficient methods to formally describe particle systems.
Collision detection is one of the sub-problems that particularly attracted our attention. We looked for a method capable of treating static and dynamic meshes and also addressing the selfcollision detection problem. Hence we studied two basic acceleration techniques: axis aligned bounding boxes and bounding spheres. Tests confirmed that both methods enabled smooth real time simulation of nearly 10,000 triangles even on an ordinary PC. Tuning a cloth-simulation model was our main research challenge. Since there is no explicit correlation between the physical characteristics of textiles and stiffness of model’s springs, mapping the physical characteristics to the simulation parameters is an extremely complex task. We have proposed a hybrid evolutionary algorithm (EA) which, to the best of our knowledge, represented the first EA-based approach to solve this problem. This was achieved by the following two features.
1. The initial genes represent parameters of predefined textile types. Industry acknowledges the drape as a crucial property. It describes the extent to which a textile deforms when allowed to hang under its own weight, and is usually measured using a drapemeter. The obtained drape curves are compared against the computer generated one. The parameters of the latter are then calibrated by the EA.
2. Our primary goal to improve the convergence in comparison to the initial simple EA was achieved by performing the local search only within the neighbourhood of the best individual in the population, by limiting the search-space with the heuristic elimination of springs, and by decreasing the mutation step over generations.