Chapter 1
主要是一些介绍 介绍正向模拟和负向模拟的概念 好像没有多大用处对于变形模拟
Chapter 2
这一章是重点的一章介绍的是几种常用的物理引擎
We call such small pieces modules. In the following a
unified, general purpose modular design for rigid body simulators is presented. A benefit
of the modular design is its generality that allows for understanding and comparing the
following simulator paradigms:
这就是那几种物理引擎的设计方案了 针对不同的模拟对象使用不同的模型。
• Constraint-based Methods
• Penalty-based Methods 罚函数法 这个就是我们重点介绍的
• Impulse-based Methods
• Collision Synchronization
• Hybrids
书上的FIG 2.1 图 讲的是所有的物理引擎都必须遵循的法则
然后讲了所有的模块设计
物理引擎普遍使用两大块法,其一是使用Collision Detection 即碰撞检测 其二是使用模拟器Simulation Component
但是不同的物理引擎使用不同的模块:
现介绍不同模块是怎么划分功能的:
模拟部分:
1 The Time-Control Module 时间控制模块:
The time-control module is the central part of the simulator, controlling when and how
all other modules in the simulator are invoked.
2 The Motion Solver Module 移动控制模块:
The motion solver module is frequently called from the time-control module, and it is
responsible for the continuous movement of all objects in the configuration according
to the equations of motion.
3 The Constraint Solver Module 约束解决模块:The motion solver invokes the constraint solver to retrieve the constraint forces which are
used by the ODEs to compute the continuous motion of objects.
约束解决模块就是找到约束力
4The Collision Solver Module 碰撞解决器
The collision solver module is called from the constraint solver, and it computes collision
impulses and applies the impulses to all the colliding objects in the configuration,
也就是说 等到约束解决器调用它来执行 一瞬间的碰撞 计算冲量
碰撞检测部分:
其实这一部分是一个比较好理解的部分 一次宽相检测找出有可能碰撞的物体 然后使用窄相碰撞把有可能碰撞的物体进行分析 有点生疏的就是Spatial-Temporal Coherence Analysis Module 还有点不懂
现在着重介绍罚函数法的物理引擎:
Penalty-based simulators [14, 106] are simpler than constraint-based, and are preferred
by many due to the simplicity of the modeling of physical interactions and since they
may easily be extended to handle soft bodies.
The fixed time-stepping algorithm is often chosen, since the penalty methods allow for
penetration of the objects. One major challenge for penalty methods is the collision detection,
since both penetration depth and penetration points must be computed. Penalty
forces are computed as the negative gradient of an energy function, and are used to contravene
penetration. Hook’s law for springs is a popular choice. Deep penetrations may
cause stiff ODEs, and numerical stability is therefore of major concern with penalty methods.
Figure 2.6 shows a typical penalty-based simulator. It should be noted that there is
no collision solver, since collisions are handled when penetrations occur by the constraint
solver which will add penalty forces to reduce but not necessarily remove penetrations.
Both numerical stability and minimal penetrations require small time-steps in the
time-control module which is why some people [106] have tried to increase time-steps by
augmenting the penalty-based simulator with a collision solver.
也就是说他是使用了弹簧模型 和能量梯度方程 变形计算比较方便 难点在于碰撞检测 它没有碰撞解决器 因为有变形效果的原因。
模型参照Fig2.6
Chapter 3
Spline Driven Scripted Motion
这一章讲了 曲线的表示 即三次方曲线B曲线
曲线表示运动轨迹 以及如何采集样本点的知识