Jan Bender, Matthias MÃ¼ller, Miguel A. Otaduy and Matthias Teschner, Position-based Methods for the Simulation of Solid Objects in Computer Graphics, In STAR Proceedings of Eurographics, 2013

# Abstract

The dynamic simulation of solids has a long history in computer graphics. The classical methods in this field are based on the use of forces or impulses to simulate joints between rigid bodies as well as the stretching, shearing and bending stiffness of deformable objects. In the last years the class of position-based methods has become popular in the graphics community. These kinds of methods are fast, unconditionally stable and controllable which make them well-suited for the use in interactive environments. Position-based methods are not as accurate as force based methods in general but they provide visual plausibility. Therefore, the main application areas of these approaches are virtual reality, computer games and special effects in movies.

This state of the art report covers the large variety of position-based methods that were developed in the field of deformable solids. We will introduce the concept of position-based dynamics, present dynamic simulation based on shape matching and discuss data-driven approaches. Furthermore, we will present several applications for these methods.

# Images

 Cloth Wrinkle Mesh Armadillos Ducks and tori Hair simulation

Jan Bender and Crispin Deul, Adaptive cloth simulation using corotational finite elements, Computers & Graphics 37, 7, 2013

Â

# Abstract

In this article we introduce an efficient adaptive cloth simulation method which is based on a reversible $\sqrt{3}$-refinement of corotational finite elements. Our novel approach can handle arbitrary triangle meshes and is not restricted to regular grid meshes which are required by other adaptive methods. Most previous works in the area of adaptive cloth simulation use discrete cloth models like mass-spring systems in combination with a specific subdivision scheme. However, if discrete models are used, the simulation does not converge to the correct solution as the mesh is refined. Therefore, we introduce a cloth model which is based on continuum mechanics since continuous models do not have this problem. We use a linear elasticity model in combination with a corotational formulation to achieve a high performance. Furthermore, we present an efficient method to update the sparse matrix structure after a refinement or coarsening step. The advantage of the $\sqrt{3}$-subdivision scheme is that it generates high quality meshes while the number of triangles increases only by a factor of 3 in each refinement step. However, the original scheme was not intended for the use in an interactive simulation and only defines a mesh refinement. In this article we introduce a combination of the original refinement scheme with a novel coarsening method to realize an adaptive cloth simulation with high quality meshes. The proposed approach allows an efficient mesh adaption and therefore does not cause much overhead. We demonstrate the significant performance gain which can be achieved with our adaptive simulation method in several experiments including a complex garment simulation.

# Video

Â

Daniel Weber, Jan Bender, Markus Schnoes, Andre Stork and Dieter Fellner, Efficient GPU data structures and methods to solve sparse linear systems in dynamics applications, In Computer Graphics Forum, Computer Graphics Forum 32, 1, 2013

Â

# Abstract

We present graphics processing unit (GPU) data structures and algorithms to efficiently solve sparse linear systems that are typically required in simulations of multi-body systems and deformable bodies. Thereby, we introduce an efficient sparse matrix data structure that can handle arbitrary sparsity patterns and outperforms current state-of-the-art implementations for sparse matrix vector multiplication. Moreover, an efficient method to construct global matrices on the GPU is presented where hundreds of thousands of individual element contributions are assembled in a few milliseconds. A finite-element-based method for the simulation of deformable solids as well as an impulse-based method for rigid bodies are introduced in order to demonstrate the advantages of the novel data structures and algorithms. These applications share the characteristic that a major computational effort consists of building and solving systems of linear equations in every time step. Our solving method results in a speed-up factor of up to 13 in comparison to other GPU methods.

Â

# Images

Â

Raphael Diziol, Jan Bender and Daniel Bayer, Robust Real-Time Deformation of Incompressible Surface Meshes, In Proceedings of ACM SIGGRAPH / EUROGRAPHICS Symposium on Computer Animation (SCA), 2011, Best paper award (Honorable Mention)

### PDF BibTex

Â

ACM, (2011) This is the authorâ€™s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definite version will be published in Proceedings of the 2011 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2011).

# Abstract

We introduce an efficient technique for robustly simulating incompressible objects with thousands of elements in real-time. Instead of considering a tetrahedral model, commonly used to simulate volumetric bodies, we simply use their surfaces. Not requiring hundreds or even thousands of elements in the interior of the object enables us to simulate more elements on the surface, resulting in high quality deformations at low computation costs. The elasticity of the objects is robustly simulated with a geometrically motivated shape matching approach which is extended by a fast summation technique for arbitrary triangle meshes suitable for an efficient parallel computation on the GPU. Moreover, we present an oscillation-free and collision-aware volume constraint, purely based on the surface of the incompressible body. The novel heuristic we propose in our approach enables us to conserve the volume, both globally and locally. Our volume constraint is not limited to the shape matching method and can be used with any method simulating the elasticity of an object. We present several examples which demonstrate high quality volume conserving deformations and compare the run-times of our CPU implementation, as well as our GPU implementation with similar methods.

Â

# Images

 Armadillos Balls Ducks and tori Volume loss comparison Inverted Armadillo Twirl Comparison with FastLSM Velocity correction

Raphael Diziol, Daniel Bayer and Jan Bender, Simulating Almost Incompressible Deformable Objects, Virtual Reality Interactions and Physical Simulations (VRIPhys), Karlsruhe, November 5-6, 2009

# Abstract

We present a new method for simulating almost incompressible deformable objects. A tetrahedral model is used to represent and restore the volume during the simulation. The new constraint computes impulses in the onering of each vertex of the tetrahedral model, in order to conserve the initial volume. With different parameters, the presented method can handle a large variety of different deformation behaviors, ranging from stiff to large deformations and even plastic deformations. The algorithm is easy to implement and reduces the volume error to less than 1% in most situations, even when large deformations are applied.

 Armadillo (Mpeg) Deformable bar (Mpeg) Deformable cube (Mpeg) Plastic deformation (Mpeg) Twirl (Mpeg)

Raphael Diziol, Jan Bender and Daniel Bayer, Volume Conserving Simulation of Deformable Bodies, Short Paper Proceedings of Eurographics, Munich, March 2009

# Abstract

We present a new method for simulating volume conserving deformable bodies using an impulse-based approach. In order to simulate a deformable body a tetrahedral model is generated from an arbitrary triangle mesh. All resulting tetrahedrons are assigned to volume constraints which ensure the conservation of the total volume. For the simulation of such a constraint impulses are computed and applied to the particles of the assigned tetrahedrons. The algorithm is easy to implement and ensures exact volume conservation in each simulation step.

 Deformable body with strong springs (Mpeg) Deformable body with weak springs (Mpeg)

Jan Bender and Daniel Bayer, "Parallel simulation of inextensible cloth", Virtual Reality Interactions and Physical Simulations (VRIPhys), Grenoble, November 13-14, 2008

# Abstract

This paper presents an efficient simulation method for parallel cloth simulation. The presented method uses an impulse-based approach for the simulation. Cloth simulation has many application areas like computer animation, computer games or virtual reality. Simulation methods often make the assumption that cloth is an elastic material. In this way the simulation can be performed very efficiently by using spring forces. These methods disregard the fact that many textiles cannot be stretched significantly. The simulation of inextensible textiles with methods based on spring forces leads to stiff differential equations which cause a loss of performance. In contrast to that, in this paper a method is presented that simulates cloth by using impulses. The mesh of a cloth model is subdivided into strips of constraints. The impulses for each strip can be computed in linear time. The strips that have no common particle are independent from each other and can be solved in parallel. The impulse-based method allows the realistic simulation of inextensible textiles in real-time.

 Bodies falling in a piece of cloth (DivX, Mpeg) Cloth simulation (DivX, Mpeg)

Jan Bender, "Impulse-based simulation of inextensible cloth", Computer Graphics and Visualization (CGV 2008) - IADIS Multi Conference on Computer Science and Information Systems, Amsterdam 2008

# Abstract

In this paper an impulse-based method for cloth simulation is presented. The simulation of cloth is required in different application areas like computer animation, virtual reality or computer games. Simulation methods often assume that cloth is an elastic material. With this assumption the simulation can be performed very efficiently using spring forces. The problem is that many textiles cannot be stretched significantly. A realistic simulation of these textiles with spring forces leads to stiff differential equations which cause a deterioration of performance. The impulse-based method described in this paper solves this problem and allows the realistic simulation of inelastic textiles.

 Simulation of inextensible cloth (DivX, Mpeg)

Jan Bender, Impulse-based dynamic simulation in linear time, In Journal of Computer Animation and Virtual Worlds, John Wiley & Sons Ltd, 2007

Â

# Abstract:

This paper describes an impulse-based dynamic simulation method for articulated bodies which has a linear time complexity. Existing linear-time methods are either based on a reduced-coordinate formulation or on Lagrange multipliers. The impulse-based simulation has advantages over these well-known methods. Unlike reduced-coordinate methods, it handles nonholonomic constraints like velocity-dependent ones and is very easy to implement. In contrast to Lagrange multiplier methods the impulse-based approach has no drift problem and an additional stabilisation is not necessary. The presented method computes a simulation step in O(n) time for acyclic multi-body systems containing equality constraints. Closed kinematic chains can be handled by dividing the model into different acyclic parts. Each of these parts is solved independently from each other. The dependencies between the single parts are solved by an iterative method. In the same way inequality constraints can be integrated in the simulation process in order to handle collisions and permanent contacts with dynamic and static friction.

The paper describes an algorithm to compute the required impulses in linear time and linear space.

 Tree with 127 bodies and joints (DivX, Mpeg)

Jan Bender and Alfred Schmitt, Fast Dynamic Simulation of Multi-Body Systems Using Impulses, Virtual Reality Interactions and Physical Simulations (VRIPhys), 2006

Â

Â

# Abstract:

A dynamic simulation method for multi-body systems is presented in this paper. The special feature of this method is that it satisfies all given constraints by computing impulses. In each simulation step the joint states after the step are predicted. In order to obtain valid states after the simulation step, impulses are computed and applied to the connected bodies. Since a valid joint state is targeted exactly, there is no drift as the simulation proceeds in time and so no additional stabilisation is required. In previous approaches the impulses for a multi-body system were computed iteratively. Since dependencies between joints were not taken into account, the simulation of complex models was slow. A novel method is presented that uses a system of linear equations to describe these dependencies. By solving this typically sparse system the required impulses are determined. This method allows a very fast simulation of complex multi-body systems.

The paper describes another impulse-based simulation method which uses systems of linear equations to determine the required impulses very fast. In my current research I determined a way to solve the system of linear equations in linear time and in linear space.

 Car (DivX, Mpeg) Crash test (DivX, Mpeg) Office toy (DivX, Mpeg) Tree with 127 bodies and joints (DivX, Mpeg) Walker (DivX, Mpeg) Â

Jan Bender and Alfred Schmitt, Constraint-based collision and contact handling using impulses, In Proceedings of the 19th international conference on computer animation & social agents, 2006

Â

# Abstract:

In this paper a new method for handling collisions and permanent contacts between rigid bodies is presented. Constraint-based methods for computing contact forces with friction provide a high degree of accuracy. The computation is often transformed into an optimization problem and solved with techniques like linear or quadratic programming. Impulse-based methods compute impulses to prevent colliding bodies from interpenetrating. The determination of these impulses is simple and fast. The impulse-based methods are very efficient but they are less accurate than the constraint-based methods because they resolve only one contact between two colliding bodies at the same time. The presented method uses a constraint-based approach. It can handle multiple contacts between two colliding bodies at the same time. For every collision and contact a non-penetration constraint is defined. These constraints are satisfied by iteratively computing impulses. In the same iteration loop impulses for dynamic and static friction are determined. The new method provides the accuracy of a constraint-based method and is efficient and easy to implement like an impulse-based one.