如何使用Qt从两个QVector3Ds获取Q四元数?

如何使用Qt从两个QVector3Ds获取Q四元数?,qt,rotation,qvector,Qt,Rotation,Qvector,我有两个给定的向量,我必须计算它们之间旋转的量子数 这是正确的方式吗: QVector3D vec1 = QVector3D(0.0,0.0,1.0); QVector3D vec2 = QVector3D(1.0,0.0,0.0); QQuaternion quatRot, quat1, quat2; quat1.setVector(vec1); quat1.setScalar(0.0); quat2.setVector(vec2); quat2.setScalar(0.0); quat

我有两个给定的向量,我必须计算它们之间旋转的量子数

这是正确的方式吗:

QVector3D vec1 = QVector3D(0.0,0.0,1.0);
QVector3D vec2 = QVector3D(1.0,0.0,0.0);

QQuaternion quatRot, quat1, quat2;

quat1.setVector(vec1);
quat1.setScalar(0.0);
quat2.setVector(vec2);
quat2.setScalar(0.0);

quatRot = QQuaternion::nlerp(quat1, quat2, 0.5);   //is 0.5 for t correct?

quat2 = quat2.normalized();


QMatrix4x4 rotMat;

rotMat.setToIdentity();
rotMat.rotate(quatRot);
rotMat现在是我可以用来旋转OpenGL对象的旋转矩阵。 对吗