2021-12-05-影片技术分析Pre-基于物理的动画-刚体系统-byLLY
注:本篇由同组同学LLY编写,本人代完成格式化 刚体 在物理学里,刚体是一种形变为0,或者形变可以忽略的固体。理想刚体在运动中和受到力的作用后,形状和大小不变,而且内部各点的相对位置不变。这种物体不可能实际存在,但固体通常可以假定为刚体。所以我们使用刚体来对固体进行模拟。在模拟时,我们通常使用Mesh来表示一个刚体。 刚体属性与表达 为了表示一个刚体,我们首先需要知道刚体的质心。在这里因为篇幅限制,我们不讨论质心是如何求得的,把质心当作已知量就可以了。质心有三维坐标 \(\mathbf x\) 和速度 \(\mathbf v\) 。其次,刚体还需要定向。选择一个相对刚体固定,原点在刚体质心的坐标系,称为局部坐标系。刚体及模拟的其他对象被放置在世界坐标系中。 质心 为了指定刚体在世界坐标系中的放置方式,我们指定其位置 \(\mathbf x\) 和 方向 \(R\) 。局部坐标为 \(\mathbf p_0\) 的点,世界坐标系下的坐标为:\(\mathbf p = \mathbf x + R \mathbf p_0\) 物体坐标系和世界坐标系 我们想知道这个点在世界坐标系中如何随时间变化,所以对时间进行求导,得出: $ = + R + p_0 $ 因为在局部坐标系中 $ $ = 0 , 所以得出: $ = v + p_0 $ 所以我们只需要求出每个时间的 \(\mathbf v\) 和 $ $ 就可以描述刚体随时间的运动状态了。 为了确定方向的变化率,需要引入角速度的概念。角速度通常表示为三维矢量。方向代表旋转轴,大小代表旋转的快慢,通常以弧度/秒为计量单位。 角速度 我们知道 \(R\) 的列是刚体坐标系的坐标轴的方向向量在世界坐标系下的坐标,因此, $ $ 由这些方向向量的导数组成: \[ \displaystyle\dot{R} = [\dot{\hat{u_x}}\quad\dot{\hat{u_y}}\quad\dot{\hat{u_z}} ] \] 于是 \(\dot{R}\) 就被简化成为求旋转矢量的导数的问题。旋转中心位置是 \(\mathbf x\) ,旋转点位置是 \(\mathbf p\) ,旋转中心到位置 \(\mathbf p\) 的向量为 \(r\) 。我们的目的是测定 \(r\) 的变化率。由于 \(\mathbf p\) 以角速度 \(\omega\) 旋转,所以其瞬时速度与 \(r\) 和 \(\omega\) 垂直。瞬时速度方向由 \(\omega\times r\) 表示,大小与向量积大小一致。于是我们可以得到: $ = r$...