41 const Core::Transform& T1,
43 Ra::Core::Matrix3 T0R, T1R;
44 Ra::Core::Matrix3 T0S, T1S;
45 T0.computeRotationScaling( &T0R, &T0S );
46 T1.computeRotationScaling( &T1R, &T1S );
48 Ra::Core::Quaternion T0Rot = Ra::Core::Quaternion( T0R );
49 Ra::Core::Quaternion T1Rot = Ra::Core::Quaternion( T1R );
50 Ra::Core::Quaternion iR = T0Rot.slerp( t, T1Rot );
51 Ra::Core::Matrix3 iS = ( 1 - t ) * T0S + t * T1S;
52 Ra::Core::Vector3 iT = ( 1 - t ) * T0.translation() + t * T1.translation();
54 Core::Transform result;
55 result.fromPositionOrientationScale( iT, iR, iS.diagonal() );