Patents by Inventor Nikola A. Nikolic

Nikola A. Nikolic 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: 11875094
    Abstract: 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: Grant
    Filed: September 19, 2019
    Date of Patent: January 16, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Petar Mitrovic, Eoin Mcloughlin, Maxwell Simon Abernethy, Milan Simic, Milos Jovanovic, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Rory Mullane, Janos Benk
  • Patent number: 11615222
    Abstract: 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: Grant
    Filed: September 19, 2019
    Date of Patent: March 28, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Petar Mitrovic, Eoin McLoughlin, Maxwell Simon Abernethy, Milan Simic, Milos Jovanovic, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Rory Mullane, Janos Benk
  • Patent number: 11580685
    Abstract: 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: Grant
    Filed: March 12, 2021
    Date of Patent: February 14, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20220180589
    Abstract: 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: Application
    Filed: March 12, 2021
    Publication date: June 9, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 11176288
    Abstract: 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: Grant
    Filed: January 12, 2018
    Date of Patent: November 16, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pavle Josipovic, Eoin McLoughlin, Maxwell Simon Abernethy, Milan Simic, Nathanael Presson, Nikola Nikolic, Oliver M. Strunk, Petar Mitrovic, Rory Mullane
  • Publication number: 20210089628
    Abstract: 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: Application
    Filed: September 19, 2019
    Publication date: March 25, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Petar MITROVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Milos JOVANOVIC, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Rory MULLANE, Janos BENK
  • Publication number: 20210089629
    Abstract: 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: Application
    Filed: September 19, 2019
    Publication date: March 25, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Petar MITROVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Milos JOVANOVIC, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Rory MULLANE, Janos BENK
  • Patent number: 10885242
    Abstract: 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: Grant
    Filed: January 12, 2018
    Date of Patent: January 5, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Milan Simic, Eoin McLoughlin, Maxwell Simon Abernethy, Nathanael Presson, Nikola Nikolic, Oliver M. Strunk, Pavle Josipovic, Petar Mitrovic, Rory Mullane
  • Patent number: 10540424
    Abstract: Symbol recognition techniques may be applied to documents comprising various forms of content. Documents including both text and mathematical expressions may be problematic, as applying a recognizer that does not match the content may produce anomalous results. Instead, a parser may evaluate the document to classify respective regions as one of a text region or a mathematics region, based on the characteristics of each type of content. The recognizer corresponding to the content of each region may be applied to produce a composite document comprising both recognized text expressions and recognized mathematical expressions. Additional functionality may be presented based on the recognized content; e.g.
    Type: Grant
    Filed: June 13, 2017
    Date of Patent: January 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sheng Yi, Nikola Nikolic, Xiao Tu, Ivan Stojiljkovic, Jelena Mojasevic
  • Publication number: 20190065641
    Abstract: 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: Application
    Filed: January 12, 2018
    Publication date: February 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Pavle JOSIPOVIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Milan SIMIC, Nathanael PRESSON, Nikola NIKOLIC, Oliver M. STRUNK, Petar MITROVIC, Rory MULLANE
  • Publication number: 20190065642
    Abstract: 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: Application
    Filed: January 12, 2018
    Publication date: February 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Milan SIMIC, Eoin MCLOUGHLIN, Maxwell Simon ABERNETHY, Nathanael PRESSON, Nikola NIKOLIC, Oliver M. STRUNK, Pavle JOSIPOVIC, Petar MITROVIC, Rory MULLANE
  • Publication number: 20180357207
    Abstract: Symbol recognition techniques may be applied to documents comprising various forms of content. Documents including both text and mathematical expressions may be problematic, as applying a recognizer that does not match the content may produce anomalous results. Instead, a parser may evaluate the document to classify respective regions as one of a text region or a mathematics region, based on the characteristics of each type of content. The recognizer corresponding to the content of each region may be applied to produce a composite document comprising both recognized text expressions and recognized mathematical expressions. Additional functionality may be presented based on the recognized content; e.g.
    Type: Application
    Filed: June 13, 2017
    Publication date: December 13, 2018
    Inventors: Sheng Yi, Nikola Nikolic, Xiao Tu, Ivan Stojiljkovic, Jelena Mojasevic
  • Patent number: 10143643
    Abstract: Cationic and silicon substituents are introduced into polysaccharides thereby producing modified polysaccharides cationically substituted by quaternary ammonium groups and having a charge density of about 0.1 to about 2.5 meq/g, and further substituted by siliconate groups such that the modified polysaccharide has a silicon content of about 300 to about 5000 ppm. The modified polysaccharides have application in industrial, home care and personal care surface modifying formulations.
    Type: Grant
    Filed: October 24, 2017
    Date of Patent: December 4, 2018
    Assignee: Corn Products Development, Inc.
    Inventors: Christopher Bellovin, Larisa Sheihet, Nikola Nikolic
  • Publication number: 20180071195
    Abstract: Cationic and silicon substituents are introduced into polysaccharides thereby producing modified polysaccharides cationically substituted by quaternary ammonium groups and having a charge density of about 0.1 to about 2.5 meq/g, and further substituted by siliconate groups such that the modified polysaccharide has a silicon content of about 300 to about 5000 ppm. The modified polysaccharides have application in industrial, home care and personal care surface modifying formulations.
    Type: Application
    Filed: October 24, 2017
    Publication date: March 15, 2018
    Inventors: Christopher Bellovin, Larisa Sheihet, Nikola Nikolic
  • Publication number: 20180071196
    Abstract: Cationic and silicon substituents are introduced into polysaccharides thereby producing modified polysaccharides cationically substituted by quaternary ammonium groups and having a charge density of about 0.1 to about 2.5 meq/g, and further substituted by siliconate groups such that the modified polysaccharide has a silicon content of about 300 to about 5000 ppm. The modified polysaccharides have application in industrial, home care and personal care surface modifying formulations.
    Type: Application
    Filed: October 24, 2017
    Publication date: March 15, 2018
    Inventors: Christopher Bellovin, Larisa Sheihet, Nikola Nikolic
  • Patent number: 9820928
    Abstract: Cationic and silicon substituents are introduced into polysaccharides thereby producing modified polysaccharides cationically substituted by quaternary ammonium groups and having a charge density of about 0.1 to about 2.5 meq/g, and further substituted by siliconate groups such that the modified polysaccharide has a silicon content of about 300 to about 5000 ppm. The modified polysaccharides have application in industrial, home care and personal care surface modifying formulations.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: November 21, 2017
    Assignee: Corn Products Development, Inc.
    Inventors: Christopher Bellovin, Larisa Sheihet, Nikola Nikolic
  • Publication number: 20170312213
    Abstract: Cationic and silicon substituents are introduced into polysaccharides thereby producing modified polysaccharides cationically substituted by quaternary ammonium groups and having a charge density of about 0.1 to about 2.5 meq/g, and further substituted by siliconate groups such that the modified polysaccharide has a silicon content of about 300 to about 5000 ppm. The modified polysaccharides have application in industrial, home care and personal care surface modifying formulations.
    Type: Application
    Filed: April 27, 2016
    Publication date: November 2, 2017
    Inventors: Christopher Bellovin, Larisa Sheihet, Nikola Nikolic
  • Publication number: 20120125231
    Abstract: A coating composition comprising from 5-15% by weight prolamine, from 5 to 15% by weight surfactant and from 70-90% by weight water is provided along with methods of sizing substrates. Particularly preferred are compositions further comprising glyoxal or other crosslinking agents. Also provided are coating compositions comprising from 5 to 30% surfactant by weight with water and an antifoam agent and further comprising a carbohydrate The compositions are optionally applied with additional coating ingredients including carbohydrates including starches as well as binders, minerals and pigments and antifoam agents.
    Type: Application
    Filed: November 15, 2011
    Publication date: May 24, 2012
    Applicant: PENFORD PRODUCTS CO.
    Inventors: Flave Markland, John Widen, Nikola A. Nikolic
  • Patent number: 7326746
    Abstract: Electron donor compounds, suitable for use as adhesives or as components in adhesives, contain a carbon to carbon double bond attached to an aromatic ring and conjugated with the unsaturation in the aromatic ring.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: February 5, 2008
    Inventors: Osama M. Musa, Donald E. Herr, Nikola A. Nikolic
  • Patent number: 7326754
    Abstract: This invention is a film adhesive prepared from an adhesive composition comprising a polymer system, a film forming rubber compound, and curing agents for the polymeric system. The polymer system comprises a base polymer and electron donor and electron acceptor functionality.
    Type: Grant
    Filed: October 12, 2005
    Date of Patent: February 5, 2008
    Inventors: Nikola A. Nikolic, Ruzhi Zhang, Osama M. Musa, Hwail Jin, Bing Wu, David Shenfield