Physics Engine Permissive Rigid Body Penetration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If the physics engine corrects all penetrations in real-time, then simulation accuracy is improved, but processing time and computational burden increase
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.
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.
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
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.
Data Source
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.


