1

我正在与 Opengls 合作创建一个火柴人,这似乎是一个愚蠢的问题,但是当使用四元数表示旋转时,如果希望旋转围绕原点以外的另一个点,我应该怎么做,我应该使用单位四元数吗? . 我的猜测是我可以旋转然后平移也改变旋转中心,我不会使用单位四元数。这是正确的道路吗?

4

1 回答 1

1

就像评论中所说的那样,非单位四元数不会神奇地围绕任意点旋转。所以没有必要使用非单位四元数。您需要做的是,将您的旋转中心平移到原点,像往常一样使用四元数围绕原点旋转,然后平移回旋转中心。

如果您想在一个数学上干净的构造中真正表示整个转换,您可以使用双四元数,但我相信这会有点矫枉过正。

于 2011-08-11T12:29:47.413 回答