Contact
This site is managed by me, Christopher Batty, a CS prof at the University of Waterloo.
You can reach me by
Email or via Mastodon, or look me up on the Web.-
Recent Posts
- Surface chamfering for robust tetrahedral meshing
- Physics-inspired procedural texturing of extremely deformable surfaces
- Floating-Point Robustness in Parametric Surface Continuous Collision Detection: From Algorithm to Benchmarking
- Fast Sparse Matrix Permutation for Mesh-Based Direct Solvers
- Better Bending: Analysis, Construction and Verification of DiscreteBending Models for Kirchhoff-Love Shells
Recent Collections
Researchers
- Adam Bargteil
- Afonso Paiva
- Albert Chern
- Alec Jacobson
- Alexandre Mercier-Aubin
- Alexandre Mercier-Aubin
- Alexey Stomakhin
- Andreas Kolb
- Andrew Selle
- Baoquan Chen
- Barbara Solenthaler
- Bedrich Benes
- Ben Jones
- Bernhard Thomaszewski
- Bin Wang
- Bo Ren
- Bo Zhu
- Breannan Smith
- Byungmoon Kim
- Camille Schreck
- Cem Yuksel
- Chang-Hun Kim
- Changxi Zheng
- Chenfanfu Jiang
- Chenfeng Li
- Chris Wojtan
- Christer Ericson / realtimecollision.net
- Christian Hafner
- Christopher Batty
- Craig Schroeder
- Dan Casas
- Daniele Panozzo
- Danny Kaufman
- David Hyde
- David I.W. Levin
- Demetri Terzopoulos
- Denis Zorin
- Derek Nowrouzezahrai
- Dinesh Manocha
- Dinesh Pai
- Dominik L. Michels
- Doug James
- Eftychios Sifakis
- Egor Larionov
- Eitan Grinspun
- Enhua Wu
- Eric Paquette
- Etienne Vouga
- Fabrice Neyret
- Fernando de Goes
- Florence Bertails
- Francois Faure
- Gilles Daviet
- Greg Turk
- Guillaume Cordonnier
- Huamin Wang
- Hyeong Seok Ko
- Insung Ihm
- Jan Bender
- Jarek Rossignac
- Jernej Barbic
- Jerry Tessendorf
- Jessica Hodgins
- Jin Huang
- Jiong Chen
- John Keyser
- Jonathan Cohen
- Jonathan Shewchuk
- Jos Stam
- Joseph Teran
- Ken Museth
- Kenny Erleben
- Kiwon Um
- Kui Wu
- Ladislav Kavan
- Lei Lan
- Li Sheng
- Marco Fratarcangeli
- Marie-Paule Cani
- Mario Botsch
- Mark Pauly
- Mark Sussman
- Markus Gross
- Mathieu Desbrun
- Matthias Müller-Fischer
- Matthias Teschner
- Max Wardetzky
- Melina Skouras
- Mengyu Chu
- Miguel Otaduy
- Miles Macklin
- Min Tang
- Minchen Li
- Ming Gao
- Ming Lin
- Mirela Ben-Chen
- Mridul Aanjaneya
- Nadia Magnenat-Thalmann
- Nils Thuerey
- Nobuyuki Umetani
- Nuttapong Chentanez
- Paul Kry
- Pete Shirley
- Peter Schröder
- Peter Yichen Chen
- Philip Dutre
- Rahul Narain
- Raymond Yun Fei
- Ron Fedkiw
- Rook Bridson
- Ryoichi Ando
- Sheldon Andrews
- Shi-Min Hu
- Shinjiro Sueda
- Shiying Xiong
- Soren Pirk
- Stefan Jeschke
- Stelian Coros
- Stephanie Wang
- Sunil Hadap
- Tae-Yong Kim
- Takahiro Harada
- Takashi Kanai
- Tamar Shinar
- Tao Du
- Ted Kim
- Teseo Schneider
- Tetsuya Takahashi
- Tiantian Liu
- Timothy Langlois
- Tomoyuki Nishita
- Toshiya Hachisuka
- Tuur Stuyck
- Ulrich Pinkall
- Vinicius C. Azevedo
- Wei Li
- Weiwei Xu
- Wojtek Palubicki
- Xiaokun Wang
- Xiaopei Liu
- Xiaowei He
- Xifeng Gao
- Xubo Yang
- Ye Zhao
- Yin Yang
- Yiying Tong
- Yizhou Yu
- Yonghao Yue
- Yoshinori Dobashi
- Young J. Kim
- Yun (Raymond) Fei
- Zherong Pan
- Zoran Popovic
Software and Companies
- Algoryx Simulation AB
- Blender
- Box2D
- Bullet
- Chipmunk Physics
- CMLabs
- DART toolkit
- Erwin Coumans / Bulletphysics
- FIFTY2 / PreonLab
- FumeFX (Sitni Sati)
- Havok
- Houdini (by SideFX)
- JangaFX (LiquiGen / EmberGen)
- MantaFlow
- Maya Bifrost
- Numerion Software (Carbon)
- NVIDIA Flex
- Open Dynamics Engine
- openSourceVFX.org
- Phoenix FD (Chaos Group)
- Position-Based Dynamics library
- Pulldownit
- RealFlow (NextLimit)
- SCISIM (rigid bodies)
- SOFA Framework
- SPlisHSPlasH – SPH framework
- Syflex
- Vega FEM Library
- Vital Mechanics
- X-Particles (Insydium)
Archives
- June 2026
- May 2026
- August 2025
- July 2025
- June 2025
- May 2025
- February 2025
- January 2025
- December 2024
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- January 2023
- December 2022
- October 2022
- September 2022
- August 2022
- June 2022
- May 2022
- April 2022
- March 2022
- January 2022
- December 2021
- October 2021
- September 2021
- August 2021
- June 2021
- May 2021
- April 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- December 2016
- October 2016
- September 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- March 2014
- February 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- October 2011
- September 2011
- August 2011
- July 2011
- May 2011
- April 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- February 2009
- January 2009
- December 2008
- October 2008
- September 2008
- August 2008
- June 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
A Parallel SPH Implementation on Multi-core CPUs
This paper presents a parallel framework for simulating fluids with the Smoothed Particle Hydrodynamics (SPH) method. For low computational costs per simulation step, efficient parallel neighborhood queries are proposed and compared. To further minimize the computing time for entire simulation sequences, strategies for maximizing the time step and the respective consequences for parallel implementations are investigated. The presented experiments illustrate that the parallel framework can efficiently compute large numbers of time steps for large scenarios. In the context of neighborhood queries, the paper presents optimizations for two efficient instances of uniform grids, i. e. spatial hashing and index sort. For implementations on parallel architectures with shared memory, the paper discusses techniques with improved cache-hit rate and reduced memory transfer. The performance of the parallel implementations of both optimized data structures is compared. The proposed solutions focus on systems with multiple CPUs. Benefits and challenges of potential GPU implementations are only briefly discussed.
Posted in Uncategorized
Comments Off on A Parallel SPH Implementation on Multi-core CPUs
Scalable Fluid Simulation using Anisotropic Turbulence Particles
It is usually difficult to resolve the fine details of turbulent flows, especially when targeting real-time applications. We present a novel, scalable turbulence method that uses a realistic energy model and an efficient particle representation that allows for the accurate and robust simulation of small-scale detail. We compute transport of turbulent energy using a complete two-equation k–e model with accurate production terms that allows us to capture anisotropic turbulence effects, which integrate smoothly into the base flow. We only require a very low grid resolution to resolve the underlying base flow. As we offload complexity from the fluid solver to the particle system, we can control the detail of the simulation easily by adjusting the number of particles, without changing the large scale behavior. In addition, no computations are wasted on areas that are not visible. We demonstrate that due to the design of our algorithm it is highly suitable for massively parallel architectures, and is able to generate detailed turbulent simulations with millions of particles at high framerates.
Scalable Fluid Simulation using Anisotropic Turbulence Particles
Posted in Uncategorized
Comments Off on Scalable Fluid Simulation using Anisotropic Turbulence Particles
Animation Wrinkling: Augmenting Coarse Cloth Simulations with Realistic-Looking Wrinkles
Moving garments and other cloth objects exhibit dynamic, complex wrinkles. Generating such wrinkles in a virtual environment currently requires either a time-consuming manual design process, or a computationally expensive simulation, often combined with accurate parameter-tuning requiring specialized animator skills. Our work presents an alternative approach for wrinkle generation which combines coarse cloth animation with a post-processing step for efficient generation of realistic-looking fine dynamic wrinkles. Our method uses the stretch tensor of the coarse animation output as a guide for wrinkle placement. To ensure temporal coherence, the placement mechanism uses a space-time approach allowing not only for smooth wrinkle appearance and disappearance, but also for wrinkle motion, splitting, and merging over time. Our method generates believable wrinkle geometry using specialized curve-based implicit deformers. The method is fully automatic and has a single user control parameter that enables the user to mimic different fabrics.
Animation Wrinkling: Augmenting Coarse Cloth Simulations with Realistic-Looking Wrinkles
Posted in Uncategorized
Comments Off on Animation Wrinkling: Augmenting Coarse Cloth Simulations with Realistic-Looking Wrinkles
Real-Time Collision Culling of a Million Bodies on Graphics Processing Units
We cull collisions between very large numbers of moving bodies using graphics processing units (GPUs). To perform massively parallel sweep-and-prune (SaP), we mitigate the great density of intervals along the axis of sweep by using principal component analysis to choose the best sweep direction, together with spatial subdivisions to further reduce the number of false positive overlaps. Our algorithm implemented entirely on GPUs using the CUDA framework can handle a million moving objects at interactive rates. As application of our algorithm, we demonstrate the real-time simulation of very large numbers of particles and rigid-body dynamics.
Real-Time Collision Culling of a Million Bodies on Graphics Processing Units
Posted in Uncategorized
Comments Off on Real-Time Collision Culling of a Million Bodies on Graphics Processing Units
Stable Inverse Dynamic Curves
2d animation is a traditional but fascinating domain that has recently regained popularity both in animated movies and video games. This paper introduces a method for automatically converting a smooth sketched curve into a 2d dynamic curve at stable equilibrium under gravity. The curve can then be physically animated to produce secondary motions in 2d animations or simple video games. Our approach proceeds in two steps. We first present a new technique to fit a smooth piecewise circular arcs curve to a sketched curve. Then we show how to compute the physical parameters of a dynamic rod model (super-circle) so that its stable rest shape under gravity exactly matches the fitted circular arcs curve. We demonstrate the interactivity and controllability of our approach on various examples where a user can intuitively setup efficient and precise 2d animations by specifying the input geometry.
Posted in Uncategorized
Comments Off on Stable Inverse Dynamic Curves
Multi-Phase Fluid Simulation Using Regional Level Sets
We address the problem of Multi-Phase (or Many-Phase) Fluid simulations. We propose to use the regional level set (RLS) that can handle a large number of regions and materials, and hence, is appropriate for simulations of many immiscible materials. Towards this goal, we improve the interpolation of the RLS, and develop the regional level set graph (RLSG), which registers connected components and their contacts, and tracks their properties such as region volumes, film life times, and film material types, as regions evolve, merge, split, or are squeezed into films. Using RLSG’s tracking feature, we generate particles from tiny regions or rupturing films.
Posted in Uncategorized
Comments Off on Multi-Phase Fluid Simulation Using Regional Level Sets
Creating and Preserving Vortical Details in SPH Fluid
We present a new method to create and preserve the turbulent details generated around moving objects in SPH fluid. In our approach, a high-resolution overlapping grid is bounded to each object and translates with the object. The turbulence formation is modeled by resolving the local flow around objects using a hybrid SPH-FLIP method. Then these vortical details are carried on SPH particles flowing through the local region and preserved in the global field in a synthetic way. Our method provides a physically plausible way to model the turbulent details around both rigid and deformable objects in SPH fluid, and can efficiently produce animations of complex gaseous phenomena with rich visual details.
Posted in Uncategorized
Comments Off on Creating and Preserving Vortical Details in SPH Fluid
Multi-Resolution Isotropic Strain Limiting
In this paper we describe a fast strain-limiting method that allows stiff, incompliant materials to be simulated efficiently. Unlike prior approaches, which act on springs or individual strain components, this method acts on the strain tensors in a coordinate-invariant fashion allowing isotropic behavior. Our method applies to both two- and three-dimensional strains, and only requires computing the singular value decomposition of the deformation gradient, either a small 2×2 or 3×3 matrix, for each element. We demonstrate its use with triangular and tetrahedral linear-basis elements. For triangulated surfaces in three-dimensional space, we also describe a complementary edge-angle-limiting method to limit out-of-plane bending. All of the limits are enforced through an iterative, non-linear, Gauss-Seidel-like constraint procedure. To accelerate convergence, we propose a novel multi-resolution algorithm that enforces fitted limits at each level of a non-conforming hierarchy. Compared with other constraint-based techniques, our isotropic multi-resolution strain-limiting method is straightforward to implement, efficient to use, and applicable to a wide range of shell and solid materials.
Posted in Uncategorized
Comments Off on Multi-Resolution Isotropic Strain Limiting
SIGGRAPH Asia 2010
Kesen’s SIGGRAPH Asia page is here.
Physics papers…
- Piles of Objects
- Free-Flowing Granular Materials with Two-Way Solid Coupling
- Multi-Resolution Isotropic Strain Limiting
- Scalable Fluid Simulation using Anisotropic Turbulence Particles
- Multi-Phase Fluid Simulation Using Regional Level Sets
- Stable Inverse Dynamic Curves
- Animation Wrinkling: Augmenting Coarse Cloth Simulations With Realistic-Looking Wrinkles
- Real-Time Collision Culling of a Million Bodies on Graphics Processing Units
- Detail-Preserving Fully Eulerian Interface Tracking Framework
Posted in Uncategorized
3 Comments
Creature Control in a Fluid Environment
In this paper, we propose a method designed to allow creatures to actively respond to a fluid environment. We explore various objective functions in order to determine ways to direct the behavior of our creatures. Our proposed method works in conjunction with generalized body forces as well as both one-way and two-way coupled fluid forces. As one might imagine, interesting behaviors can be derived from minimizing and maximizing both drag and lift as well as minimizing the effort that a creature’s internal actuators exert. A major application for our work is the automatic specification of secondary motions, for example, certain joints can be animated while others are automatically solved for in order to satisfy the objective function.
Posted in Uncategorized
Comments Off on Creature Control in a Fluid Environment