将方向向量转换为四元数旋转
Posted
技术标签:
【中文标题】将方向向量转换为四元数旋转【英文标题】:Converting a direction vector to a quaternion rotation 【发布时间】:2013-03-30 05:36:27 【问题描述】:我可以找到很多关于将四元数转换为方向向量的问题,但没有一个相反的问题,这让我觉得我做错了什么,但请耐心等待。
我要做的只是使用箭头模型显示定向光的方向。
定向光的方向是单位向量,但模型是使用四元数旋转的。
那么..如何旋转这个模型以匹配光的方向?
或者我疯了,我真的做不到,因为灯光没有位置,但模型有?
【问题讨论】:
【参考方案1】:方向向量不是定义的旋转,它仍然有无数种可能的解。请参阅没有关于如何围绕轴旋转的信息。第二,向量是可能的,因为向量和旋转(具有有意义的中心)以及实际上是完全定义的矩阵。
因为在您的情况下,旋转毫无意义,只需使用向上矢量作为参考(也就是说,除非您的光线自上而下发光,反之亦然,否则您需要另一个参考)。
因此,将方向向量 D 和上向量 U 的叉积作为侧向量 S,然后将 D 和 S 相交以获得新的 Un。然后使用 D, Un, S 作为行(或列,取决于您的计算规则的设置方式)作为矩阵。矩阵到四元数是众所周知的数学。
【讨论】:
euclideanspace.com/maths/geometry/rotations/conversions/… 将方向和上向量转换为矩阵的详细信息:***.com/questions/18558910/… 仅供参考,这是正确答案:***.com/a/1171995/126995 @soonts 是的,你可以这样做。它只需要解释一下为什么它是同一件事。您应该将其添加为答案。以上是关于将方向向量转换为四元数旋转的主要内容,如果未能解决你的问题,请参考以下文章