Physics Engine Permissive Rigid Body Penetration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Physics engines face challenges in efficiently and accurately handling non-penetration constraints of rigid bodies in real-time simulations, leading to unwanted movements and computational inefficiencies, particularly when dealing with initial penetrations caused by geometry changes or imperfect iterative solving.

Innovation Solution

A physics engine with permissive penetration functionality that identifies initial penetrations and allows them to persist, while applying corrections only to additional penetrations, thereby reducing computational burden and maintaining simulation stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the physics engine applies bias or position change to correct all penetrations, then non-penetration constraints are enforced accurately, but computational resources are wasted and unwanted movements occur

Engineering Contradiction:
Improvenon-penetration constraint accuracyVSAvoidcomputational resource waste
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent segments the penetration correction process by distinguishing between initial penetrations (from prior frames) and additional penetrations (current frame only). The solver selectively applies correction only to additional penetrations, separating the handling of different penetration types to avoid unnecessary computational work on initial penetrations that will be resolved in subsequent frames.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial correction by not correcting all penetrations equally. Instead of applying bias or position change to every detected penetration, the solver applies correction only to the portion of penetration that occurred in the current frame (additional penetration), leaving initial penetrations uncorrected for this frame. This partial action reduces computational effort while maintaining sufficient accuracy.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the physics engine corrects all penetrations in real-time, then simulation accuracy is improved, but processing time and computational burden increase

Engineering Contradiction:
Improvesimulation accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action by tracking initial penetration distances from prior frames and using this information to identify which penetrations are additional versus initial. By preparing this distinction in advance during the collision detection phase, the solver can quickly determine which penetrations require correction without performing unnecessary calculations during the solving phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic adjustment of correction application based on the type of penetration detected. The solver dynamically determines whether to apply bias or position change based on whether the penetration is initial or additional, allowing the correction strategy to adapt to the specific situation rather than applying a static correction approach to all penetrations.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If the physics engine applies correction to initial penetrations, then non-penetration constraints are strictly enforced, but unwanted movements and instability occur during content creation

Engineering Contradiction:
Improvepenetration constraint enforcementVSAvoidsimulation stability
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent uses feedback by tracking the penetration distance from the prior frame and comparing it to the current penetration distance. This feedback mechanism allows the solver to identify additional penetrations (those exceeding the initial penetration distance) and apply correction only to those, while leaving initial penetrations alone to avoid causing unwanted movements or instability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11030363B2Physics engine with permissive rigid body penetration
Publication Date: 2021.06.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11030363B2 patent drawing
  • US11030363B2 patent drawing
  • US11030363B2 patent drawing

AI summary

A physics engine executed on a processor to simulate real-time rigid body dynamics of a simulated physical system with permissive penetration functionality is provided. The physics engine may be configured to iteratively loop through a collision detection phase, solving phase, updating phase, and display phase. When a penetration between a pair of bodies is due to an initial penetration from a prior collision detection phase, the physics engine may permit the initial penetration between the pair of objects during the current solving phase by not applying a bias or position change to correct for the initial penetration. Also the physics engine may be configured to detect geometry changes and modify the initial penetration distance accordingly.