【发布时间】:2013-03-30 05:36:27
【问题描述】:
我可以找到很多关于将四元数转换为方向向量的问题,但没有一个相反的问题,这让我觉得我做错了什么,但请耐心等待。
我要做的只是使用箭头模型显示定向光的方向。
定向光的方向是单位向量,但模型是使用四元数旋转的。
那么..如何旋转这个模型以匹配光的方向?
或者我疯了,我真的做不到,因为灯光没有位置,但模型有?
【问题讨论】:
标签: vector 3d quaternions
我可以找到很多关于将四元数转换为方向向量的问题,但没有一个相反的问题,这让我觉得我做错了什么,但请耐心等待。
我要做的只是使用箭头模型显示定向光的方向。
定向光的方向是单位向量,但模型是使用四元数旋转的。
那么..如何旋转这个模型以匹配光的方向?
或者我疯了,我真的做不到,因为灯光没有位置,但模型有?
【问题讨论】:
标签: vector 3d quaternions
方向向量不是定义的旋转,它仍然有无数种可能的解。请参阅没有关于如何围绕轴旋转的信息。第二,向量是可能的,因为向量和旋转(具有有意义的中心)以及实际上是完全定义的矩阵。
因为在您的情况下,旋转毫无意义,只需使用向上矢量作为参考(也就是说,除非您的光线自上而下发光,反之亦然,否则您需要另一个参考)。
因此,将方向向量 D 和上向量 U 的叉积作为侧向量 S,然后将 D 和 S 相交以获得新的 Un。然后使用 D, Un, S 作为行(或列,取决于您的计算规则的设置方式)作为矩阵。矩阵到四元数是众所周知的数学。
【讨论】: