【问题标题】:What is the math behind FromToRotation? Unity3dFromToRotation 背后的数学原理是什么? Unity3d
【发布时间】:2019-01-04 01:42:54
【问题描述】:

我试图更好地理解四元数,但我不知道 FromToRotation 背后的数学是如何工作的。我尝试查找此内容,但找不到任何结果。

【问题讨论】:

标签: unity3d math quaternions


【解决方案1】:

您可能知道旋转可以用以下形式的四元数表示:

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 是向量范数或向量长度。

使用这些值,您可以计算四元数。

【讨论】:

  • 据我所知,此解决方案不适用于相反的向量。
猜你喜欢
  • 2020-02-15
  • 1970-01-01
  • 2012-05-04
  • 2021-02-15
  • 1970-01-01
  • 2021-09-21
  • 2012-08-23
  • 2018-04-11
  • 1970-01-01
相关资源
最近更新 更多