Newton’s Law

最简单的物理,就是牛顿的运动定律。

应用在一个物体的一个质量、一个质点上的一个力 F 会获得一个加速度。它们的关系就是 $F = ma$,有了加速度就能算速度,有了速度就能算位置。也就是说只要我们知道了物体上的力,以及一些初始条件,比如位置在哪,最初的速度是多少,那么我们就能动态地更新下一个位置。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7c266994-15ed-4962-a4dd-f5ae616383ca/Untitled.png

<aside> 💡 模拟和仿真就是不断地推导和实现各种不同的物理公式,用作模拟,来计算出物体应该有的形状的变化或位置的改变。

</aside>

Physically Based Animation

Generate motion of objects using numerical simulation

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f478c6f1-158f-42ad-b5ab-85fff17e6135/Untitled.png

例如我们扔一个小球,我们知道会由重力的作用下形成一个抛物线,有重力就有加速度的影响,就会影响速度,从而影响位置。

对衣服来说,衣服由不同的网格来形成,我们知道在某一个顶点上会受到重力,由于顶点和其他顶点相连,肯定也会受到各种各样的作用力。虽然复杂,涉及到大量的碰撞检测,但把所有力都考虑在一块,算出受力模型,我们就能算出加速度,从而算出位置。

Example: Cloth Simulation

模拟得好的话,就肯定不会出现反物理的现象,例如衣服进到人的身体里面。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/11d8b359-7e95-49f6-9222-3c02efbaa5e0/9Wzpf7cN6h.gif

Example: Fluids

流体是在仿真领域研究非常多的话题,特别是对于水。

  1. 先模拟水是怎么运动的,水滴和各种地方是怎么形成的。
  2. 模拟了水的位置形状之后,还要去渲染。

正常来说这两步是割裂开的,正常来说我们不会去关心渲染是怎么做的,而是会去关心水花四溅是怎么做的。

Macklin and Müller, Position Based Fluids

Macklin and Müller, Position Based Fluids

Mass Spring System: Example of Modeling a Dynamic System