Open CASCADE学习|全局属性
1、概念解释
质心:
质心是质量中心的简称,指物质系统上被认为质量集中于此的一个假想点。质心不一定要在有重力场的系统中,而且除非重力场是均匀的,否则同一物质系统的质心与重心通常不在同一假想点上。质点系的质心是质量分布的中心,是质点系质量分布的平均位置,仅与各质点的质量大小和分布的相对位置有关。重心:
重心是指地球对物体中每一微小部分引力的合力作用点。物体的每一微小部分都受地心引力作用,这些引力可近似地看成为相交于地心的汇交力系。由于物体的尺寸远小于地球半径,所以可近似地把作用在一般物体上的引力视为平行力系,物体的总重量就是这些引力的合力。物体的重心与物体的形状和质量分布两个因素有关。重心可以在物体上,也可以不在物体上。比如质量分布均匀、形状规则的物体,其重心就在物体的几何中心上。而质量分布不均匀、形状不规则的物体,其重心就不在物体的几何中心上。此外,重心在力学上有重要的意义。在物体受到的重力作用和其他力作用时,重心是重力的作用点,地面附近的物体都受到重力的作用,所以都有重心。物体的重心可以在物体上,也可以不在物体上。惯性矩:
惯性矩(moment of inertia of an area)是一个几何量,通常被用作描述截面抵抗弯曲的性质。它反映了物体对于改变其自身旋转状态的抵抗能力。惯性矩的国际单位为m⁴,即面积二次矩,也称面积惯性矩。这个概念与质量惯性矩(即转动惯量)是不同概念。在物理学中,惯性矩是描述质点或物体受力作用时抵抗变化的能力,类似于物体的“惯性”。惯性矩阵:
惯性矩阵,也称为惯性张量矩阵,是描述物体惯性大小的物理量。它是一个3×3的对称矩阵,用于表示物体在三维空间中对于施加转矩的旋转运动的抵抗性质。在动力学方程中,惯性矩阵扮演重要的角色,它反映了物体保持其运动状态的能力,即物体具有不变的惯性。惯性矩阵的元素由物体的质量分布决定,具体地,是物体各质点相对于参考点的位置与质量的乘积的积分。这个矩阵通常包括物体的转动惯量和惯性积,这些量都是相对于某个特定坐标系(如笛卡尔坐标系)来定义的。在机器人学、计算机图形学等领域,惯性矩阵常用于模拟物体的运动、碰撞等物理过程。例如,在机器人学中,惯性矩阵用于描述机器人各部件的动态特性,从而实现更准确的运动控制和路径规划。在计算机图形学中,惯性矩阵则用于模拟物体的运动轨迹和碰撞响应,以实现更真实的动画效果。主惯性矩:
主惯性矩(principal moment of inertia)是描述截面对于其主轴(即形心主惯性轴)的惯性特性的物理量。在材料力学中,截面对于外力作用的反应可以通过其惯性矩来描述,而主惯性矩是截面惯性矩的极大值和极小值,它们对应于截面的两个主轴方向。主惯性矩的计算通常涉及确定截面的形心,并计算截面对通过形心的任意一对正交坐标轴的惯性矩和惯性积。然后,通过一定的数学处理(如坐标变换或求解特征值问题),可以确定截面的主惯性轴和对应的主惯性矩。主惯性矩在结构分析和设计中起着重要作用。例如,在梁和板的弯曲分析中,主惯性矩用于计算截面的弯曲应力和变形。了解截面的主惯性矩有助于工程师优化结构设计,提高结构的承载能力和稳定性。
静态惯性矩:
静态惯性矩(Static Moment of Inertia)是一个描述物体对于旋转运动的抵抗能力的物理量。与动态惯性矩(即惯性矩阵)不同,静态惯性矩是物体在静态状态下,即没有施加外力矩时的惯性特性。静态惯性矩通常用于描述截面的特性,特别是在工程力学中。它是截面上各微小面积元素与其至截面某一指定轴线距离平方的乘积之和的积分。静态惯性矩可以用来计算截面对于弯曲、剪切等作用的抵抗能力。在力学分析中,静态惯性矩与截面的形状、尺寸和质量分布有关。不同的截面形状和尺寸会导致不同的静态惯性矩。例如,矩形截面的静态惯性矩与截面的宽度和高度有关,而圆形截面的静态惯性矩则与截面的半径有关。需要注意的是,静态惯性矩与动态惯性矩(惯性矩阵)是不同的概念。动态惯性矩描述了物体在受到外力矩作用时的运动特性,而静态惯性矩则描述了物体在静态状态下的惯性特性。
2、API
gp_Pnt GProp_GProps::CentreOfMass ( ) const
返回当前系统的质心。如果重力场是均匀的,那么它也是重心。返回的质心坐标是在绝对笛卡尔坐标系中表达的。
Standard_Real GProp_GProps::Mass ( ) const
返回当前系统的质量。如果当前系统的组件没有附加密度,那么返回的值将对应以下情况:如果此框架仅保留线性属性(例如,当仅使用LinearProperties函数来组合来自形状的线的属性时),则返回当前系统边的总长度;如果此框架仅保留表面属性(例如,当仅使用SurfaceProperties函数来组合来自形状的表面的属性时),则返回当前系统面的总面积;如果此框架仅保留体积属性(例如,当仅使用VolumeProperties函数来组合来自固体的体积的属性时),则返回当前系统固体的总体积。警告:长度、面积或体积的计算是在当前的数据单位系统中进行的。单个物体的质量是通过将其长度、面积或体积乘以给定的密度来获得的。你必须对使用的单位保持一致。
gp_Mat GProp_GProps::MatrixOfInertia ( ) const
返回惯性矩阵。它是一个对称矩阵。矩阵的系数是惯性二次矩。在Open CASCADE Technology (OCCT)中,惯性矩通常表示为Ixx、Iyy、Izz,而惯性积表示为Ixy、Ixz、Iyz。这些属性通常是在物体的质心(Center of Mass, G)处计算的,并且是在全局坐标系(通常是笛卡尔坐标系)中给出的。质心(G)和全局坐标轴(X, Y, Z)定义了所谓的中心坐标系,其中G是坐标原点,Gx、Gy、Gz分别平行于全局坐标系的X、Y、Z轴。如果你想在另一个位置点计算惯性矩阵,你可以使用Huygens定理。在Open CASCADE中,你可以使用GProp包中的HOperator类来实现这一点。HOperator类提供了一系列方法来计算和操作物体的几何属性,包括惯性矩阵。
Standard_Real GProp_GProps::MomentOfInertia ( const gp_Ax1 & A ) const
计算材料系统关于A轴的惯性矩。
GProp_PrincipalProps GProp_GProps::PrincipalProperties ( ) const
计算当前系统的主惯性属性。对于几何系统,总有一组轴,使得惯性积等于0;即系统的惯性矩阵是对角的。这些轴是主惯性轴。它们的原点与系统的质心重合。与之相关的惯性矩被称为主惯性矩。此函数计算系统惯性矩阵的特征值和特征向量。结果通过主惯性属性(GProp_PrincipalProps对象)的呈现框架进行存储,可以查询该框架以访问所需的值。
Standard_Real GProp_GProps::RadiusOfGyration ( const gp_Ax1 & A ) const
返回当前系统关于A轴的转动半径。
void GProp_GProps::StaticMoments ( Standard_Real & Ix,
Standard_Real & Iy,
Standard_Real & Iz
) const
返回Ix、Iy、Iz,即当前系统的静态惯性矩;也就是关于笛卡尔坐标系三个轴的惯性矩。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix