Method and system for interactive simulation of materials and models
OwnerAlan Millmaninventor
Life of this patent
Estimating the term…
Abstract
A method and system for drawing, displaying, editing animating, simulating and interacting with one or more virtual polygonal, spline, volumetric models, three-dimensional visual models or robotic models. The method and system provide flexible simulation, the ability to combine rigid and flexible simulation on plural portions of a model, rendering of haptic forces and force-feedback to a user.
Claims20
A method for simulating rigid, semi-rigid, and flexible components of materials and models comprising:
- connecting to a network device with one or more processors, a display and a plurality of hardware components including a plurality of haptic devices, head trackers, stereoscopic displays and audio speakers, connecting to each other and to the network device;
- defining on an application on the network device one or more individual components for each of one or more entities being simulated, wherein a three-dimensional (3D) entity includes at least four individual components combined into the 3D entity being simulated and wherein each of the one or more individual components include a plurality of individual component portions;
- defining on the application on the network device for each of the one or more individual components, a force transmission parameter obtained from a plurality of force transmission parameter values, a selected entity's rigid mass is greater than zero and less than its total mass, the plurality of force transmission parameter values including a first force transmission parameter value representing a fully flexible component, a second force transmission parameter value representing a fully rigid component and a plurality of other force transmission parameter values with values in-between the first force transmission parameter value and the second force transmission parameter value representing varying levels of semi-rigidity, wherein the selected entity's rigid mass is calculated according to the equation:
- m
- r
- =
- ∑
- 1
- n
-
- m
- i
-
- trans
- i
- wherein mr is a rigid mass, mirepresents a mass of one of the selected entity's individual components and transiis an individual component's corresponding force transmission parameter value;
- combining on the application on the network device a method for simulating flexible entities with a method for simulating rigid entities into a composite simulation method, the composite simulation method including each entity being simulated comprising one or more individual components and each individual component being individually defined with a separate force transmission parameter value, allowing each of the plurality of individual component portions of the one or more individual components of the entity being simulated to include any combination of rigid, semi-rigid and flexible components, simulating either similar materials or composites of different materials or models, wherein the method for simulating flexible entities that has been combined uses a model comprising individual point-masses connected by idealized springs or dashpots, wherein the one or more individual components are represented by the point-masses, wherein in the composite simulation method, an acceleration due to rigid motion is calculated according to the equation:
- x
- ¨
- i
- r
- =
- f
- i
- m
- r
-
-
- trans
- i
- ,
- wherein in the composite simulation method, an acceleration due to deformation is calculated according to the equation:
- x
- ¨
- i
- f
- =
- f
- i
- m
- i
-
- (
- 1
- -
- trans
- i
- )
- ,
- wherein fi is a force applied to an individual component {umlaut over (x)}ir is an acceleration due to rigid motion
- and {umlaut over (x)}if is an acceleration due to deformation;
- obtaining on the application on the network device with the composite simulation method a plurality of positions, velocities and accelerations and a defined force transmission parameter value for each of the one or more individual components of each of the one or more entities entity being simulated;
- calculating on the application on the network device with the composite simulation method a plurality of forces and torques being applied on the one or more individual components of each of the one or more entities being simulated using the obtained positions, velocities or accelerations;
- calculating on the application on the network device with the composite simulation method one or more of new positions, velocities and accelerations of the one or more individual components of each of the one or more entities entity being simulated using the calculated plurality of forces and torques and the one or more defined force transmission parameters;
- receiving one or more selection inputs on the application on the network device with the composite simulation method from one or more haptic devices connected to the network device for virtually moving, pushing, cutting, tearing, creating holes therein, joining, melting or fusing one or more of the plurality of individual component portions of the one or more individual components of the one or more entities being simulated;
- and
- displaying in real-time on the application on the network device with the composite simulation method on a graphical user interface (GUI) with one or more graphical windows on the display the calculated one or more positions and any of the calculated one or more velocities or accelerations as a two-dimensional (2D) or a three dimensional (3D) graphical object view of a representation of each the one or more entities being simulated and presenting in real-time the composite simulation method's results as an output on the plurality of hardware components.
The method of Clam 1 further comprising:
- creating a set of dynamically-moving three-dimensional (3D) reference frames, the 3D reference frames allowing embedding of non-physically-based polygonal models, volumetric models, spline models non-uniform rational basis spline (NURBS) models, or subdivision surface models, each location, point, or voxel in a 3D reference frame corresponds to a location on a physically-based spine, hull or volume lattice.
A non-transitory computer readable medium on one or more processors on one or more network devices having stored therein a plurality of instructions for executing a method for simulating rigid, semi-rigid, and flexible components of materials and models comprising the steps of:
- connecting to a network device with one or more processors from the one or more network devices, a display and a plurality of hardware components including a plurality of haptic devices, head trackers, stereoscopic displays and audio speakers connecting to each other and to the network device;
- defining on an application on the network device one or more individual components for each of one or more entities being simulated, wherein a three-dimensional (3D) entity includes at least four individual components combined into the 3D entity being simulated and wherein each of the one or more individual components include a plurality of individual component portions;
- defining on the application on the network device for each of the one or more individual components, a force transmission parameter obtained from a plurality of force transmission parameter values, a selected entity's rigid mass is greater than zero and less than its total mass, the plurality of force transmission parameter values including a first force transmission parameter value representing a fully flexible component, a second force transmission parameter value representing a fully rigid component and a plurality of other force transmission parameter values with values in-between the first force transmission parameter value and the second force transmission parameter value representing varying levels of semi-rigidity, wherein the selected entity's rigid mass is calculated according to the equation:
- m
- r
- =
- ∑
- 1
- n
-
- m
- i
-
- trans
- i
- wherein mr is a rigid mass, mi, represents a mass of one of the selected entity's individual components and transi, is an individual component's corresponding force transmission parameter value;
- combining on the application on the network device a method for simulating flexible entities with a method for simulating rigid entities into a composite simulation method, the composite method including each entity being simulated comprising one or more individual components and each individual component being individually defined with a separate force transmission parameter value, allowing each of the plurality of individual component portions of the one or more individual components of the entity being simulated to include any combination of rigid, semi-rigid and flexible components, simulating either similar materials or composites of different materials or models, wherein the method for simulating flexible entities that has been combined uses a model comprising individual point-masses connected by idealized springs or dashpots, wherein the one or more individual components are represented by the point-masses, wherein in the composite simulation method, an acceleration due to rigid motion is calculated according to the equation:
- x
- ¨
- i
- r
- =
- f
- i
- m
- r
-
- trans
- i
- ,
- wherein in the composite simulation method, an acceleration due to deformation is calculated according to the equation:
- x
- ¨
- i
- f
- =
- f
- i
- m
- i
-
- (
- 1
- -
- trans
- i
- )
- ,
- wherein fi is a force applied to an individual component {umlaut over (x)}ir is an acceleration due to rigid motion
- and {umlaut over (x)}if is an acceleration due to deformation;
- obtaining on the application on the network device with the composite simulation method a plurality of positions, velocities and accelerations and a defined force transmission parameter value for each of the one or more individual components of each of the one or more entities entity being simulated;
- calculating on the application on the network device with the composite simulation method a plurality of forces and torques being applied on the one or more individual components of each of the one or more entities being simulated using the obtained positions, velocities or accelerations;
- calculating on the application on the network device with the composite simulation method one or more of new positions, velocities and accelerations of the one or more individual components of each of the one or more entities entity being simulated using the calculated plurality of forces and torques and the one or more defined force transmission parameters;
- receiving one or more selection inputs on the application on the network device with the composite simulation method from one or more haptic devices connected to the network device for virtually moving, pushing, cutting, tearing, creating holes therein, joining, melting or fusing one or more of the plurality of individual component portions of the one or more individual components of the one or more entities being simulated;
- and
- displaying in real-time on the application on the network device with the composite simulation method on a graphical user interface (GUI) with one or more graphical windows on the display the calculated one or more positions and any of the calculated one or more velocities or accelerations as a two-dimensional (2D) or a three dimensional (3D) graphical object view of a representation of each the one or more entities being simulated and presenting in real-time the composite simulation method's results as an output on the plurality of hardware components.
A system for simulating rigid, semi-rigid, and flexible components of materials and models comprising in combination:
- one or more network devices each with one or more processors and one or more non-transitory computer readable mediums;
- one or more applications on the one or more non-transitory computer readable mediums on the one or more network devices configured for:
- for connecting to a network device with one or more processors from the one or more network devices and a display and a plurality of hardware components including a plurality of haptic devices, head trackers, stereoscopic displays and audio speakers to each other and to the network device;
- for defining on an application the network device one or more individual components for each of one or more entities being simulated, wherein a three-dimensional (3D) entity includes at least four individual components combined into the 3D entity being simulated and wherein each of the one or more individual components include a plurality of individual component portions;
- for defining on the application on the network device for each of the one or more individual components, a force transmission parameter obtained from a plurality of force transmission parameter values, a selected entity's rigid mass is greater than zero and less than its total mass, the plurality of force transmission parameter values including a first force transmission parameter value representing a fully flexible component, a second force transmission parameter value representing a fully rigid component and a plurality of other force transmission parameter values with values in-between the first force transmission parameter value and the second force transmission parameter value representing varying levels of semi-rigidity, wherein the selected entity's rigid mass is calculated according to the equation:
- m
- r
- =
- ∑
- 1
- n
-
- m
- i
-
- trans
- i
- wherein mr is a rigid mass, mi, represents a mass of one of the selected entity's individual components and transi, is an individual component's corresponding force transmission parameter value;
- for combining on the application on the network device a method for simulating flexible entities with a method for simulating rigid entities into a composite simulation method, the composite method including each entity being simulated comprising one or more individual components and each individual component being individually defined with a separate force transmission parameter value, allowing each of the plurality of individual component portions of the one or more individual components of the entity being simulated to include any combination of rigid, semi-rigid and flexible components, simulating either similar materials or composites of different materials or models, wherein the method for simulating flexible entities that has been combined uses a model comprising individual point-masses connected by idealized springs or dashpots, wherein the one or more individual components are represented by the point-masses, wherein in the composite simulation method, an acceleration due to rigid motion is calculated according to the equation:
- x
- ¨
- i
- r
- =
- f
- i
- m
- r
-
- trans
- i
- ,
- wherein in the composite simulation method, an acceleration due to deformation is calculated according to the equation:
- x
- ¨
- i
- f
- =
- f
- i
- m
- i
-
- (
- 1
- -
- trans
- i
- )
- ,
- wherein fi is a force applied to an individual component {umlaut over (x)}ir is an acceleration due to rigid motion
- and {umlaut over (x)}if is an acceleration due to deformation;
- for obtaining on the application on the network device with the composite simulation method a plurality of positions, velocities and accelerations and a defined force transmission parameter value for each of the one or more individual components of each of the one or more entities entity being simulated;
- for calculating on the application on the network device with the composite simulation method a plurality of forces and torques being applied on the one or more individual components of each of the one or more entities being simulated using the obtained positions, velocities or accelerations;
- for calculating on the application on the network device with the composite simulation method one or more of new positions, velocities and accelerations of the one or more individual components of each of the one or more entities entity being simulated using the calculated plurality of forces and torques and the one or more defined force transmission parameters;
- for receiving one or more selection inputs on the application on the network device with the composite simulation method from one or more haptic devices connected to the network device for virtually moving, pushing, cutting, tearing, creating holes therein, joining, melting or fusing one or more of the plurality of individual component portions of the one or more individual components of the one or more entities being simulated;
- and
- for displaying in real-time on the application on the network device with the composite simulation method on a graphical user interface (GUI) with one or more graphical windows on the display the calculated one or more positions and any of the calculated one or more velocities or accelerations as a two-dimensional (2D) or a three dimensional (3D) graphical object view of a representation of each the one or more entities being simulated and presenting in real-time the composite simulation method's results as an output on the plurality of hardware components.
Dependencies are inferred from the claim text.