弧球旋转90度

时间:2010-08-29 05:23:30

标签: c++ rotation quaternions arcball

我已经通过四元数成功实现了Arcball旋转,但是当摄像机的方向向量与向上矢量平行时,我感到很困惑。目前,当方向矢量和向上矢量的点积超过0.99时,我只是限制沿x轴(间距)的旋转。例如,在Maya(或Max,XSI,其中使用了弧形旋转)中,您可以非常平滑地旋转整圈。我希望有一个类似于Maya轮换的解决方案。

三江源

1 个答案:

答案 0 :(得分:0)

您需要调整视图法线向量(VNV)和向上视图向量(VUV)并将它们一起旋转,以使它们始终保持彼此正交。跟踪“右”(或“左”)向量有时也是有用的,它只是正常向量和向上向量的交叉乘积。