我想旋转对象B,使它的-z轴面向对象A。对于对象A,我知道位置,对于对象B,我知道位置和旋转(四元数)。
目前为止,我的旋转代码已经有了(-z轴不面向对象A):
MVector pos = nodeTranslation(); // gives the position of object A
MVector objectUpVector = { 0.0f, 1.0f, 0.0f };
MVector zaxis = -(lookat - pos); //lookat = position of object B
zaxis.normalize();
MVector xaxis = objectUpVector^zaxis;
xaxis.normalize();
MVector yaxis = zaxis ^ xaxis;
numData.setData(xaxis.x, yaxis.y, zaxis.z); // setting the rotate attr for object B
// numdata takes in euler angles
每个轴有3个矢量,但是我不确定如何利用这些信息并将对象B的旋转属性(矢量)设置为面向对象A。