旋转对象的-z轴以面向另一个对象

时间:2019-06-25 12:19:55

标签: c++ math 3d rotation maya-api

我想旋转对象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。

0 个答案:

没有答案