Collision handling
To improve the realism of our simulation, we include cloth-object collisions.
The collision preocessing is performed in two steps. The first step is
the collision detection, and the second is the collision response.
- Collision detection
Our simulation includes fast collision detections with primitive
objects : sphere, plane, cylinder. These three types of object are
interesting : firstly, collision with these objects are easy to detect
and can be used to approximate more complex objects. For more details
on mathematic equations, see report on papers section. However, we
wanted to manage directly collisions between imported 3D objects and
the cloth, so we implemented a collision detection algorithm based
on the well-kown octree method. For more details on this algorithm,
see report on "papers" section.
- Collision response
We use a very simple collision response mechanism. When a node collide
an object, we first move its position back to the surface of the object
and then cancel the normal velocity. This simple mechanism is well
adapted to cloth and gives good visual results. The other advantage
of using this collision response is that it does not introduce some
instability in the system. Collision response is separated from the
integration step.
Notice that we also worked on cloth-cloth collision but it was too expensive
to be used in a real-time simulation.
|