CN104217453A - Rapid and accurate non-smooth multi-body collision simulating and animating method - Google Patents

Rapid and accurate non-smooth multi-body collision simulating and animating method Download PDF

Info

Publication number
CN104217453A
CN104217453A CN201410498253.6A CN201410498253A CN104217453A CN 104217453 A CN104217453 A CN 104217453A CN 201410498253 A CN201410498253 A CN 201410498253A CN 104217453 A CN104217453 A CN 104217453A
Authority
CN
China
Prior art keywords
momentum
contact
friction
collision
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410498253.6A
Other languages
Chinese (zh)
Other versions
CN104217453B (en
Inventor
张天翔
李胜
汪国平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201410498253.6A priority Critical patent/CN104217453B/en
Publication of CN104217453A publication Critical patent/CN104217453A/en
Application granted granted Critical
Publication of CN104217453B publication Critical patent/CN104217453B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to a rapid and accurate non-smooth multi-body collision simulating and animating method. The method comprises the steps of detecting all the collision contact points during a rigid multi-body collision process; calculating the total contact impulse without friction, which is born by every object serving as a whole during the collision process, and further decomposing the total contact impulse to obtain the normal contact impulse distribution at every contact point; solving the tangential friction impulse generated by every contact point through the Coulomb friction law; performing coupling calculation on the normal contact impulse and the tangential contact impulse to obtain total contact impulse, further utilizing the total contact impulse to perform speed and position integrating to update the speed and the position of every object; circulating the steps above to generate animation of every time step of multi-body collision. The rapid and accurate non-smooth multi-body collision simulating and animating method can perform simulation and animation generation on the large-scale scenes of rigid multi-body contact collision at relatively low time cost to obtain rapid, accurate and stable simulating results.

Description

One Non-smooth surface multiple body collision emulation fast and accurately animation method
Technical field
The invention belongs to computer graphics techniques field, be specifically related to the Computer Emulation Animation System method that the many bodies of a kind of Non-smooth surface fast and accurately collide mutually.
Background technology
The Computer Emulation Animation System of physically based deformation principle is an important branch in graphics field, and wherein rigid dynamics simulation problems is one of problem of difficulty the most.In general, the Computer Simulation of extensive rigid body scene is difficult to accomplish not only accurately but also fast, because rigid body emulation needs to ensure strict non-penetrating constraint.Meanwhile, the information of result butt contact of rigid body emulation is very responsive, and therefore a small change just likely destroys the constraint of whole non-penetrating.And when friction force is added to after in rigid dynamics analogue system, solve exactly under the precondition ensureing non-penetrating constraint and act on friction force on an object very difficult thing especially.
Rigid body emulation field, that start employing most is punishment power algorithm [HAHN, J.K.1988.Realistic animation of rigid bodies.SIGGRAPH Comput.Graph.22,4 (June), 299 – 308.].Punishment power algorithm calculates punishment power by the penetration depth of two objects, with this by two crossing objects separately.This algorithm is very directly perceived, but deficient in stability.When applying punishment power for whole system, non-penetrating constraint is often difficult to ensure.Method the most frequently used at present whole Rigid-body System is modeled as linear complementary planning (LCP) problem [BARAFF, D.1989.Analytical methods for dynamic simulation of non-penetrating rigid bodies.SIGGRAPH Comput.Graph.23, 3 (July), 223 – 232.], and use the iterative algorithm such as Gauss-Seidel method (PGS) or Jacob's method (Jacobi-based) that such as projects to solve [MURTY to it, K.1988.Linear complementarity, linear and nonlinear programming.Sigma series in applied mathematics.Heldermann.].But these iterative algorithms are very consuming time.In order to carry out high-speed simulation to large scale scene, many researchers improve LCP model.In addition, quick Non-smooth surface dynamics (FFD) is the another kind of algorithm [KAUFMAN for rigid body emulation, D.M., EDMUNDS, T., AND PAI, D.K.2005.Fast frictional dynamics for rigid bodies.ACM Trans.Graph.24,3 (July), 946 – 956.].The contact problems of each object are modeled as quadratic programming (QP) problem and solve by it, obtain quick and stable result.But FFD have employed the algorithm of mistake when the momentum distribution calculating each contact point on object, the friction force obtained thus is in-problem.Therefore, FFD cannot simulate some details phenomenons caused due to friction force, even there will be the simulation result of some gross errors.For example, the friction force caused due to relative motion that calculates of FFD and exist actually significant differences.
Summary of the invention
The present invention is directed to the problems referred to above, propose a kind of Computer Emulation Animation System method of novel rigid body multiple body collision.In an emulation cartoon scene by voluminous object simultaneously mutually motion and collision each other, the program, from the total contact momentum (not containing friction) suffered by an object entirety, designs one for calculating the momentum decomposition algorithm of momentum distribution situation on its surperficial each contact point; Calculate the friction momentum of each contact point on this basis, finally solve the coupling of contact momentum suffered by each contact point and friction momentum again, thus external force suffered by complete acquisition object and then obtain its new speed and displacement.This algorithm can obtain quick, accurate and stable simulation result, can have rigid body multimer contact that friction (comprising static friction and kinetic friction) acts on and collides the details phenomenon produced and emulate multiple.Compared with adopting the LCP model of PGS, faster on this algorithm speed, and be more easy to parallel.
Specifically, the technical solution used in the present invention is as follows:
A Computer Emulation Animation System method for Non-smooth surface many bodies Multi-contact collision, its step comprises:
1) collision detection is carried out to rigid body multiple body collision process, detect all making contact points;
2) the total contact momentum not containing friction that each object is subject to as a whole in collision process is calculated;
3) to step 2) object that obtains always contacts momentum and decomposes, and obtains the normal direction contact momentum distribution on each contact point;
4) the tangent direction friction momentum of each contact point generation is solved by Coulomb friction law;
5) by step 3) normal direction that obtains contact momentum and step 4) the tangent direction friction momentum that obtains carries out being coupled and calculates, and always contacted momentum;
6) utilize step 5) obtain containing friction total contact momentum carry out speed and position integration, to upgrade speed and the position of object;
7) above-mentioned steps is carried out in circulation, generates the animation of each time step of multiple body collision.
Further, step 2) computing method of described total contact momentum are:
2.1) for a kth contact point of i-th object in whole rigid body multiple body collision system, form according to had point of contact normal direction and speed structure for its twist builds constraint space T, T in se (3) space according to FFD method:
T k = { t | t ∈ se ( 3 ) , t T M n k i ≥ d k ) ,
T=∩ kec(q)T k
Wherein be the normal direction of a kth contact point on i-th object, M is the mass matrix of whole Rigid-body System, d kbe this point under perfect inelastic collision condition, the sharing rate that two objects reach, C (q) represents its set had point of contact; D is not less than by forcing the speed had point of contact k, all twist in constraint space T meet non-penetrating constraint;
2.2) by twist before the collision of object i iφ -project on constraint space T, obtain the twist of its collision rift iφ +:
φ + i = proj T ( φ - i ) ∈ ∂ T ,
Obtain not containing total contact momentum of friction by making difference to the twist before and after collision,
r i = φ + i - φ - i .
Further, step 3) to the method that the overall total contact momentum be subject to of object decomposes be:
3.1) set up the correctness standard of contact momentum distribution, that is: for the normal direction contact momentum x on one group of contact point, if they and equal known total contact momentum ir, namely then think x be this always contact momentum have point of contact on a reasonable layout;
3.2) further momentum distribution is calculated according to above-mentioned standard.For contact point k, use α krepresent the size of this some place normal direction contact momentum, and then following equation can be obtained:
r k i = M - 1 r k i = M - 1 Γ k T i F = M - 1 Γ k T i n k α k ,
3.3) basis definition, take out matrix of coefficients C with by known quantity and unknown quantity separately, C is known quantity, and x is unknown amount to be asked:
C = M - 1 Γ 1 T i n 1 Γ 2 T i n 2 . . . Γ n T i c n n c ,
x = α 1 α 2 · · · α n c T ,
Wherein n cit is the number of contact point;
3.4) according to step 3.2) and the formula of step 3.3, by step 3.1) the equation inference of correctness standard become following form: Cx= ir, thus solve and obtain x, namely obtain the normal direction momentum of each contact point.
Further, step 4) calculate the method for friction momentum that each contact point produces and be:
4.1) for contact point k, by the relative velocity at this point two objects be used as the direction s calculating friction momentum k, s kby inciting somebody to action project to calculate on section, namely
4.2) equivalent mass that on object, a point shows when given force direction is calculated:
m k = 1 / s k T Γ k i M - 1 Γ k T i s k ;
Then equivalent mass is adopted to obtain the maximum friction momentum can offsetting relative motion as far as possible:
| | f k | | = - s k T V r k m k ;
4.3) α kfor the normal direction momentum of contact point, μ is friction factor, and on i-th object, the actual friction momentum size be subject to of a kth contact point is: || f k|| real=min (|| f k||, μ α k);
4.4) the friction momentum of each point calculated is sued for peace, draws the momentum that always rubs:
f k i = M - 1 Γ k T i s k | | f k | | real ,
Further, step 5) to step 3) in the normal direction contact momentum that calculates and step 4) in the tangent direction friction momentum that calculates be coupled when calculating, employing fast projection algorithm carries out approximate solution to it; First will rub momentum project in constraint space T, obtain final friction momentum:
Then by various piece and be added, the twist that object is final can be obtained:
φ + i = φ - i + r i + f i + rϵ i ,
The wherein coefficient of restitution of ε ∈ [0,1] representative collision; By projection operation above, will iφ +be limited in constraint space T, to meet non-penetrating constraint, obtained higher stability.
The present invention proposes a kind of novel Non-smooth surface rigid multi-body dynamics collision simulation animation method decomposed based on momentum, first the normal direction momentum distribution of each contact point on object is tried to achieve by a momentum decomposition step, then the friction momentum of each point is calculated according to this, finally normal direction is contacted momentum and combine calculating with tangent direction friction momentum, obtain total contact momentum.The present invention can carry out simulation calculation and animation producing with lower time overhead to large scale scene, though often emulate step have in the large scale scene of 60,000 contact points, still can keep quick and stable advantage.
Accompanying drawing explanation
Fig. 1 is the schematic diagram that the friction algorithm in prior art FFD correctly cannot obtain the friction force caused due to relative motion.
Fig. 2 is rigid body multiple body collision of the present invention emulation animation process flow diagram.
Fig. 3 A and Fig. 3 B is the design sketchs of 300 pieces of international chess pieces emulating of the present invention from the scene of colliding each other that falls earthward in the air, and wherein Fig. 3 A is a frame of a certain moment animation before collision occurs, and Fig. 3 B is a frame of a certain moment animation in collision process.
Fig. 4 A and Fig. 4 B is that three balls with different spin directions that the present invention emulates tumble slope and clash into the design sketch that then rabbit impacts the combination of orthostatic slabstone, wherein Fig. 4 A is a frame of the animation in a certain moment before collision, and Fig. 4 B is a frame of a certain moment animation in collision process.
5000 cubes of Fig. 5 the present invention emulation to fall in a container scene effect figure of frictional impact mutually.
Embodiment
For enabling above-mentioned purpose of the present invention, feature and advantage become apparent more, below by specific embodiments and the drawings, elaborate to the present invention.
1, background knowledge
Computational frame of the present invention be with in SE (3) Lie algebra spatially for theoretical core, therefore first briefly introduce the key concept in SE (3) space and term.
A given rigid body B, its pose can be expressed as q=(P, R), and wherein P represents the displacement of B barycenter, and R represents it and rotates.The tangent space of SE (3) is se (3) space, and in se (3) space, the concept relative with speed is called as twist.The twist of i-th object is expressed as form:
iφ=(ω,v) T (1)
Wherein ω and v represents rigid body respectively and exists rotational speed in space and point-to-point speed.Corresponding with it, the cotangent space of SE (3) is se *(3), wherein corresponding with momentum concept is called as wrench.The wrench of i-th object is expressed as form:
if=(f r,f t) T (2)
Wherein f rand f trepresenting respectively makes object exist the angular momentum of rotation and translation and momentum in space.In order to by SE (3) space with space relationship is got up, the variable that introducing one is important here
Γ k i = ( - x k ^ , I ) - - - ( 3 )
Wherein I is unit matrix.When when a variable top in space adds upward arrow, show that this is the antisymmetric matrix generated by it.Such as arbitrarily v=(v 0, v 1, v 2), then
v ^ = 0 - v 2 v 1 v 2 0 - v 0 - v 1 v 0 0 - - - ( 4 )
Suppose f kbe a momentum in space, it is applied in the x on object B kpoint place, then the wrench that momentum produces thus calculates by following formula:
f i = Γ k T i f k - - - ( 5 )
Appoint to the twist of a rigid body, any point x on object B kbe in speed under space also can be passed through calculate:
Γ k i φ i = x . k - - - ( 6 )
And wrench and twist is had and mutually can be changed by the mass matrix of system, the momentum and the speed that are similar to object can be changed mutually by quality
if=M -1 if (7)
M is the mass matrix of whole Rigid-body System.In SE (3) space, the inner product between any two vectorial a and b meets
a·b=α TMb (8)
2, existing method problem analysis
For all contact point Unified Solutions friction momentum is a kind of comparatively quick and easy method, but its accuracy is not high, because separately solve for its contact of any two objects.In FFD, iφ -only represent the motion state of object i.The relative movement information of object i and other objects is not comprised in iφ -in, therefore when carrying out friction impulse calculation, relative movement properties just be have ignored mistakenly.
In three examples of Fig. 1, unique difference is the direction of motion of object B.Obviously, the friction momentum that in three examples, object A is subject to should be different.If but have employed in FFD use- iφ -the algorithm of projection, namely calculate the momentum that always rubs, the result calculated will be disagreed with reality.Projection algorithm have ignored the motion state of object B, and the twist of A in three examples iφ -be again identical, the momentum that rubs suffered by the A therefore calculated by projection algorithm is also identical.Therefore, the suffered friction impact of A that the projection algorithm of FFD calculates is disagreed with reality, and this illustrates that the friction force derivation algorithm of FFD is inaccurate.
Even if this two problems result in the simulation result that FFD also cannot obtain being consistent with reality under some simple scenario above.In order to address these problems and obtain high-quality simulation result, the present invention proposes a kind of new method.
3, method of the present invention
The process flow diagram of the inventive method as shown in Figure 2.Emulation animation process is divided into two parts: collision detection and collision response.Crash detection portion is responsible for obtaining all points of impingement, collision detection is not the innovative point of the inventive method, the present invention adopts PQP (Proximity Query Package) software package [Fast Proximity Queries with Swept Sphere Volumes, Eric Larsen, Stefan Gottschalk, Ming C.Lin, and Dinesh Manocha, Proc.IEEE Int.Conf.Robot.Autom., pp.3719-3726, Apr.2000.] carry out collision detection (other method also can be adopted to carry out collision detection); Collision response part always contacts momentum for each object solves it subsequently.
Core of the present invention is in flow charts with the content of dotted line.First the present invention solves object total contact momentum suffered in collision process, then use momentum decomposition algorithm to calculate the accurate distribution of total normal direction contact momentum on each contact point, then solved the friction momentum of each contact point generation by Coulomb friction law.Last the present invention projects on constraint space T by always contacting momentum, obtains final result.In the end, algorithm can carry out speed and position integration to upgrade speed and the position of object.
Step 1: object always contacts momentum and solves
This step calculates the total normal direction contact momentum not containing friction that each object is subject to.For a kth contact point of i-th object in whole rigid body multiple body collision system, in order to the contact point making them all meets non-penetrating constraint, FFD constructs a constraint space T for its twist.T builds according to had point of contact normal direction and speed and forms:
T k = { t | t ∈ se ( 3 ) , t T M n k i ≥ d k }
T=∩ k∈C(q)T k (9)
Wherein it is the normal direction of a kth contact point on i-th object.M is the mass matrix of whole Rigid-body System.D kbe this point under perfect inelastic collision condition, the sharing rate that two objects reach.C (q) represents its set had point of contact.D is not less than by forcing the speed had point of contact k, all twist in constraint space T meet non-penetrating constraint.
According to Gauss's least commitment principle, contact momentum be make have point of contact all meet non-penetrating constraint momentum in minimum.By twist before the collision of object i iφ -project on constraint space T, the twist of its collision rift can be obtained iφ +:
φ + i = proj T ( φ - i ) ∈ ∂ T - - - ( 10 )
Total contact momentum can be obtained by making difference to the twist before and after collision,
ir= iφ +- iφ - (11)
Step 2: body surface each contact point contact momentum solves
1st step contact momentum solves part can obtain total normal direction contact momentum that i-th object be subject to, and in order to solve friction momentum, the 2nd step is decomposed it, calculates its normal direction momentum distribution situation on each contact point of body surface.
In order to decompose total normal direction contact momentum, first the present invention sets up a standard for the correctness of contact momentum distribution, then constructs corresponding equation according to this standard.For example, if the distribution of one group of normal direction contact momentum can meet non-penetrating constraint in LCP, so this component cloth just thinks to meet correctness standard.Namely the equation of standard LCP builds and forms [BARAFF on the basis of this standard, D.1989.Analytical methods for dynamic simulation of non-penetrating rigid bodies.SIGGRAPH Comput.Graph.23,3 (July), 223 – 232.; ANITESCU, M., AND POTRA, F.A.1997.Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity problems.Nonlinear Dynamics 14,231 – 247.].But, inapplicable in the decomposition algorithm that this correctness standard will complete in the present invention, because non-penetrating constraint has been guaranteed in the normal direction contact impulse calculation of FFD.Therefore, the present invention needs to define another kind of correctness standard with establishing target equation.
Here the correctness standard for the distribution of one group of contact momentum is provided.For the normal direction momentum x on one group of contact point, if they and equal known total contact momentum ir so x can think this always contact momentum have point of contact on a reasonable layout.
According to above-mentioned standard, the present invention can further calculate momentum distribution.For contact point k, the present invention uses α krepresent the size of this some place normal direction contact momentum, and then following equation can be obtained:
r k i = M - 1 r k i = M - 1 Γ k T i F = M - 1 Γ k T i n k a k
And correctness standard can represent with following formula:
According to definition, take out matrix of coefficients C with by known quantity and unknown quantity separately.C is known quantity, and x is unknown amount to be asked:
C = M - 1 Γ 1 T i n 1 Γ 2 T i n 2 . . . Γ n T i c n n c
x = α 1 α 2 · · · α n c T - - - ( 14 )
Wherein n cit is the number of contact point.According to formula 12 and 14, equation 13 can be derived into a gem-pure form by the present invention:
Cx= ir (15)
Thus solve and obtain x, namely obtain the normal direction momentum of each contact point.
Step 3: body surface each contact point friction momentum solves
According to Coulomb friction law and maximum dissipation law, the direction of friction force should be contrary as far as possible with tangential motion direction, and the size of friction force should not exceed the product of normal stress and friction factor simultaneously.
For contact point k, at the relative velocity of this point two objects the direction s calculating friction momentum will be used as k.S kshould with the normal direction n of this point korthogonal, and balance out relative velocity as far as possible meet the s of above-mentioned condition kcan pass through will project to calculate on section, namely
s k = ( V r k × n k ) × n k - - - ( 16 )
Consider processing be a rigid body but not particle, use the mass matrix of whole object when calculating on object certain any friction momentum and inconvenient.Discuss given by formula 5,6 and 7 hereinbefore a momentum in space, how the change how it will affect twist and twist of object has influence on the velocity variations of some points.These three formula are multiplied, just can obtain the equivalent mass that on object, a point shows when given force direction:
m k = 1 / s k T Γ k i M - 1 Γ k T i s k - - - ( 17 )
Equivalent mass m kdescribe when to apply momentum at contact point k place, the situation of change of this spot speed, for a particle, calculate after it is subject to Impulse with I=m Δ v, the situation of change of speed.Similar, adopt equivalent mass to obtain the maximum friction momentum can offsetting relative motion as far as possible:
| | f k | | = - s k T V r k m k - - - ( 18 )
|| f k|| be exactly can the value of friction momentum of the tangential relative velocity of maximum counteracting.In order to meet Coulomb friction law, || f k|| eight should be no more than normal direction momentum α kwith the product of coefficientoffrictionμ.Friction can be divided into kinetic friction and static friction two kinds.In kinetic friction situation, the size of friction momentum equals μ α k, relative motion can not be offset completely.And in static friction situation, friction momentum can balance out relative motion completely, but its value is less than or equal to μ α k.For both of these case, the value of friction momentum always exists || f k|| with μ α kbetween less that.Therefore on i-th object, the actual friction momentum size be subject to of a kth contact point is
||f k|| real=min(||f k||,μα k) (19)
After the friction momentum calculating each point, total friction momentum can pass through to calculate the mode that it is sued for peace:
f k i = M - 1 Γ k T i s k | | f k | | real
Step 4: each contact point contact momentum calculates with friction Impulse coupling
In the emulation animation of rigid body calculates, tangent direction friction momentum contacts momentum with normal direction should be that coupling acting in conjunction is in object.In order to calculate the momentum that rubs accurately, algorithm needs to solve one group of implicit equation, and this process is very consuming time.In actual emulation, some approximate datas often can solve coupled problem with lower time overhead.Because this problem is difficult to try to achieve exact solution fast, the present embodiment have employed a kind of fast projection algorithm and carries out approximate solution to it here.
In order to ensure the stability of simulation result, total contact momentum should be limited in constraint space T.Due to iφ +projection inherently on T, this means the total normal direction contact momentum calculated thus ir meets non-penetrating constraint.Therefore only need to ensure friction momentum also in constraint space T.By inciting somebody to action project in T, final friction momentum can be obtained:
By by various piece and be added, the twist that object is final can be obtained:
iφ +iφ -+ ir+ if+ irε (22)
Wherein ε ∈ 0,1] and representative collision coefficient of restitution.By projection operation above, will iφ +be limited in constraint space T, therefore whole algorithm can meet non-penetrating constraint well, obtains higher stability.
Step 5 object speed anomalous integral step 6 object space integration thus upgrade object space be conventional partial, do not repeat at this.
The animation result schematic diagram (being coloured picture originally, and for meeting patent document into gray level image having been changed to the call format of picture) that Fig. 3 A, Fig. 3 B, Fig. 4 A, Fig. 4 B and Fig. 5 realize for adopting the inventive method.Wherein Fig. 3 A and Fig. 3 B is the effects of 300 pieces of international chess pieces emulating of the present invention from the scene of colliding each other that falls earthward in the air, and Fig. 3 A is a frame of a certain moment animation before collision occurs, and Fig. 3 B is a frame of a certain moment animation in collision process.Fig. 4 A and Fig. 4 B is that three balls with different spin directions that the present invention emulates tumble slope and clash into the situation that then rabbit impacts the combination of orthostatic slabstone, wherein Fig. 4 A is a frame of the animation in a certain moment before collision, and Fig. 4 B is a frame of a certain moment animation in collision process.。5000 cubes of Fig. 5 the present invention emulation to fall in a container scene of frictional impact mutually, and its instantaneous Maximum Contact is counted out and exceeded 60,000.
Above embodiment is only in order to illustrate technical scheme of the present invention but not to be limited; those of ordinary skill in the art can modify to technical scheme of the present invention or equivalent replacement; and not departing from the spirit and scope of the present invention, protection scope of the present invention should be as the criterion with described in claim.

Claims (5)

1. the animation method of Non-smooth surface multiple body collision emulation fast and accurately, its step comprises:
1) collision detection is carried out to rigid body multiple body collision process, detect all making contact points;
2) the total contact momentum not containing friction that each object is subject to as a whole in collision process is calculated;
3) to step 2) in the object that obtains always contact momentum and decompose, obtain the normal direction contact momentum distribution on each contact point;
4) the tangent direction friction momentum of each contact point generation is solved by Coulomb friction law;
5) by step 3) normal direction that obtains contact momentum and step 4) the tangent direction friction momentum that obtains carries out being coupled and calculates, and always contacted momentum;
6) utilize step 5) obtain containing friction total contact momentum carry out speed and position integration, to upgrade speed and the position of object;
7) above-mentioned steps is carried out in circulation, generates the animation of each time step of multiple body collision.
2. the method for claim 1, is characterized in that, step 2) computing method of described total contact momentum are:
2.1) for a kth contact point of i-th object in whole rigid body multiple body collision system, to build the constraint space T in se (3) space according to FFD method for its twist, T builds according to had point of contact normal direction and speed and forms:
T k = { t | t ∈ se ( 3 ) , t T M n k i ≥ d k ) ,
T=∩ k∈C(q)T k
Wherein be the normal direction of a kth contact point on i-th object, M is the mass matrix of whole Rigid-body System, d kbe this point under perfect inelastic collision condition, the sharing rate that two objects reach, C (q) represents its set had point of contact; D is not less than by forcing the speed had point of contact k, all twist in constraint space T meet non-penetrating constraint;
2.2) by twist before the collision of object i iφ -project on constraint space T, obtain the twist of its collision rift iφ +:
φ + i = proj T ( φ - i ) ∈ ∂ T ,
Obtain not containing total contact momentum of friction by making difference to the twist before and after collision,
ir= iφ +- iφ -
3. method as claimed in claim 2, is characterized in that, step 3) to the method that the overall total contact momentum be subject to of object decomposes be:
3.1) set up the correctness standard of contact momentum distribution, that is: for the normal direction contact momentum x on one group of contact point, if they and equal known total contact momentum ir, namely ir '= ir, then think x be this always contact momentum have point of contact on a reasonable layout;
3.2) further momentum distribution is calculated according to above-mentioned standard, for contact point k, use α krepresent the size of this some place normal direction contact momentum, and then following equation can be obtained:
r k i = M - 1 r k i = M - 1 Γ k T i F = M - 1 Γ k T i n k α k ,
3.3) basis definition, take out matrix of coefficients C with by known quantity and unknown quantity separately, C is known quantity, and x is unknown amount to be asked:
C = M - 1 Γ 1 T i n 1 Γ 2 T i n 2 . . . Γ n T i c n n c ,
x = α 1 α 2 · · · α n c T
Wherein n cit is the number of contact point;
3.4) according to step 3.2) and the formula of step 3.3, by step 3.1) the equation inference of correctness standard become following form: Cx= ir, thus solve and obtain x, namely obtain the normal direction momentum of each contact point.
4. method as claimed in claim 3, is characterized in that, step 4) method that calculates the friction momentum that each contact point produces is:
4.1) for contact point k, by the relative velocity at this point two objects be used as the direction s calculating friction momentum k, s kby inciting somebody to action project to calculate on section, namely
4.2) equivalent mass that on object, a point shows when given force direction is calculated:
m k = 1 / s k T Γ k i M - 1 Γ k T i s k ;
Then equivalent mass is adopted to obtain the maximum friction momentum can offsetting relative motion as far as possible:
| | f k | | = - s k T V r k m k ;
4.3) α kfor the normal direction momentum of contact point, μ is friction factor, and on i-th object, the actual friction momentum size be subject to of a kth contact point is: || f k|| real=min (|| f k||, μ α k);
4.4) the friction momentum of each point calculated is sued for peace, draws the momentum that always rubs:
f k i = M - 1 Γ k T i s k | | f k | | real ,
5. method as claimed in claim 4, it is characterized in that, step 5) to step 3) in the normal direction contact momentum and the step 4 that calculate) in the tangent direction friction momentum that calculates be coupled when calculating, employing fast projection algorithm carries out approximate solution to it; First will rub momentum project in constraint space T, obtain final friction momentum:
Then by various piece and be added, the twist that object is final can be obtained:
φ + i = φ - i + r i + f i + rϵ i ,
The wherein coefficient of restitution of ε ∈ [0,1] representative collision; By projection operation above, will iφ +be limited in constraint space T, to meet non-penetrating constraint, obtained higher stability.
CN201410498253.6A 2014-09-25 2014-09-25 A kind of fast and accurately Non-smooth surface multiple body collision emulation animation method Active CN104217453B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410498253.6A CN104217453B (en) 2014-09-25 2014-09-25 A kind of fast and accurately Non-smooth surface multiple body collision emulation animation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410498253.6A CN104217453B (en) 2014-09-25 2014-09-25 A kind of fast and accurately Non-smooth surface multiple body collision emulation animation method

Publications (2)

Publication Number Publication Date
CN104217453A true CN104217453A (en) 2014-12-17
CN104217453B CN104217453B (en) 2018-01-05

Family

ID=52098894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410498253.6A Active CN104217453B (en) 2014-09-25 2014-09-25 A kind of fast and accurately Non-smooth surface multiple body collision emulation animation method

Country Status (1)

Country Link
CN (1) CN104217453B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868425A (en) * 2015-01-19 2016-08-17 北京大学 Multi-rigid-body impact simulation method based on accurate wave effect

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149516A1 (en) * 2004-12-03 2006-07-06 Andrew Bond Physics simulation apparatus and method
CN103425834A (en) * 2013-08-07 2013-12-04 中国科学院深圳先进技术研究院 Flexible material deformation simulating method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149516A1 (en) * 2004-12-03 2006-07-06 Andrew Bond Physics simulation apparatus and method
CN103425834A (en) * 2013-08-07 2013-12-04 中国科学院深圳先进技术研究院 Flexible material deformation simulating method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭小慧: "非光滑链式多体系统的接触动力学建模与仿真", 《系统仿真学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868425A (en) * 2015-01-19 2016-08-17 北京大学 Multi-rigid-body impact simulation method based on accurate wave effect

Also Published As

Publication number Publication date
CN104217453B (en) 2018-01-05

Similar Documents

Publication Publication Date Title
Flores A parametric study on the dynamic response of planar multibody systems with multiple clearance joints
Kim et al. Fast simulation of skeleton-driven deformable body characters
CN107330972B (en) Real-time soft tissue deformation method and system for simulating biomechanical characteristics
CN107256284A (en) A kind of many gait dynamic modeling methods of real-time interactive quadruped robot and system
Pan et al. Tree-topology-oriented modeling for the real-time simulation of sedan vehicle dynamics using independent coordinates and the rod-removal technique
CN105069826A (en) Modeling method of deformation movement of elastic object
EP3296068A1 (en) Robot behavior generation method
Kenwright Scalable real-time vehicle deformation for interactive environments
CN105844672A (en) Rapid and continuous collision detection method for multi-joint model
Chen et al. A unified newton barrier method for multibody dynamics
Bender et al. Fast Dynamic Simulation of Multi-Body Systems Using Impulses.
Lennerz et al. A framework for collision detection and response
Friedmann Simulation of autonomous robot teams with adaptable levels of abstraction
Ramos et al. Cargo dynamic stability in the container loading problem-a physics simulation tool approach
CN104217453A (en) Rapid and accurate non-smooth multi-body collision simulating and animating method
Friedmann et al. Adequate motion simulation and collision detection for soccer playing humanoid robots
Huang et al. A survey on fast simulation of elastic objects
Bender et al. Efficient Cloth Simulation Using an Adaptive Finite Element Method.
Greggio et al. Simulation of small humanoid robots for soccer domain
CN115688212A (en) Soft robot simulation method based on physical point method
CN112862957A (en) GPU parallel fitting simulation method based on constrained projection
Bravo M et al. Design of a dynamic simulator for a biped robot
Avatavului et al. Can Neural Networks Enhance Physics Simulations?
Kim et al. Continuous collision detection for adaptive simulation of articulated bodies
Asci et al. Leveraging Symbolic Algebra Systems to Simulate Contact Dynamics in Rigid Body Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant