从牛顿第二定律推出绕固定轴旋转的转动惯量,再用类似方法从牛顿第二定律推出绕固定点转动的惯性张量
基础定义
角速度 ω \omega ω是一个三维向量,方向表示旋转轴,用右手定则代表旋转方向,长度代表旋转弧度的速度
线速度: v = ω × r v=\omega \times r v=ω×r ,其中 r r r代表旋转轴或旋转中心点到质点的垂直连线 r ⊥ ω r\perp \omega r⊥ω
角加速度为 α = d ω d t \alpha = \frac {d\omega} {dt} α=dtdω ,加速度为 a = d v d t a = \frac {dv} {dt} a=dtdv,可推出 a = α × r a=\alpha \times r a=α×r
牛顿第二定律 F = m a F=ma F=ma, m m m为质点质量
力矩: τ = r × F \tau=r\times F τ=r×F,可以相加
绕固定轴 转动惯量推导
在旋转中,平动的力相当于旋转的力矩,平动的线加速度相当于角加速度,质量则代表平动的惯性,那么转动的惯性即为转动惯量
需要找到一个量乘以加速度为该质点所受总力矩
在固定转轴的旋转中,只有 F ⊥ r F\perp r F⊥r的分力有作用,故只考虑这种力
F = m a = m α × r τ = r × F = m ⋅ ( r × α × r ) 因为 r ⊥ α , 则 r × α × r = ∣ ∣ r ∣ ∣ 2 α τ = m ∣ ∣ r ∣ ∣ 2 α \begin{align} F&=ma=m\alpha \times r \\ \tau&=r\times F=m\cdot(r\times\alpha\times r) \\ 因为&r\perp \alpha\ ,则r\times \alpha \times r=||r||^2\alpha \\ \tau &=m||r||^2\alpha \end{align} Fτ因为τ=ma=mα×r=r×F=m⋅(r×α×r)r⊥α ,则r×α×r=∣∣r∣∣2α=m∣∣r∣∣2α
将物体的每一个质点积分起来,则可定义转动惯量为 J = ∫ ∣ ∣ r ∣ ∣ 2 d m J=\int||r||^2dm J=∫∣∣r∣∣2dm, τ = J α \tau=J\alpha τ=Jα,与牛顿第二定律 F = m a F=ma F=ma对应
物理模拟时可用力矩算出角速度变化量
绕固定点 惯性张量推导
对于任意刚体,施加在刚体上的力 F F F可以分解为重心到力作用点的方向 F 1 F_1 F1和垂直于该方向的力 F 2 F_2 F2,可以认为在这一瞬间,只有 F 1 F_1 F1会移动该物体,没有旋转作用, F 2 F_2 F2只对物体具有旋转作用
现在考虑旋转,故只考虑 F 2 F_2 F2,假设 r r r为重心到力作用点连线, m m m为该位置质点质量, F ⊥ r F\perp r F⊥r
刚体最终的旋转由所有力矩加和决定,故对于单一的一个质点所对应的 r r r,不满足 r ⊥ α r \perp \alpha r⊥α
需要找到一个量乘以加速度为该刚体所受总力矩
F = m a = m α × r τ = r × F = m ⋅ ( r × α × r ) \begin{align} F&=ma=m\alpha \times r \\ \tau&=r\times F=m\cdot(r\times\alpha\times r) \\ \end{align} Fτ=ma=mα×r=r×F=m⋅(r×α×r)
此时 r r r不垂直于 α \alpha α,则 ( r × α × r ) (r\times\alpha\times r) (r×α×r)需要中展开计算
r × α × r = [ r 2 α 3 − r 3 α 2 r 3 α 1 − r 1 α 3 r 1 α 2 − r 2 α 1 ] × [ r 1 r 2 r 3 ] = [ r 3 2 α 1 − r 1 r 3 α 3 − r 1 r 2 α 2 + r 2 2 α 1 r 3 2 α 2 − r 1 r 2 α 1 − r 2 r 3 α 3 + r 1 2 α 2 r 2 2 α 3 − r 2 r 3 α 2 − r 1 r 3 α 1 + r 1 2 α 3 ] = [ r 2 2 + r 3 2 − r 1 r 2 − r 1 r 3 − r 1 r 2 r 1 2 + r 3 2 − r 2 r 3 − r 1 r 3 − r 2 r 3 r 1 2 + r 2 2 ] ⋅ [ α 1 α 2 α 3 ] = I α r\times\alpha\times r= \left[\begin{matrix} r_2\alpha_3-r_3\alpha_2 \\ r_3\alpha_1-r_1\alpha_3 \\ r_1\alpha_2-r_2\alpha_1 \end{matrix}\right] \times \left[\begin{matrix} r_1 \\r_2 \\ r_3 \end{matrix}\right]= \left[\begin{matrix} r_3^2\alpha_1-r_1r_3\alpha_3-r_1r_2\alpha_2+r_2^2\alpha_1 \\ r_3^2\alpha_2-r_1r_2\alpha_1-r_2r_3\alpha_3+r_1^2\alpha_2 \\ r_2^2\alpha_3-r_2r_3\alpha_2-r_1r_3\alpha_1+r_1^2\alpha_3 \end{matrix}\right] \\ =\left[\begin{matrix} r_2^2+r_3^2 & -r_1r_2 & -r_1r_3 \\ -r_1r_2 & r_1^2+r_3^2 & -r_2r_3 \\ -r_1r_3 & -r_2r_3 & r_1^2+r_2^2 \\ \end{matrix}\right] \cdot \left[\begin{matrix} \alpha_1 \\ \alpha_2 \\ \alpha_3 \end{matrix}\right] = I\alpha r×α×r= r2α3−r3α2r3α1−r1α3r1α2−r2α1 × r1r2r3 = r32α1−r1r3α3−r1r2α2+r22α1r32α2−r1r2α1−r2r3α3+r12α2r22α3−r2r3α2−r1r3α1+r12α3 = r22+r32−r1r2−r1r3−r1r2r12+r32−r2r3−r1r3−r2r3r12+r22 ⋅ α1α2α3 =Iα
将每一个质点积分起来,可以得到惯性张量
令 I = ∫ [ r 2 2 + r 3 2 − r 1 r 2 − r 1 r 3 − r 1 r 2 r 1 2 + r 3 2 − r 2 r 3 − r 1 r 3 − r 2 r 3 r 1 2 + r 2 2 ] d m 为惯性张量 令I=\int\left[\begin{matrix} r_2^2+r_3^2 & -r_1r_2 & -r_1r_3 \\ -r_1r_2 & r_1^2+r_3^2 & -r_2r_3 \\ -r_1r_3 & -r_2r_3 & r_1^2+r_2^2 \\ \end{matrix}\right] dm \ 为惯性张量 令I=∫ r22+r32−r1r2−r1r3−r1r2r12+r32−r2r3−r1r3−r2r3r12+r22 dm 为惯性张量
则 τ = I α \tau = I\alpha τ=Iα,与牛顿第二定律 F = m a F=ma F=ma对应
令 r = ( x y z ) T r=(x\ y\ z)^T r=(x y z)T,就可以得到惯性张量的经典定义
令 I = [ I x x I x y I x z I y x I y y I y z I z x I z y I z z ] I x x = ∫ ( y 2 + z 2 ) d m I x y = I y x = − ∫ x y d m 其余同理 令I=\left[\begin{matrix} I_{xx} & I_{xy} & I_{xz} \\ I_{yx} & I_{yy} & I_{yz} \\ I_{zx} & I_{zy} & I_{zz} \\ \end{matrix}\right] \\ I_{xx}=\int (y^2+z^2) dm \\ I_{xy}=I_{yx}=-\int xy\ dm \\ 其余同理 令I= IxxIyxIzxIxyIyyIzyIxzIyzIzz Ixx=∫(y2+z2)dmIxy=Iyx=−∫xy dm其余同理
并且可以得到 I = ∫ ( ( r T ⋅ r ) 1 − r ⋅ r T ) d m I=\int ((r^T\cdot r)1-r\cdot r^T)\ dm I=∫((rT⋅r)1−r⋅rT) dm,其中 1 1 1为单位矩阵
注意到 I I I会随着刚体的旋转而变化,不太好用,但是存在一个转换公式
假设物体最开始惯性张量为 I b o d y I_{body} Ibody,在应用了旋转矩阵 R R R之后
惯性张量将变为
I = ∫ ( ( r T R T ⋅ R r ) 1 − R r ⋅ r T R T ) d m = ∫ ( ( r T r ) 1 − R r ⋅ r T R T ) d m = ∫ ( ( r T r ) R ⋅ 1 ⋅ R T − R r ⋅ r T R T ) d m = R ( ∫ ( ( r T r ) 1 − r ⋅ r T ) d m ) R T = R I b o d y R T \begin{align} I&=\int((r^TR^T\cdot Rr)1-Rr\cdot r^TR^T) \ dm \\ &=\int((r^Tr)1-Rr\cdot r^TR^T) \ dm \\ &=\int((r^Tr)R\cdot 1\cdot R^T-Rr\cdot r^TR^T) \ dm \\ &=R\left(\int((r^Tr)1-r\cdot r^T) \ dm\right )R^T \\ &=R\ I_{body}\ R^T \end{align} I=∫((rTRT⋅Rr)1−Rr⋅rTRT) dm=∫((rTr)1−Rr⋅rTRT) dm=∫((rTr)R⋅1⋅RT−Rr⋅rTRT) dm=R(∫((rTr)1−r⋅rT) dm)RT=R Ibody RT
如此就方便转换了,而惯性张量可以在刚体初始时计算出来
物理模拟时,可以统计作用在一个刚体上的力矩加和,再求惯性张量的逆,可以算出角速度变化量