【发布时间】:2017-03-23 21:52:40
【问题描述】:
是否可以仅使用四元数来表示 3D 相机?我知道大多数相机使用一个向上向量和一个向前向量来表示它的旋转,但是不能将相同的旋转表示为单个四元数,旋转轴是向前的,w 分量是 Y 轴的量相机被旋转了。如果有办法做到这一点,任何资源将不胜感激。提前致谢。
【问题讨论】:
-
四元数在表示旋转方面非常常见。有时当游戏中的一个对象提供前/上/右向量时,这些向量是从四元数派生的,这是“真相的来源”。
是否可以仅使用四元数来表示 3D 相机?我知道大多数相机使用一个向上向量和一个向前向量来表示它的旋转,但是不能将相同的旋转表示为单个四元数,旋转轴是向前的,w 分量是 Y 轴的量相机被旋转了。如果有办法做到这一点,任何资源将不胜感激。提前致谢。
【问题讨论】:
一般来说,不,不可能使用仅四元数来表示 3D 相机。这是因为 3D 相机不仅有空间方向,还有位置和投影。四元数只描述了一个方向。
如果您实际上是在询问是否可以将相机对象的旋转分量表示为四元数,那么答案通常是肯定的。四元数可以很容易地转换为旋转矩阵 (Convert Quaternion rotation to rotation matrix?),然后返回,因此在任何使用旋转矩阵的地方,也可以使用四元数(并在适当的情况下转换为旋转矩阵)。
【讨论】: