在书3D_Math_Primer_for_Graphics_and_Game_Development 的110面的位置,

讲解了任意的3D矢量绕任意轴旋转的公式,

理解起来非常简单,

 

 

对于3D矢量V,我们假设绕单位矢量n转动,

则v分解成沿法线的分量V(平行)和与法线垂直平面上的V(垂直)之和,

转过一定的角度theta后到v'

我们求v'

就可以表示成v(平行)加上v(垂直)分量在垂直平面上转过theta角,

我们利用点乘和叉乘就可以方便的计算出V(平行)和V(垂直),

具体细节请看我上传的附件,我把书上的那页重新排版了一下,传上来。

英文比较简单,我就不做翻译了。