GAMES103:刚体模拟笔记

2 Math

Tetrahedral Volume

1681077071804

1681077071804

1681077089478

1681077089478

Barycentric Weights

1681077102213

1681077102213

1681077142508

1681077142508

Particle-triangle Intersection

First, we find 𝑡 when the particle hits the plane:

1681077167578

1681077167578

We then check if 𝐩(𝑡) is inside or not.

Singular Value Decomposition

A=UDVT Any linear deformation can be decomposed into three steps: rotation, scaling and rotation

Symmetric Positive Definiteness (s.p.d.)

A is s.p.d. if only if: vTA𝐯>0, for any 𝐯≠0.

A is symmetric semi-definite if only if: vTA𝐯0, for any 𝐯≠0. 𝑎𝑖𝑖>𝑖𝑗|𝑎𝑖𝑗|𝑖 A diagonally dominant matrix is p.d. Finally, a s.p.d. matrix must be invertible: A1=(UT)1D1U1=𝐔D1UT.

1681077471574

1681077471574

Linear Solver

A direct solver is typically based LU factorization, or its variant: Cholesky, LDLT, etc… When A is sparse, L and U are not so sparse. Their sparsity depends on the permutation. (See matlab)

It contains two steps: factorization and solving. If we must solve many linear systems with the same A, we can factorize it only once.

Cannot be easily parallelized: Intel MKL PARDISO

Iterative Linear Solver

1681077521644

1681077521644

1681077543465

1681077543465

Tensor Calculus

1681077579832

1681077579832

1681077587043

1681077587043

1681077593875

1681077593875

3 rigid

Torque and Inertia

1681077744681

1681077744681

Translational and Rotational Motion

1681077765559

1681077765559

Rigid Body Simulation

1681077796806

1681077796806

Some More Implementation Issues

Translational motion is much easier to implement than rotational motion.

You can implement the update of 𝐪 first using a constant 𝛚. In that case, the object should spin constantly.

Gravity doesn’t cause any torque! If your simulator does not contain any other force, there is no need to update 𝛚.

4 Rigid Contact

Particle Collision Detection and Response

Signed Distance Function

A signed distance function 𝜙(𝐱) defines the distance from 𝐱 to a surface with a sign. The sign indicates on which side 𝐱 is located.

1681077902937

1681077902937

Penalty methods

Quadratic Penalty Method

f𝑘ϕ(x)N #### Quadratic Penalty Method with a Buffer f𝑘(ϵϕ(x))N #### Log-Barrier Penalty Method fρ1ϕ(x)N #### A Short Summary of Penalty Methods * The use of step size adjustment is a must.

  • To avoid overshooting.

  • To avoid penetration in log-barrier methods.

  • Log-barrier method can be limited within a buffer as well.

    • Li et al. 2020. Incremental Potential Contact: Intersection- and Inversion-free Large Deformation Dynamics. TOG.

    • Wu et al. 2020. A Safe and Fast Repulsion Method for GPU-based Cloth Self Collisions. TOG.

  • Frictional contacts are difficult to handle.

Impulse methods

collision: xnewx+|ϕ(x)|N=xϕ(x)ϕ(x)

1681078352423

1681078352423

Rigid Collision Detection and Response by Impulse

1681078374348

1681078374348

Shape Matching

Basic Idea

1681078420872

1681078420872

Mathematical Formulation

1681078437745

1681078437745

1681078456687

1681078456687

pros and cons

  • Easy to implement and compatible with other nodal systems, i.e., cloth, soft bodies and even particle fluids.
  • Difficult to strictly enforce friction and other goals.
  • The rigidification process will destroy them.
  • More suitable when the friction accuracy is unimportant, i.e., buttons on clothes.
作者

Gehan Zheng

发布于

2023-04-09

更新于

2025-01-02

许可协议

评论

评论
Powered by Waline v2.6.3