从牛顿第二定律推出绕固定轴旋转的转动惯量,再用类似方法从牛顿第二定律推出绕固定点转动的惯性张量

再推出绕固定点旋转时的转动动能

基础定义

角速度 ω \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 Fr的分力有作用,故只考虑这种力

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=∣∣r2α=m∣∣r2α

将物体的每一个质点积分起来,则可定义转动惯量为 J = ∫ ∣ ∣ r ∣ ∣ 2 d m J=\int||r||^2dm J=∣∣r2dm τ = 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 Fr
刚体最终的旋转由所有力矩加和决定,故对于单一的一个质点所对应的 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α3r3α2r3α1r1α3r1α2r2α1 × r1r2r3 = r32α1r1r3α3r1r2α2+r22α1r32α2r1r2α1r2r3α3+r12α2r22α3r2r3α2r1r3α1+r12α3 = r22+r32r1r2r1r3r1r2r12+r32r2r3r1r3r2r3r12+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+r32r1r2r1r3r1r2r12+r32r2r3r1r3r2r3r12+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=((rTr)1rrT) 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=((rTRTRr)1RrrTRT) dm=((rTr)1RrrTRT) dm=((rTr)R1RTRrrTRT) dm=R(((rTr)1rrT) dm)RT=R Ibody RT
如此就方便转换了,而惯性张量可以在刚体初始时计算出来

物理模拟时,可以统计作用在一个刚体上的力矩加和,再求惯性张量的逆,可以算出角速度变化量

转动动能

对于动能 E = 1 2 ∫ ∣ v ∣ 2 d m E=\frac 1 2\int|v|^2dm E=21v2dm ,利用 v = ω × r v=\omega \times r v=ω×r 进行推导
并且使用叉乘的性质 ( a × b ) T c = a T b × c (a\times b)^Tc=a^Tb\times c (a×b)Tc=aTb×c,进行转换
该性质将在后面证明
E = 1 2 ∫ ∣ v ∣ 2 d m = 1 2 ∫ ( ω × r ) T ( ω × r ) d m = 1 2 ∫ ω T ( r × ω × r ) d m       ( 上述性质 ) = 1 2 ω T I ω       ( 由上一节推导可得惯性张量 ) \begin{align} E&=\frac 1 2 \int |v|^2 dm=\frac 1 2 \int (\omega \times r)^T(\omega \times r) dm \\ &=\frac 1 2 \int \omega^T(r\times \omega\times r)dm \ \ \ \ \ (上述性质)\\ &=\frac 1 2 \omega^TI\omega \ \ \ \ \ (由上一节推导可得惯性张量) \\ \end{align} E=21v2dm=21(ω×r)T(ω×r)dm=21ωT(r×ω×r)dm     (上述性质)=21ωTIω     (由上一节推导可得惯性张量)

附录

关于叉乘性质

( a × b ) T c = a T b × c (a\times b)^Tc=a^Tb\times c (a×b)Tc=aTb×c

思路一:
叉乘可以写为行列式
∣ i j k a 1 a 2 a 3 b 1 b 2 b 3 ∣ \left|\begin{matrix} i &j &k \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{matrix}\right| ia1b1ja2b2ka3b3
然后再加上点乘,这两个式子都可以写成行列式
∣ a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 ∣ \left|\begin{matrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \\ \end{matrix}\right| a1b1c1a2b2c2a3b3c3
这个行列式得绝对值代表三个向量形成得平行六面体体积

思路二:
a × b a \times b a×b代表这两个向量形成平面得法向量,且长度为四边形面积,再点乘c,即相当于底乘高,得到平行六面体体积
a T b × c = a T ( b × c ) a^Tb\times c = a^T(b\times c) aTb×c=aT(b×c) ,即相当于用另一个面来计算底乘高,体积是相等的

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐