3d 通过在两个位置上坐标对象的两个点来计算四元数

3d 通过在两个位置上坐标对象的两个点来计算四元数,3d,rotation,quaternions,3d,Rotation,Quaternions,对象在三维中旋转。我在旋转和不旋转位置有旋转中心和2点的坐标。计算将对象从第一个位置旋转到两个位置的四元数 我们必须在物体的第一个位置对OA'和OB'进行矢量化 OA和OB处于第二位置 Q向量部分四元数Q0标量部分 图1 评论 OAOB-点矢量积 OAxOB-交叉向量积 旋转对象从第一个位置到第二个位置的四元数为: 1例 如果OAOB'-OBOA'不等于零,则 Q=Q0[(OA-OA')x(OB-OB')]/[OA*OB'-OA'OB], 式中Q0-2=([(OA-OA')x(OB-OB')]/

对象在三维中旋转。我在旋转和不旋转位置有旋转中心和2点的坐标。计算将对象从第一个位置旋转到两个位置的四元数

我们必须在物体的第一个位置对OA'和OB'进行矢量化
OA和OB处于第二位置
Q向量部分四元数Q0标量部分

图1
评论
OAOB-点矢量积
OAxOB-交叉向量积 旋转对象从第一个位置到第二个位置的四元数为:
1例
如果OAOB'-OBOA'不等于零,则 Q=Q0[(OA-OA')x(OB-OB')]/[OA*OB'-OA'OB],
式中Q0-2=([(OA-OA')x(OB-OB')]/[OAOB'-OA'OB])2+1 如果OAOB'-OBOA'=0,则
2例
如果[OA'+OA]x[OB'+OB]不等于零且OB-OB'不等于零,
则 存在m,即OA-OA'=m(OB-OB')。搜索它。
Q=n*(移动'+OA'),
其中n=Q0(OB-OB')2/(2*OB*[OA'xOB'])
Q0-2=(OB-OB')4*(OB'+OA')2/(2*OB*[OA'xOB'])2+1 如果OAOB'-OBOA'=0且[OA+OA']x[OB+OB']=0
3例
如果OB+OB'不等于零,则
Q=(OB+OB')/|OB+OB'|,Q0=0 否则 4例
OB+OB'=0
Q=([OB']x[OA'])/|[OB']x[OA']|,Q0=0
从四元数我们可以计算旋转矩阵或欧拉角

看看类似问题的答案

你们的区别是,第二个向量“向上”和第一个向量“方向”不垂直。只要坚持下去,问题就解决了