94 research outputs found

    Anderson acceleration for geometry optimization and physics simulation

    Get PDF
    Many computer graphics problems require computing geometric shapes subject to certain constraints. This often results in non-linear and non-convex optimization problems with globally coupled variables, which pose great challenge for interactive applications. Local-global solvers developed in recent years can quickly compute an approximate solution to such problems, making them an attractive choice for applications that prioritize efficiency over accuracy. However, these solvers suffer from lower convergence rate, and may take a long time to compute an accurate result. In this paper, we propose a simple and effective technique to accelerate the convergence of such solvers. By treating each local-global step as a fixed-point iteration, we apply Anderson acceleration, a well-established technique for fixed-point solvers, to speed up the convergence of a local-global solver. To address the stability issue of classical Anderson acceleration, we propose a simple strategy to guarantee the decrease of target energy and ensure its global convergence. In addition, we analyze the connection between Anderson acceleration and quasi-Newton methods, and show that the canonical choice of its mixing parameter is suitable for accelerating local-global solvers. Moreover, our technique is effective beyond classical local-global solvers, and can be applied to iterative methods with a common structure. We evaluate the performance of our technique on a variety of geometry optimization and physics simulation problems. Our approach significantly reduces the number of iterations required to compute an accurate result, with only a slight increase of computational cost per iteration. Its simplicity and effectiveness makes it a promising tool for accelerating existing algorithms as well as designing efficient new algorithms

    Parallel iterative solvers for real-time elastic deformations

    Get PDF
    Physics-based animation of elastic materials allows to simulate dynamic deformable objects such as fabrics, human tissue, hair, etc. Due to their complex inner mechanical behaviour, it is difficult to replicate their motions interactively and accurately at the same time. This course introduces students and practitioners to several parallel iterative techniques to tackle this problem and achieve elastic deformations in real-time. We focus on techniques for applications such as video games and interactive design, with\ua0fixed and small hard time budgets\ua0available for physically-based animation, and where responsiveness and stability are often more important than accuracy, as long as the results are believable. The course focuses on solvers able to fully exploit the computational capabilities of modern GPU architectures, effectively solving systems of hundreds of thousands of nonlinear equations in a matter of few milliseconds. The course introduces the basic concepts concerning physics-based elastic objects, and provide an overview of the different types of numerical solvers available in the literature. Then, we show how some variants of traditional solvers can address real-time animation and assess them in terms of accuracy, robustness and performance. Practical examples are provided throughout the course, in particular how to apply the depicted solvers to Projective Dynamics and Position-based Dynamics, two recent and popular physics models for elastic materials

    Position-Based Multi-Agent Dynamics for Real-Time Crowd Simulation (MiG paper)

    Full text link
    Exploiting the efficiency and stability of Position-Based Dynamics (PBD), we introduce a novel crowd simulation method that runs at interactive rates for hundreds of thousands of agents. Our method enables the detailed modeling of per-agent behavior in a Lagrangian formulation. We model short-range and long-range collision avoidance to simulate both sparse and dense crowds. On the particles representing agents, we formulate a set of positional constraints that can be readily integrated into a standard PBD solver. We augment the tentative particle motions with planning velocities to determine the preferred velocities of agents, and project the positions onto the constraint manifold to eliminate colliding configurations. The local short-range interaction is represented with collision and frictional contact between agents, as in the discrete simulation of granular materials. We incorporate a cohesion model for modeling collective behaviors and propose a new constraint for dealing with potential future collisions. Our new method is suitable for use in interactive games.Comment: 9 page

    Position based constraint enforcement in game physics

    Get PDF
    La simulación de sistemas mecánicos para videojuegos y otras aplicaciones interactivas impone restricciones importantes en cuanto a estabilidad, flexibilidad en las escenas y complejidad computacional. En los últimos años han aparecido varias estrategias para la resolución de sistemas mecánicos con restricciones. Algunas de las más populares en el desarrollo de videojuegos usan solamente la posición de las partículas y un algoritmo de proyección sobre la variedad definida por las restricciones, evitando la manipulación de la primera derivada del sistema (las velocidades). De esta forma se consigue una gran estabilidad numérica. El principal defecto de estos métodos es su dependencia en parámetros sin significado físico, por lo que es difícil simular materiales concretos. En este trabajo explicamos los susodichos métodos y nos centramos en la simulación de materiales elásticos, tomando como referencia otro modelo ampliamente estudiado que depende de parámetros físicos reales. Proponemos un algoritmo para ajustar los parámetros no físicos del algoritmo basado en posiciones y probamos este procedimiento en un cubo elástico. La extrapolación a otros objetos más complejos no debería resultar muy difícil. Como última contribución relacionamos estos algoritmos con algunos métodos numéricos clásicos y resaltamos las principales hipótesis que se asumen en el proceso. Esta parte, aunque no es muy robusta porque no llegamos a alcanzar un resultado cerrado, puede ser útil como un primer paso para trabajos futuros que involucren el tema de la convergencia de este tipo de métodos.Mechanical systems simulation for video games and other interactive applications imposes important restrictions as regards to stability, flexibility in the scenes and computational complexity. In the last few years several resolution strategies for mechanical systems with constraints have appeared. Some of the most popular ones in the development of video games use only the positions of the particles and a projection algorithm over the manifold defi ned by the constraints, avoiding manipulation of the system's fi rst derivative (velocities). In this way, a great numerical stability is obtained. The main drawback of these methods is its dependence in non-physical parameters, so is hard to simulate a speci c material. In this work we explain all the aforementioned methods and focus in the simulation of elastic materials taking as reference another model deeply studied that depends on real, physical parameters. We propose an algorithm to fit the non-physical parameters of the position based algorithm and test this procedure in a elastic cube. An extrapolation to other, more complex objects should not be dificult. As a last contribution we relate these algorithms with some classical numerical methods and point out which are the main hypothesis assumed in the process. This part, although is not very robust since we have not been able to reach a closed result, can be useful as a fi rst step for future works dealing with the convergence topic of this kind of methods

    DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact

    Full text link
    Cloth simulation has wide applications in computer animation, garment design, and robot-assisted dressing. This work presents a differentiable cloth simulator whose additional gradient information facilitates cloth-related applications. Our differentiable simulator extends a state-of-the-art cloth simulator based on Projective Dynamics (PD) and with dry frictional contact. We draw inspiration from previous work to propose a fast and novel method for deriving gradients in PD-based cloth simulation with dry frictional contact. Furthermore, we conduct a comprehensive analysis and evaluation of the usefulness of gradients in contact-rich cloth simulation. Finally, we demonstrate the efficacy of our simulator in a number of downstream applications, including system identification, trajectory optimization for assisted dressing, closed-loop control, inverse design, and real-to-sim transfer. We observe a substantial speedup obtained from using our gradient information in solving most of these applications

    Towards Real-Time Simulation Of Hyperelastic Materials

    Get PDF
    We propose a new method for physics-based simulation supporting many different types of hyperelastic materials from mass-spring systems to three-dimensional finite element models, pushing the performance of the simulation towards real-time. Fast simulation methods such as Position Based Dynamics exist, but support only limited selection of materials; even classical materials such as corotated linear elasticity and Neo-Hookean elasticity are not supported. Simulation of these types of materials currently relies on Newton\u27s method, which is slow, even with only one iteration per timestep. In this work, we start from simple material models such as mass-spring systems or as-rigid-as-possible materials. We express the widely used implicit Euler time integration as an energy minimization problem and introduce auxiliary projection variables as extra unknowns. After our reformulation, the minimization problem becomes linear in the node positions, while all the non-linear terms are isolated in individual elements. We then extend this idea to efficiently simulate a more general spatial discretization using finite element method. We show that our reformulation can be interpreted as a quasi-Newton method. This insight enables very efficient simulation of a large class of hyperelastic materials. The quasi-Newton interpretation also allows us to leverage ideas from numerical optimization. In particular, we show that our solver can be further accelerated using L-BFGS updates (Limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm). Our final method is typically more than ten times faster than one iteration of Newton\u27s method without compromising quality. In fact, our result is often more accurate than the result obtained with one iteration of Newton\u27s method. Our method is also easier to implement, implying reduced software development costs

    Accelerating ADMM for efficient simulation and optimization

    Get PDF
    The alternating direction method of multipliers (ADMM) is a popular approach for solving optimization problems that are potentially non-smooth and with hard constraints. It has been applied to various computer graphics applications, including physical simulation, geometry processing, and image processing. However, ADMM can take a long time to converge to a solution of high accuracy. Moreover, many computer graphics tasks involve non-convex optimization, and there is often no convergence guarantee for ADMM on such problems since it was originally designed for convex optimization. In this paper, we propose a method to speed up ADMM using Anderson acceleration, an established technique for accelerating fixed-point iterations. We show that in the general case, ADMM is a fixed-point iteration of the second primal variable and the dual variable, and Anderson acceleration can be directly applied. Additionally, when the problem has a separable target function and satisfies certain conditions, ADMM becomes a fixed-point iteration of only one variable, which further reduces the computational overhead of Anderson acceleration. Moreover, we analyze a particular non-convex problem structure that is common in computer graphics, and prove the convergence of ADMM on such problems under mild assumptions. We apply our acceleration technique on a variety of optimization problems in computer graphics, with notable improvement on their convergence speed

    Fast GPU-Based Two-Way Continuous Collision Handling

    Full text link
    Step-and-project is a popular way to simulate non-penetrated deformable bodies in physically-based animation. First integrating the system in time regardless of contacts and post resolving potential intersections practically strike a good balance between plausibility and efficiency. However, existing methods could be defective and unsafe when the time step is large, taking risks of failures or demands of repetitive collision testing and resolving that severely degrade performance. In this paper, we propose a novel two-way method for fast and reliable continuous collision handling. Our method launches the optimization at both ends of the intermediate time-integrated state and the previous intersection-free state, progressively generating a piecewise-linear path and finally reaching a feasible solution for the next time step. Technically, our method interleaves between a forward step and a backward step at a low cost, until the result is conditionally converged. Due to a set of unified volume-based contact constraints, our method can flexibly and reliably handle a variety of codimensional deformable bodies, including volumetric bodies, cloth, hair and sand. The experiments show that our method is safe, robust, physically faithful and numerically efficient, especially suitable for large deformations or large time steps
    corecore