从牛顿第二定律推出绕固定轴旋转的转动惯量,再用类似方法从牛顿第二定律推出绕固定点转动的惯性张量
再推出绕固定点旋转时的转动动能
基础定义
角速度ω\omegaω是一个三维向量,方向表示旋转轴,用右手定则代表旋转方向,长度代表旋转弧度的速度
线速度:v=ω×rv=\omega \times rv=ω×r ,其中rrr代表旋转轴或旋转中心点到质点的垂直连线 r⊥ωr\perp \omegar⊥ω
角加速度为 α=dωdt\alpha = \frac {d\omega} {dt}α=dtdω ,加速度为 a=dvdta = \frac {dv} {dt}a=dtdv,可推出 a=α×ra=\alpha \times ra=α×r
牛顿第二定律 F=maF=maF=ma,mmm为质点质量
力矩:τ=r×F\tau=r\times Fτ=r×F,可以相加
绕固定轴 转动惯量推导
在旋转中,平动的力相当于旋转的力矩,平动的线加速度相当于角加速度,质量则代表平动的惯性,那么转动的惯性即为转动惯量
需要找到一个量乘以加速度为该质点所受总力矩
在固定转轴的旋转中,只有F⊥rF\perp rF⊥r的分力有作用,故只考虑这种力
F=ma=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∣∣2dmJ=\int||r||^2dmJ=∫∣∣r∣∣2dm,τ=Jα\tau=J\alphaτ=Jα,与牛顿第二定律F=maF=maF=ma对应
物理模拟时可用力矩算出角速度变化量
绕固定点 惯性张量推导
牛二推导
对于任意刚体,施加在刚体上的力FFF可以分解为重心到力作用点的方向F1F_1F1和垂直于该方向的力F2F_2F2,可以认为在这一瞬间,只有F1F_1F1会移动该物体,没有旋转作用,F2F_2F2只对物体具有旋转作用
现在考虑旋转,故只考虑F2F_2F2,假设rrr为重心到力作用点连线,mmm为该位置质点质量,F⊥rF\perp rF⊥r
刚体最终的旋转由所有力矩加和决定,故对于单一的一个质点所对应的rrr,不满足r⊥αr \perp \alphar⊥α
需要找到一个量乘以加速度为该刚体所受总力矩
F=ma=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)
此时rrr不垂直于α\alphaα,则(r×α×r)(r\times\alpha\times r)(r×α×r)需要中展开计算
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α
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=∫[r22+r32−r1r2−r1r3−r1r2r12+r32−r2r3−r1r3−r2r3r12+r22]dm 为惯性张量
令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+r22dm 为惯性张量
则τ=Iα\tau = I\alphaτ=Iα,与牛顿第二定律F=maF=maF=ma对应
经典定义
令r=(x y z)Tr=(x\ y\ z)^Tr=(x y z)T,就可以得到惯性张量的经典定义
令I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]Ixx=∫(y2+z2)dmIxy=Iyx=−∫xy dm其余同理
令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=IxxIyxIzxIxyIyyIzyIxzIyzIzzIxx=∫(y2+z2)dmIxy=Iyx=−∫xy dm其余同理
并且可以得到I=∫((rT⋅r)1−r⋅rT) dmI=\int ((r^T\cdot r)1-r\cdot r^T)\ dmI=∫((rT⋅r)1−r⋅rT) dm,其中111为单位矩阵
旋转转换公式
注意到III会随着刚体的旋转而变化,不太好用,但是存在一个转换公式
假设物体最开始惯性张量为IbodyI_{body}Ibody,在应用了旋转矩阵RRR之后
惯性张量将变为
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
\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
如此就方便转换了,而惯性张量可以在刚体初始时计算出来
物理模拟时,可以统计作用在一个刚体上的力矩加和,再求惯性张量的逆,可以算出角速度变化量
转动动能
对于动能 E=12∫∣v∣2dmE=\frac 1 2\int|v|^2dmE=21∫∣v∣2dm ,利用 v=ω×rv=\omega \times rv=ω×r 进行推导
并且使用叉乘的性质 (a×b)Tc=aTb×c(a\times b)^Tc=a^Tb\times c(a×b)Tc=aTb×c,进行转换
该性质将在后面证明
E=12∫∣v∣2dm=12∫(ω×r)T(ω×r)dm=12∫ωT(r×ω×r)dm (上述性质)=12ωTIω (由上一节推导可得惯性张量)
\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=21∫∣v∣2dm=21∫(ω×r)T(ω×r)dm=21∫ωT(r×ω×r)dm (上述性质)=21ωTIω (由上一节推导可得惯性张量)
附录
关于叉乘性质
(a×b)Tc=aTb×c(a\times b)^Tc=a^Tb\times c(a×b)Tc=aTb×c
思路一:
叉乘可以写为行列式
∣ijka1a2a3b1b2b3∣
\left|\begin{matrix} i &j &k \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{matrix}\right|
ia1b1ja2b2ka3b3
然后再加上点乘,这两个式子都可以写成行列式
∣a1a2a3b1b2b3c1c2c3∣
\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×ba \times ba×b代表这两个向量形成平面得法向量,且长度为四边形面积,再点乘c,即相当于底乘高,得到平行六面体体积
aTb×c=aT(b×c)a^Tb\times c = a^T(b\times c)aTb×c=aT(b×c) ,即相当于用另一个面来计算底乘高,体积是相等的