# US 10,504,269 B2 · Inertial damping for enhanced simulation of elastic bodies

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,504,269 B2
- Document ID: US10504269B2
- Status: Granted
- Kind: B2
- Application number: 16/251,686
- Filed: 2019-01-18
- Published: 2019-05-23
- Granted: 2019-12-10
- Earliest claimed: 2016-09-27
- Assignees: Ziva Dynamics Inc.
- Applicants: Ziva Dynamics Inc.
- Inventors: Essex A. Edwards; Jernej Barbic
- Web page: https://patentgrep.com/patent/US10504269B2

## CPC

- G06T 13/40: of characters, e.g. humans, animals or virtual beings
- G06F 17/13: Differential equations (using digital differential analysers G06F7/64)
- G06T 5/70: Denoising; Smoothing
- G06T 7/251: {involving models}
- G06T 13/20: Three-dimensional [3D] animation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Inertial damping is used to improve the simulation of deformable bodies for physics-based animation. Using this technique, undesirable dynamics of deformable bodies can be suppressed or completely removed while retaining other, more desirable dynamics. An inertial damping module selectively applies inertial damping to a subset of the dynamic modes of a simulated system (e.g., by using the quasi-static solution for these modes or reducing their magnitude). Thus, when the dynamics are simulated, the interactions between modes can be retained while the undesirable effects of the damped modes are reduced or eliminated. The results of the simulation are used to drive a physics-based animation.

## Claims

### Claim 1

A computer-implemented method of simulating a system including a deformable body for use in physics-based animation, the method comprising:
accessing simulation data describing the system to be simulated, the system having a plurality of dynamic modes of motion, each dynamic mode corresponding to a particular type of motion;
determining a current state of the system based on the simulation data;
determining a future state of the system from the current state, determining the future state comprising:
identifying a subset of the dynamic modes of motion for damping of the system;
applying inertial damping to reduce a magnitude of the subset of the dynamic modes of motion of the system, wherein the inertial damping is defined by a differential-algebraic system of equations in which a displacement state, u, is augmented with an inertial damping state, q; and
simulating the system based on the dynamic modes of motion to determine the future state; and
providing the future state of the system for use in generating a physics-based animation of the system.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the inertial damping is applied using an inertial damping matrix, P, having non-orthogonal columns spanning the subset of dynamic modes of motion.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the inertial damping matrix is used to define a projected mass matrix, {circumflex over (M)}=(I−P(PTP)−1PT)TM(I−P(PTP)−1PT), where I is the identity matrix.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein algebraic manipulation is applied to obtain the projected mass matrix in a sparse form.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the inertial damping is applied using an inertial damping matrix, P, and the differential-algebraic system of equations include a constraint ensuring elastic forces are orthogonal to a span of the inertial damping matrix.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the differential-algebraic system of equations include a constraint ensuring the inertial damping state projects to the displacement state.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the inertial damping uses a partition-of-unity approach in which two or more separate portions of the deformable body are independently damped.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the partition-of-unity approach includes using smoothing to create overlapping smoothed weights.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the inertial damping includes using modal analysis to identify low-energy modes and applying inertial damping to the low energy modes.

### Claim 10

A non-transitory computer-readable medium storing instructions that, when executed, cause a computing device to perform operations comprising:
accessing simulation data describing a system to be simulated, the system including a deformable body and having a plurality of dynamic modes of motion, each dynamic mode corresponding to a particular type of motion;
determining a current state of the system based on the simulation data;
determining a future state of the system from the current state, determining the future state comprising:
identifying a subset of the dynamic modes of motion for damping of the system;
applying inertial damping to reduce a magnitude of the subset of the dynamic modes of motion of the system, wherein the inertial damping is defined by a differential-algebraic system of equations in which a displacement state, u, is augmented with an inertial damping state, q; and
simulating the system based on the dynamic modes of motion to determine the future state; and
providing the future state of the system for use in generating a physics-based animation of the system.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the inertial damping is applied using an inertial damping matrix, P, having non-orthogonal columns spanning the subset of dynamic modes of motion.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the inertial damping matrix is used to define a projected mass matrix, {circumflex over (M)}=(I−P(PTP)−1PT)TM(I−P(PTP)−1PT), where I is the identity matrix.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein algebraic manipulation is applied to obtain the projected mass matrix in a sparse form.

### Claim 14 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the inertial damping is applied using an inertial damping matrix, P, and the differential-algebraic system of equations include a constraint ensuring elastic forces are orthogonal to a span of the inertial damping matrix.

### Claim 15 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the differential-algebraic system of equations include a constraint ensuring the inertial damping state projects to the displacement state.

### Claim 16 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the inertial damping uses a partition-of-unity approach in which two or more separate portions of the deformable body are independently damped.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the partition-of-unity approach includes using smoothing to create overlapping smoothed weights.

### Claim 18 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the inertial damping includes using modal analysis to identify low-energy modes and applying inertial damping to the low energy modes.
