Patents by Inventor Milan Simic
Milan Simic has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11875094Abstract: 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.Type: GrantFiled: September 19, 2019Date of Patent: January 16, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Petar Mitrovic, Eoin Mcloughlin, Maxwell Simon Abernethy, Milan Simic, Milos Jovanovic, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Rory Mullane, Janos Benk
-
Patent number: 11615222Abstract: A physics engine executed on a processor to simulate rigid body dynamics of a simulated physical system using an inertia scaling function 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 further be configured to determine a neighboring body weighting value for one or more of the plurality of bodies, and determine an inertia scaling value for the one or more of the plurality of bodies based on the neighboring body weighting value for that body. The physics engine may further be configured to scale an inertia value for a body of that colliding pair of bodies based on the inertia scaling value for the iterative solving phase.Type: GrantFiled: September 19, 2019Date of Patent: March 28, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Petar Mitrovic, Eoin McLoughlin, Maxwell Simon Abernethy, Milan Simic, Milos Jovanovic, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Rory Mullane, Janos Benk
-
Patent number: 11580685Abstract: A computing device is provided, comprising a processor configured to execute a physics engine. The physics engine is configured to, during narrowphase collision detection of a collision detection phase, identify a set of convex polyhedron pairs, each including a first convex polyhedron from a first rigid body and a second convex polyhedron from a second rigid body. The physics engine is further configured to, for each convex polyhedron pair, determine a separating plane. The physics engine is further configured to perform neighbor welding on pair combinations of the convex polyhedron pairs during the narrowphase collision detection to thereby modify the separating planes of at least a subset of the convex polyhedron pairs. The physics engine is further configured to determine collision manifolds for the convex polyhedron pairs, including for the subset of convex polyhedron pairs having the modified separating planes.Type: GrantFiled: March 12, 2021Date of Patent: February 14, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Petar Mitrovic, Maxwell Simon Abernethy, Alexander Sven Fichtner, David Davidovic, Eoin McLoughlin, Janos Benk, Michael Alexander Buschbeck, Milan Simic, Milos Jovanovic, Nikola Nikolic, Norbert Nemec, Oliver M Strunk, Pavle Josipovic, Pavle Popovic, Rory Mullane
-
Publication number: 20220180589Abstract: A computing device is provided, comprising a processor configured to execute a physics engine. The physics engine is configured to, during narrowphase collision detection of a collision detection phase, identify a set of convex polyhedron pairs, each including a first convex polyhedron from a first rigid body and a second convex polyhedron from a second rigid body. The physics engine is further configured to, for each convex polyhedron pair, determine a separating plane. The physics engine is further configured to perform neighbor welding on pair combinations of the convex polyhedron pairs during the narrowphase collision detection to thereby modify the separating planes of at least a subset of the convex polyhedron pairs. The physics engine is further configured to determine collision manifolds for the convex polyhedron pairs, including for the subset of convex polyhedron pairs having the modified separating planes.Type: ApplicationFiled: March 12, 2021Publication date: June 9, 2022Applicant: Microsoft Technology Licensing, LLCInventors: Petar MITROVIC, Maxwell Simon ABERNETHY, Alexander Sven FICHTNER, David DAVIDOVIC, Eoin MCLOUGHLIN, Janos BENK, Michael Alexander BUSCHBECK, Milan SIMIC, Milos JOVANOVIC, Nikola NIKOLIC, Norbert NEMEC, Oliver M STRUNK, Pavle JOSIPOVIC, Pavle POPOVIC, Rory MULLANE
-
Patent number: 11176288Abstract: A computing device, including a processor configured to execute a physics engine. At a first time step, the physics engine may, for a first body located at a first position, determine a non-collision region bounded on a side by a separation plane such that when the first body is within the non-collision region, the first body does not collide with a second body. The physics engine may apply lossy compression to the separation plane to generate a compressed separation plane, and may determine a first conservative distance vector between the first body and the compressed separation plane. At a second time step, the physics engine may move the first body to a second position, determine a second conservative distance vector between the first body and the compressed separation plane, and translate the compressed separation plane based on the second position and the second conservative distance vector.Type: GrantFiled: January 12, 2018Date of Patent: November 16, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Pavle Josipovic, Eoin McLoughlin, Maxwell Simon Abernethy, Milan Simic, Nathanael Presson, Nikola Nikolic, Oliver M. Strunk, Petar Mitrovic, Rory Mullane
-
Publication number: 20210089628Abstract: 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.Type: ApplicationFiled: September 19, 2019Publication date: March 25, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Petar MITROVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Milos JOVANOVIC, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Rory MULLANE, Janos BENK
-
Publication number: 20210089629Abstract: A physics engine executed on a processor to simulate rigid body dynamics of a simulated physical system using an inertia scaling function 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 further be configured to determine a neighboring body weighting value for one or more of the plurality of bodies, and determine an inertia scaling value for the one or more of the plurality of bodies based on the neighboring body weighting value for that body. The physics engine may further be configured to scale an inertia value for a body of that colliding pair of bodies based on the inertia scaling value for the iterative solving phase.Type: ApplicationFiled: September 19, 2019Publication date: March 25, 2021Applicant: Microsoft Technology Licensing, LLCInventors: Petar MITROVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Milos JOVANOVIC, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Rory MULLANE, Janos BENK
-
Patent number: 10885242Abstract: A computing device, including a processor configured to execute a physics engine. The physics engine may, for a first body having a first position and a velocity vector, determine that a second position along the velocity vector is located outside a first non-collision region for the first body and a second body. The physics engine may determine a safe position along the velocity vector at which the first body would lie tangent to a first separation plane. The physics engine may determine an advanced position along the velocity vector between the safe position and the second position, and may determine an advanced separation plane. The advanced separation plane may have an advanced normal vector based on the advanced position. The physics engine may move the first body to a new position based on the velocity vector and the advanced separation plane.Type: GrantFiled: January 12, 2018Date of Patent: January 5, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Milan Simic, Eoin McLoughlin, Maxwell Simon Abernethy, Nathanael Presson, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Petar Mitrovic, Rory Mullane
-
Publication number: 20190065641Abstract: A computing device, including a processor configured to execute a physics engine. At a first time step, the physics engine may, for a first body located at a first position, determine a non-collision region bounded on a side by a separation plane such that when the first body is within the non-collision region, the first body does not collide with a second body. The physics engine may apply lossy compression to the separation plane to generate a compressed separation plane, and may determine a first conservative distance vector between the first body and the compressed separation plane. At a second time step, the physics engine may move the first body to a second position, determine a second conservative distance vector between the first body and the compressed separation plane, and translate the compressed separation plane based on the second position and the second conservative distance vector.Type: ApplicationFiled: January 12, 2018Publication date: February 28, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Pavle JOSIPOVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Nathanael PRESSON, Nikola NIKOLIC, Oliver M. STRUNK, Petar MITROVIC, Rory MULLANE
-
Publication number: 20190065642Abstract: A computing device, including a processor configured to execute a physics engine. The physics engine may, for a first body having a first position and a velocity vector, determine that a second position along the velocity vector is located outside a first non-collision region for the first body and a second body. The physics engine may determine a safe position along the velocity vector at which the first body would lie tangent to a first separation plane. The physics engine may determine an advanced position along the velocity vector between the safe position and the second position, and may determine an advanced separation plane. The advanced separation plane may have an advanced normal vector based on the advanced position. The physics engine may move the first body to a new position based on the velocity vector and the advanced separation plane.Type: ApplicationFiled: January 12, 2018Publication date: February 28, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Milan SIMIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Nathanael PRESSON, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Petar MITROVIC, Rory MULLANE
-
Patent number: 7234170Abstract: An ambidextrous protective hand covering monolithically formed from a heat/cold resistant flexible silicone material, the opposing interior and exterior surfaces of which each include a plurality of integrally-formed raised nodules that are positionally off-set relative to one another with non-aligning transverse axes. The positionally off-set exterior and interior nodules act to oppose thermal conductivity and provide an effective thermal barrier so as to protect the hand and wrist during handling of articles of differing or uncomfortable temperatures. Optionally, the formulation of the heat/cold resistant material may be chemically enhanced to provide a thermal luminescent change in color of the hand protective covering upon detection of excessive hot/cold temperatures.Type: GrantFiled: November 2, 2004Date of Patent: June 26, 2007Assignee: Quadion CorporationInventor: Milan Simic
-
Publication number: 20050177923Abstract: An ambidextrous protective hand covering monolithically formed from a heat/cold resistant flexible silicone material, the opposing interior and exterior surfaces of which each include a plurality of integrally-formed raised nodules that are positionally off-set relative to one another with non-aligning transverse axes. The positionally off-set exterior and interior nodules act to oppose thermal conductivity and provide an effective thermal barrier so as to protect the hand and wrist during handling of articles of differing or uncomfortable temperatures. Optionally, the formulation of the heat/cold resistant material may be chemically enhanced to provide a thermal luminescent change in color of the hand protective covering upon detection of excessive hot/cold temperatures.Type: ApplicationFiled: November 2, 2004Publication date: August 18, 2005Inventor: Milan Simic
-
Patent number: D519684Type: GrantFiled: July 15, 2004Date of Patent: April 25, 2006Assignee: Quadion CorporationInventor: Milan Simic