Minimization Function for Friction in Physics Engine Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Physics engines with real-time iterative rigid body dynamics solvers face challenges in efficiently and accurately finding approximate solutions, particularly in handling intermediate forces that can lead to artifacts and unintended behavior, such as sliding or rolling of rigid bodies, due to intermediate velocities that are not representative of actual states.
Innovation Solution
A stateless physics engine is implemented with a minimization function for friction solving, which calculates friction velocities based on stored initial velocities and intermediate solver velocities, applying a friction force or impulse to mitigate these issues without introducing extra states, thereby reducing memory consumption and ensuring determinism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If intermediate solver velocities are used for friction calculations, then friction forces can be applied during iterative solving, but artifacts and unintended behavior occur due to velocities not representing actual states
Solution Approach 1:
The patent stores initial velocities before iterative solving begins, making them available for friction calculations throughout the solving process. This preliminary action allows friction to be computed using reliable initial velocity data rather than intermediate solver velocities that do not represent actual physical states, thereby maintaining simulation accuracy while enabling real-time computation.
2Measurement precision
If state data is stored for friction calculations, then friction accuracy improves, but memory consumption increases
Solution Approach 1:
The patent extracts only the essential velocity data (initial velocities) needed for friction calculations, storing minimal state information rather than comprehensive body state data. This selective extraction maintains friction calculation accuracy while keeping memory consumption low, avoiding the need to store extensive state information.
3Productivity
If iterative solving is used to find approximate solutions, then computational efficiency improves, but intermediate forces cause artifacts and instability
Solution Approach 1:
The patent implements feedback by using stored initial velocities to guide friction calculations throughout the iterative solving process. This feedback mechanism ensures that friction forces remain consistent with the actual physical state rather than intermediate solver states, preventing artifacts and maintaining simulation stability while allowing iterative solving to proceed efficiently.
Data Source
AI summary
A physics engine executed on a processor to simulate real-time rigid body dynamics of a simulated physical system with a minimizing function between initial velocities and intermediate solver velocities is provided. The physics engine may be configured to iteratively loop through a collision detection phase, an iterative solving phase, updating phase, and display phase. The physics engine may be configured to store initial velocities for colliding pairs of bodies. The physics engine may be further configured to determine intermediate solver velocities for the colliding pairs of bodies based on accumulated results of constraint solving for each pair of bodies. The physics engine may be further configured to calculate friction velocities for that colliding pair of bodies based on the stored initial velocities and the intermediate solver velocities using a minimization function, and apply a friction force or impulse based on the calculated friction velocities.


