【发布时间】:2019-01-04 01:42:54
【问题描述】:
我试图更好地理解四元数,但我不知道 FromToRotation 背后的数学是如何工作的。我尝试查找此内容,但找不到任何结果。
【问题讨论】:
标签: unity3d math quaternions
我试图更好地理解四元数,但我不知道 FromToRotation 背后的数学是如何工作的。我尝试查找此内容,但找不到任何结果。
【问题讨论】:
标签: unity3d math quaternions
您可能知道旋转可以用以下形式的四元数表示:
cos (phi / 2)
sin (phi / 2) * axis.x
sin (phi / 2) * axis.y
sin (phi / 2) * axis.z
axis 是旋转轴,phi 是旋转角度。这是定义四元数所需的两个度量。
有多个旋转将向量from 映射到另一个向量to。最短的旋转是轴垂直于两个向量的旋转。因此,轴是:
axis = normalize(from x to)
x 表示叉积。
而夹角就是两个向量之间的夹角:
phi = acos(dot(from, to) / (norm(from) * norm(to))
norm 是向量范数或向量长度。
使用这些值,您可以计算四元数。
【讨论】: