证明的过程会比较繁琐。
首先看定义。假设两个四元数:
q⃗ a=[sa,v⃗ a]=sa+xai+yaj+zakq→a=[sa,v→a]=sa+xai+yaj+zak
q⃗ b=[sb,v⃗ b]=sb+xbi+ybj+zbkq→b=[sb,v→b]=sb+xbi+ybj+zbk
乘法定义为:
q⃗ aq⃗ b=[sasb−v⃗ ⊤av⃗ b,sav⃗ b+sbv⃗ b+v⃗ a×v⃗ b]q→aq→b=[sasb−v→a⊤v→b,sav→b+sbv→b+v→a×v→b]
其中, ××符号表示向量外积。
共轭:
q⃗ ∗a=[sa,−v⃗ a]=sa−(xai+yaj+zak)q→a∗=[sa,−v→a]=sa−(xai+yaj+zak)
则:
q⃗ aq⃗ ∗a=[sasb−v⃗ ⊤a(−v⃗ a),sa(−v⃗ a)+sav⃗ a+v⃗ a×(−v⃗ a)]=[s2a+v⃗ ⊤av⃗ a,0⃗ ]q→aq→a∗=[sasb−v→a⊤(−v→a),sa(−v→a)+sav→a+v→a×(−v→a)]=[sa2+v→a⊤v→a,0→]
这是因为:
v⃗ a×(−v⃗ a)=⎡⎣⎢⎢ixa−xajya−yakza−za⎤⎦⎥⎥=[ya(−za)−za(−ya)]i+[xa(−za)−za(−xa)](−j)+[xa(−ya)−ya(−xa)]k=0∗i+0∗j+0∗k=0v→a×(−v→a)=[ijkxayaza−xa−ya−za]=[ya(−za)−za(−ya)]i+[xa(−za)−za(−xa)](−j)+[xa(−ya)−ya(−xa)]k=0∗i+0∗j+0∗k=0
模长:
‖q⃗ a‖=s2a+x2a+y2a+z2a‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√‖q→a‖=sa2+xa2+ya2+za2
逆:
q⃗ −1=q⃗ ∗/‖q⃗ ‖2q→−1=q→∗/‖q→‖2
计算q⃗ q⃗ −1q→q→−1:
q⃗ q⃗ −1=q⃗ q⃗ ∗/‖q⃗ ‖2=q⃗ q⃗ ∗‖q⃗ ‖2=[sa,a⃗ ][sa,−a⃗ ]‖q⃗ ‖2=[sasa−v⃗ ⊤a(−v⃗ a),−sav⃗ a+sav⃗ a+v⃗ a×(−v⃗ a)]=sasa+v⃗ ⊤av⃗ as2a+x2a+y2a+z2a=1q→q→−1=q→q→∗/‖q→‖2=q→q→∗‖q→‖2=[sa,a→][sa,−a→]‖q→‖2=[sasa−v→a⊤(−v→a),−sav→a+sav→a+v→a×(−v→a)]=sasa+v→a⊤v→asa2+xa2+ya2+za2=1
假设点坐标为p⃗ =[0,x,y,z]=[0,v⃗ ]p→=[0,x,y,z]=[0,v→] ([x,y,z]∈ℝ3[x,y,z]∈R3), 旋转轴及角度为n⃗ ,θn→,θ,其中 n⃗ =[nx,ny,nz]n→=[nx,ny,nz]
旋转用四元数表示为q⃗ =[cosθ2,n⃗ sinθ2]q→=[cosθ2,n→sinθ2].
由上述定义,可知:
q⃗ −1=q⃗ ∗/‖q⃗ ‖2q⃗ ∗=[cosθ2,−n⃗ sinθ2]‖q⃗ ‖2=cos2θ2+sin2θ2(n2x+n2y+n2z)=1q→−1=q→∗/‖q→‖2q→∗=[cosθ2,−n→sinθ2]‖q→‖2=cos2θ2+sin2θ2(nx2+ny2+nz2)=1
旋转后的点p⃗ ′p→′可计算为:
p⃗ ′=q⃗ p⃗ q⃗ −1=[cosθ2,n⃗ sinθ2][0,v⃗ ]q⃗ −1=[−sinθ2n⃗ ⊤v⃗ ,cosθ2v⃗ +sinθ2n⃗ ×v⃗ ][cosθ2,−n⃗ sinθ2]=[−sinθ2cosθ2n⃗ ⊤v⃗ +[cosθ2n⃗ ×v⃗ ]⊤n⃗ sinθ2,⋯]=[−sinθ2cosθ2n⃗ ⊤v⃗ +sinθ2cosθ2v⃗ ⊤n⃗ +(sinθ2)2(n⃗ ×v⃗ )⊤n⃗ ,⋯]=[(sinθ2)2(n⃗ ×v⃗ )⊤n⃗ ,⋯]p→′=q→p→q→−1=[cosθ2,n→sinθ2][0,v→]q→−1=[−sinθ2n→⊤v→,cosθ2v→+sinθ2n→×v→][cosθ2,−n→sinθ2]=[−sinθ2cosθ2n→⊤v→+[cosθ2n→×v→]⊤n→sinθ2,⋯]=[−sinθ2cosθ2n→⊤v→+sinθ2cosθ2v→⊤n→+(sinθ2)2(n→×v→)⊤n→,⋯]=[(sinθ2)2(n→×v→)⊤n→,⋯]
因为:
(v⃗ ⊤×n⃗ )n⃗ =⎡⎣⎢⎢⎢inxxjnyyknzz⎤⎦⎥⎥⎥n⃗ =[(nyz−nzy)i−(nxz−nzx)j+(nxy−nyx)k].∗[nx,ny,nz]=[(nyz−nzy),−(nxz−nzx),(nxy−nyx)].∗[nx,ny,nz]=nxnyz−nxnzy−nxnyz+nynzx+nxnzy−nznyx=0(v→⊤×n→)n→=[ijknxnynzxyz]n→=[(nyz−nzy)i−(nxz−nzx)j+(nxy−nyx)k].∗[nx,ny,nz]=[(nyz−nzy),−(nxz−nzx),(nxy−nyx)].∗[nx,ny,nz]=nxnyz−nxnzy−nxnyz+nynzx+nxnzy−nznyx=0
所以p⃗ ′=q⃗ p⃗ q⃗ −1p→′=q→p→q→−1的实部为0.
本文详细介绍了四元数的基本概念及其在三维空间中表示旋转的应用。通过数学公式展示了四元数的运算规则、共轭、模长等特性,并推导了如何使用四元数进行点的旋转。
1万+





