使用四元数对3D空间中的对象进行坐标校正

时间:2019-06-26 06:15:12

标签: python translation quaternions

我有一个3D空间中的对象。标记被附加到对象上。标记给出了对象相对于原点的(X,Y,Z)。标记还给出了该点的四元数(A,B,C,D)。对象上的标记未放置在对象的中心。

我想更正标记坐标,以使标记位置沿原点的X轴平移到对象的中心。给定标记位置与物体中心之间的距离为数字“ K”。

如何使用四元数来校正标记坐标?我确实坚持了一段时间,任何解决方案都对我有很大帮助。谢谢。

使用scipy.spatial.transform import旋转我可以得到给定标记(X,Y,Z)的旋转矩阵,欧拉角或旋转矢量。 下图显示了从运动捕获传感器获取的一组点。

我的代码:

from scipy.spatial.transform import Rotation as R
quat=[-0.018853,0.801030,0.022920,0.597888]  #A,B,C,D quaterion of a point (x,Y,Z)
r = R.from_quat([quat])
rot_matix=r.as_dcm() #rotation matrix 
rot_vector=r.as_rotvec()

这是我从四元数值中获得的信息。 https://i.stack.imgur.com/G9VsR.png

0 个答案:

没有答案