Rigidbody.inertiaTensor 惯性张量

var inertiaTensor : Vector3

Description描述

The diagonal inertia tensor of mass relative to the center of mass.

相对于重心的质量的惯性张量对角线。

The inertia tensor is rotated by the inertiaTensorRotation. If you don't set intertia tensor from a script it will be calculated automatically from all colliders attached to the rigidbody.

惯性张量通过inertiaTensorRotation旋转。如果你在脚本中没有设置惯性张量,它将从附加到刚体的所有碰撞器自动计算。

转动惯量和惯性张量的定义

转动惯量是表征刚体转动惯性大小的物理量,它与刚体的质量、质量相对于转轴的分布有关。
大家都知道动能E=(1/2)mv^2,而且动能的实际物理意义是:物体相对某个系统(选定一个参考系)运动的实际能量,(P势能实际意义则是物体相对某个系统运动的可能转化为运动的实际能量的大小)。

E=(1/2)mv^2 (v^2为v的2次方)
把v=wr代入上式 (w是角速度,r是半径,在这里对任何物体来说是把物体微分化分为无数个质点,质点与运动整体的重心的距离为r,而再把不同质点积分化得到实际等效的r)
得到E=(1/2)m(wr)^2
由于某一个对象物体在运动当中的本身属性m和r都是不变的,所以把关于m、r的变量用一个变量K代替,
K=mr^2
得到E=(1/2)Kw^2
K就是转动惯量,分析实际情况中的作用相当于牛顿运动平动分析中的质量的作用,都是一般不轻易变的量。

这样分析一个转动问题就可以用能量的角度分析了,而不必拘泥于只从纯运动角度分析转动问题。

为什么变换一下公式就可以从能量角度分析转动问题呢?
1、E=(1/2)Kw^2本身代表研究对象的运动能量
2、之所以用E=(1/2)mv^2不好分析转动物体的问题,是因为其中不包含转动物体的任何转动信息。
3、E=(1/2)mv^2除了不包含转动信息,而且还不包含体现局部运动的信息,因为里面的速度v只代表那个物体的质心运动情况。
4、E=(1/2)Kw^2之所以利于分析,是因为包含了一个物体的所有转动信息,因为转动惯量K=mr^2本身就是一种积分得到的数,更细一些讲就是
综合了转动物体的转动不变的信息的等效结果K=∑ mr^2 (这里的K和上楼的J一样)
所以,就是因为发现了转动惯量,从能量的角度分析转动问题,就有了价值。


惯性质量的概念“质量是物体惯性大小的量度”出现在高中物理教材中,要明确一切物体都具有惯性,惯性的表现形式又因物体的运动形式的不同而不同.对于质点 的运动和低速情况下的物体的平动来说,惯性可以用质量的大小来量度.但是,当物体作转动时,就不能单一地用质量来量度物体贯性的大小了,这时需要用所谓 “转动惯量”来描述惯性的大小.而转动惯量除与物体质量的大小有关外,还与物体的转轴的选取和质量的分布有关.对于高速运动的物体,其惯性表现得就更为复 杂,此时需要用“惯性张量”来描述.因此,质量并不能完善地描述所有情况下惯性的大小,只有在特定的情况下(物体作低速平动),才可以作为惯性的量度
using UnityEngine;

using System.Collections;



public class example : MonoBehaviour {

	public void Awake() {

		rigidbody.inertiaTensor = new Vector3(5, 1, 1);

	}

}
// The inertia tensor of a long brick

//一个长砖形的惯性张量



rigidbody.inertiaTensor = Vector3(5, 1, 1);
Page last updated: 2011-2-9
Rigidbody.inertiaTensor 惯性张量_unity3d游戏脚本制作教程-游戏蛮牛出品

Rigidbody.inertiaTensor 惯性张量

var inertiaTensor : Vector3

Description描述

The diagonal inertia tensor of mass relative to the center of mass.

相对于重心的质量的惯性张量对角线。

The inertia tensor is rotated by the inertiaTensorRotation. If you don't set intertia tensor from a script it will be calculated automatically from all colliders attached to the rigidbody.

惯性张量通过inertiaTensorRotation旋转。如果你在脚本中没有设置惯性张量,它将从附加到刚体的所有碰撞器自动计算。

转动惯量和惯性张量的定义

转动惯量是表征刚体转动惯性大小的物理量,它与刚体的质量、质量相对于转轴的分布有关。
大家都知道动能E=(1/2)mv^2,而且动能的实际物理意义是:物体相对某个系统(选定一个参考系)运动的实际能量,(P势能实际意义则是物体相对某个系统运动的可能转化为运动的实际能量的大小)。

E=(1/2)mv^2 (v^2为v的2次方)
把v=wr代入上式 (w是角速度,r是半径,在这里对任何物体来说是把物体微分化分为无数个质点,质点与运动整体的重心的距离为r,而再把不同质点积分化得到实际等效的r)
得到E=(1/2)m(wr)^2
由于某一个对象物体在运动当中的本身属性m和r都是不变的,所以把关于m、r的变量用一个变量K代替,
K=mr^2
得到E=(1/2)Kw^2
K就是转动惯量,分析实际情况中的作用相当于牛顿运动平动分析中的质量的作用,都是一般不轻易变的量。

这样分析一个转动问题就可以用能量的角度分析了,而不必拘泥于只从纯运动角度分析转动问题。

为什么变换一下公式就可以从能量角度分析转动问题呢?
1、E=(1/2)Kw^2本身代表研究对象的运动能量
2、之所以用E=(1/2)mv^2不好分析转动物体的问题,是因为其中不包含转动物体的任何转动信息。
3、E=(1/2)mv^2除了不包含转动信息,而且还不包含体现局部运动的信息,因为里面的速度v只代表那个物体的质心运动情况。
4、E=(1/2)Kw^2之所以利于分析,是因为包含了一个物体的所有转动信息,因为转动惯量K=mr^2本身就是一种积分得到的数,更细一些讲就是
综合了转动物体的转动不变的信息的等效结果K=∑ mr^2 (这里的K和上楼的J一样)
所以,就是因为发现了转动惯量,从能量的角度分析转动问题,就有了价值。


惯性质量的概念“质量是物体惯性大小的量度”出现在高中物理教材中,要明确一切物体都具有惯性,惯性的表现形式又因物体的运动形式的不同而不同.对于质点 的运动和低速情况下的物体的平动来说,惯性可以用质量的大小来量度.但是,当物体作转动时,就不能单一地用质量来量度物体贯性的大小了,这时需要用所谓 “转动惯量”来描述惯性的大小.而转动惯量除与物体质量的大小有关外,还与物体的转轴的选取和质量的分布有关.对于高速运动的物体,其惯性表现得就更为复 杂,此时需要用“惯性张量”来描述.因此,质量并不能完善地描述所有情况下惯性的大小,只有在特定的情况下(物体作低速平动),才可以作为惯性的量度
using UnityEngine;

using System.Collections;



public class example : MonoBehaviour {

	public void Awake() {

		rigidbody.inertiaTensor = new Vector3(5, 1, 1);

	}

}
// The inertia tensor of a long brick

//一个长砖形的惯性张量



rigidbody.inertiaTensor = Vector3(5, 1, 1);
Page last updated: 2011-2-9