Why this paper?
This paper attempts to model deformable objects for general applications with less restrictions apparent than in previous models.
It looks at a more efficient collision detection and handling process, that is universally suitable for all kinds of collisions with a surface (and handles many consecutive collisions).
The process described handles self-collision very efficiently.
It highlights the difficulties of collision handling in generic situations; that possible optimizations based on a known predifined contex do not apply.
How is cloth represented?
The paper states the underlying representation they will use will be a particle system, where each particle represents a vertex of a triangle (where triangles share vertices and therefore particles too).
Cloth is considered to be isotropic material (meaning it's properties are independant of the direction in which they are measured) and of constant thickness.
What are the "Driving Equations" of the cloth?
Deformable surfaces are simulated through Integration of newtons motion equation, keeping time-steps as small as possible. It says that other more complex methods (energy minimization, lagrange dynamics) allow larger time-steps, but since the collision detection algorithm will require small time-steps to be effective these methods are ignored.
The numerical integration method used to solve the equations is the second order (midpoint method) of the Euler-Cromer method (also known as the semi-implicit Euler method). An adaptive time-step scheme is incorporated into this routine, giving optimal efficiency whilst maintaining accurate results.
Buckling, due to cloth compression, is considered into the Elastic properties that model the cloth (Young's modulus, Poisson coefficient, density and thickness) by allowing the Young's modulus to vary, depending on whether the cloth is stretched or compressed.
Cloths ability to move past positions from which it will no longer return (like a spring going beyond it's elastic limit) is handled by changing the inital conditions of the differential equations to the current conditions when a deformation exceeds a certain amount.
Curvature forces are evaluated by looking at the "hinges" (sharing edges) of triangles and using the angle between the normals.
Strain within the cloth is calculated from the strain at each edge of each triangle.
Contraints caused by collisions are satisfied iteratively.
How are collisions with the cloth handled (if at all)?
Collisions are handled as a seperate process. Cloth is simulated, then collision detection is ran and then the neccessary collision handling is taken care of.
To increase efficiency, an algorithm based on hierarchical octree subdivision singles-out the potentially colliding elements at any one time. It takes advantage of adjacency between elements in a heirarchy, which is built once during preprocessing. The criteria for which elements should be "collision checked" is based on a calculated property "surface curvature". The surface curvature property is also used to cut-down the self-collision tests.
Any results or conclusions of interest?
A simulation was run on pieces of cloth within a rotating cylinder to animate them the way a drying machine would. This was a good test of the robustness of the collision detection algorithm, since many collision configurations occur, and interactions of cloth-to-cloth and solid-to-cloth are frequent. It is also a good test for the collision response procedure and the overal numerical stability of the model.
Additional Sources:
http://www.thefreedictionary.com/isotropic
http://en.wikipedia.org/wiki/Young%27s_modulus
http://en.wikipedia.org/wiki/Symplectic_Euler_method
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment