四元数插值

四元数介绍:

q=<w,x,y,z>=w+xi+yj+zkq==w+xi+yj+zk 或者 q=s+vq=s+v
q¯=svq¯=s−v
q1q2=s1s2v_1v_2+s1v_2+s2v_1+v_1×v_2q1q2=s1s2−v_1v_2+s1v_2+s2v_1+v_1×v_2

将三维向量扩充为四元数的方法:

三维向量可以直接看成标量为0的四元数。

四元数旋转:

旋转相当于将原始的一个角经过一个函数变换,使之长度、角度、手相性不变。
长度不变:

length(F(P))=length(P)length(F(P))=length(P)

角度不变:
F(P1)F(P2)=P1P2F(P1)⋅F(P2)=P1⋅P2

手相性不变:
F(P1)×F(P2)=F(P1×P2)F(P1)×F(P2)=F(P1×P2)

对于这样的F,我们有F(P)=qPq1F(P)=qPq−1,其中q为非零的四元数。
满足上述表达式的函数均为同态函数(它拥有上述三个完美的性质)
note:note: 任意标量a,乘以q,得到的 aq 对P进行操作和直接用 q 执行操作结果相同,是相同的旋转操作。
因为:
(aq)P(aq)1=qPq1(aq)P(aq)−1=qPq−1
经过大量的数学推导,最后结论:绕A轴进行旋转,相当于

q=cosθ2+Asinθ2q=cosθ2+Asinθ2
的上述函数运算。

你可能感兴趣的:(计算机图形学)