当前位置: 首页>>代码示例>>C++>>正文


C++ Matrix3f::TransposedCopy方法代码示例

本文整理汇总了C++中Matrix3f::TransposedCopy方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix3f::TransposedCopy方法的具体用法?C++ Matrix3f::TransposedCopy怎么用?C++ Matrix3f::TransposedCopy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Matrix3f的用法示例。


在下文中一共展示了Matrix3f::TransposedCopy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CalculateVelocity

/// Calculates Linear and Angular velocity based on said momentum and other necessary variables.
void PhysicsProperty::CalculateVelocity()
{
//	assert(false);
	if (type == PhysicsType::STATIC)
		return;

	// Linear
    velocity = linearMomentum * inverseMass;

	if (useQuaternions){
		// Angular - assumes the proper matrices have already been set up.
		if (!inertiaTensorCalculated)
			CalculateInertiaTensor();
		assert(inertiaTensorCalculated);
		
		Matrix3f rotationMatrix = owner->rotationMatrix.GetMatrix3f();
		Matrix3f rotationMatrixTransposed = rotationMatrix.TransposedCopy();
		/// I(body), Technically a 3x3 matrix, specifies how mass is ditributed in the body.
		/// In runtime, I(t) is calculated by R(t)I(body)R(t)^t   (last R(t) is transposed)
		/// The initial version is I(t), whislt the other two are I(body) and I(body)^-1
		inertiaTensor = rotationMatrix * inertiaTensorBody * rotationMatrixTransposed;
		inertiaTensorInverted = rotationMatrix * inertiaTensorBodyInverted * rotationMatrixTransposed;
		angularVelocity = inertiaTensorInverted * angularMomentum;
	}
}
开发者ID:erenik,项目名称:engine,代码行数:26,代码来源:PhysicsProperty.cpp


注:本文中的Matrix3f::TransposedCopy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。