Vector 四元数方向向量?

Vector 四元数方向向量?,vector,3d,rotation,quaternions,Vector,3d,Rotation,Quaternions,我有一个表示3D角色上臂旋转的四元数。我还有一条线,用来表示角色手臂的新位置。该线的位置由两个3D点给出 这是我仅有的数据,我正在尝试调用3D包(数字符文)中的一个方法,该方法获取2个方向向量,并返回表示将手臂移动到新位置所需旋转的四元数 问题是,我看到了一些奇怪的行为,好像轴被混淆了,它只是一般不起作用。此外,表示3D人物手臂的四元数对象(来自3D软件包)具有W、X、Y和Z。X、Y和Z是否表示方向向量?因为这就是我需要正确调用函数的地方。我一直在使用它和从直线端点计算出的方向向量,但正如我所说

我有一个表示3D角色上臂旋转的四元数。我还有一条线,用来表示角色手臂的新位置。该线的位置由两个3D点给出

这是我仅有的数据,我正在尝试调用3D包(数字符文)中的一个方法,该方法获取2个方向向量,并返回表示将手臂移动到新位置所需旋转的四元数

问题是,我看到了一些奇怪的行为,好像轴被混淆了,它只是一般不起作用。此外,表示3D人物手臂的四元数对象(来自3D软件包)具有W、X、Y和Z。X、Y和Z是否表示方向向量?因为这就是我需要正确调用函数的地方。我一直在使用它和从直线端点计算出的方向向量,但正如我所说的,它看起来很有趣

如果X、Y和Z不是方向向量,如何将四元数转换为两个端点,以便计算方向向量?

在您的上下文中(以及在大多数计算机图形上下文中),a。您不想直接使用X、Y和Z;相反(如上面链接的教程中所述),您可以使用它来生成。然后,您应该像使用其他矩阵一样使用旋转矩阵;它将围绕其来源的四元数所描述的原点旋转点

四元数的X、Y和Z确实表示旋转轴,但四元数也以一种不太直接的方式对旋转幅度进行编码。如果包中包含返回四元数的函数,则还应包含将其四元数转换为旋转矩阵的函数;如果可能,您应该使用打包函数(因为它应该使用与生成它们的方法相同的约定)

在阅读了四元数和变换矩阵之后,您应该仔细阅读相关函数的文档,以确保您提供了正确类型的参数,并确保您以正确的方式使用了结果(即使您熟悉数学,也很容易搞糟它…).

这可能会有帮助,而且