我有两个具有已知单位向量的笛卡尔坐标系:
系统A(x_A,y_A,z_A)
和
系统B(x_B,y_B,z_B)
两个系统共享相同的原点(0,0,0).我正在尝试计算四元数,以便系统B中的向量可以在系统A中表示.
我熟悉四元数的数学概念.我已经从这里实现了所需的数学:http://content.gpwiki.org/index.php/OpenGL%3aTutorials%3aUsing_Quaternions_to_represent_rotation
一种可能的解决方案是计算欧拉角并将其用于3个四元数.将它们相乘将导致最后一个,以便我可以转换我的向量:
v(A)= q*v(B)*q_conj
但是,这将再次纳入万向锁,这是不使用欧拉在开始角度的原因.
任何idead如何解决这个问题?