三维转动惯量

三维转动惯量

An Introduction to Physics-based Animation

首先角速度(angular momentum)如下

L(t) = \sum_{i=1}^N \bold r_i(t)\times m_i\bold v_i(t)

其中r是点到中心的距离,v是它的线速度

速度可用下面求得

\bold v(t) = \dot {\bold p}(t) = \dot {\bold x}(t) + \bold w(t) \times \bold r(t)

那么代回角动量方程得到

L(t) = \sum_{i=1}^N m_i \bold r_i(t) \times \dot{\bold x}(t) + \sum_{i=1}^N m_i \bold r_i(t) \times \omega(t) \times \bold r_i(t)

第一项是零,为什么?只剩下第二项

L(t) = \sum_{i=1}^N m_i \bold r_i(t) \times (-\bold r_i(t)\times \omega(t))

为了将叉乘化为矩阵乘法,需要有如下变化

\bold r^* = \begin{bmatrix} 0 & -r_z & r_y \\ r_z & 0 & -r_x \\ -r_y & r_x & 0\end{bmatrix}

那么也就是

\bold L(t) = \sum_{i=1}^N m_i \bold r_i^*(t) (\bold r_i^{*T}(t)\omega(t)) = ( \sum_{i=1}^N m_i \bold r_i^*(t) \bold r_i^{*T}(t))\omega(t) = \bold I(t) \omega(t)

其中转动惯量,也就是inertia tensor或者inertia of momentum为

\bold I(t) =\sum_{i=1}^N m_i \bold r_i^*(t) \bold r_i^{*T}(t) = \bold R(t)\sum_{i=1}^N m_i(\bold r_0^T \bold r \delta - \bold r_0\bold r_0^T)\bold R(t)^T = \bold R(t)\bold I(t)\bold R(t)^T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值