转动惯量与惯性张量 的推导

2023-12-16 18:12

本文主要是介绍转动惯量与惯性张量 的推导,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

基础定义

角速度 ω \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
如此就方便转换了,而惯性张量可以在刚体初始时计算出来

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

这篇关于转动惯量与惯性张量 的推导的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501416

相关文章

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

【无线通信发展史⑧】测量地球质量?重力加速度g的测量?如何推导单摆周期公式?地球半径R是怎么测量出来的?

前言:用这几个问答形式来解读下我这个系列的来龙去脉。如果大家觉得本篇文章不水的话希望帮忙点赞收藏加关注,你们的鼓舞是我继续更新的动力。 我为什么会写这个系列呢? 首先肯定是因为我本身就是一名从业通信者,想着更加了解自己专业的知识,所以更想着从头开始了解通信的来源以及在每一个时代的发展进程。 为什么会从头开始写通信? 我最早是学习了中华上下五千年,应该说朝代史,这个算个人兴趣,从夏

CF #278 (Div. 2) B.(暴力枚举+推导公式+数学构造)

B. Candy Boxes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/B There

HDU2524(规律推导)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2524 解题思路: 暴力推出矩阵,以n = 2 , m = 4为例: 1 3  6  10 3 9 18 30 可以发现第一行和第一列都是有规律的,彼此相差2、3、4·····,其他元素为相应行第一个元素乘以第一列元素的积。预处理之后,我们O(1)就可以输出g[n][m]的值。 另外,

Ural1209(数学推导)

题目链接:点击打开链接 解题思路: 此题甚好。推导公式,首先观察序列110100100010000·····,我们把为1的下标单独拿出来看。依次为1、2、4 、7、 11·····,可以分解为1+(0) 、1+(0+1)、1+(0+1+2)、1+(0+1+2+3)、1+(0+1+2+3+4),可以推导出规律1 + x * (x - 1) / 2。 那么对于每个n,我们只要判断是否存在x

Python中如何实现列表推导式(List Comprehension)

Python中的列表推导式(List Comprehension)是一种简洁且高效的方式来创建列表。它不仅让代码更加简洁,而且通常比使用循环和条件语句生成列表更快。列表推导式的基本形式允许你从现有的列表或其他可迭代对象中创建新的列表,同时应用过滤和转换操作。下面我将详细解释列表推导式的概念、基本语法、高级用法以及其在实际应用中的优势。 一、列表推导式的基本概念 列表推导式是Python中的一种

对极约束及其性质 —— 公式详细推导

Title: 对极约束及其性质 —— 公式详细推导 文章目录 前言1. 对极约束 (Epipolar Constraint)2. 坐标转换 (Coordinate Transformations)3. 像素坐标 (Pixel Coordinates)4. 像素坐标转换 (Transformations of Pixel Coordinates)5. 本质矩阵 (Essential Matr

【DL--03】深度学习基本概念—张量

张量 TensorFlow中的中心数据单位是张量。张量由一组成形为任意数量的数组的原始值组成。张量的等级是其维数。以下是张量的一些例子: 3 # a rank 0 tensor; this is a scalar with shape [][1. ,2., 3.] # a rank 1 tensor; this is a vector with shape [3][[1., 2., 3.]

【Python基础】Python推导式

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、列表推导式三、元组推导式(生成器表达式)四、字典推导式五、集合推导式六、总结 一、前言 Python推导式(Comprehensions)是Python语言中一种独特且强大的语法特性,用于从已有的可迭代对象(如列表、元组、字典、集合)快速创建

《机器学习》 基于SVD的矩阵分解 推导、案例实现

目录 一、SVD奇异值分解 1、什么是SVD 2、SVD的应用         1)数据降维         2)推荐算法         3)自然语言处理 3、核心         1)什么是酉矩阵         2)什么是对角矩阵 4、分解过程 二、推导 1、如何求解这三个矩阵         1)已知:          2)根据酉矩阵的特点即可得出: