18

我可以找到很多关于将四元数转换为方向向量的问题,但没有一个相反的方法让我觉得我做错了什么,但请耐心等待。

我要做的只是使用箭头模型显示定向光的方向。

定向光的方向是单位矢量,但模型使用四元数旋转。

所以..我如何旋转这个模型以匹配光的方向?

还是我疯了,我真的不能那样做,因为灯光没有位置,但模型有?

4

1 回答 1

15

方向向量不是定义的旋转,它仍然有无限数量的可能解。请参阅没有关于如何围绕轴旋转的信息。第二,向量是可能的,因为向量和旋转(具有有意义的中心)以及实际上是完全定义的矩阵。

因为在您的情况下,旋转毫无意义,只需使用向上矢量作为参考(除非您的光线自上而下发光,反之亦然,否则您需要另一个参考)。

因此,将方向向量 D 和上向量 U 的叉积作为侧向量 S ,然后将 D 和 S 交叉以获得新的 U n。然后使用 D, U n , S 作为行(或列,具体取决于您的计算规则的设置方式)作为矩阵。矩阵到四元数是众所周知的数学。

于 2013-04-08T10:11:16.787 回答