如何使用python 3.6来使包裹或盒子的位置和方向与包裹的质心和尺寸以及四元数(数量为4)(例如q1,q2,q3,q4)匹配?例如:质心=(x,y,z)=(1.1,-0.3,0.4);长= 40cm,宽= 30cm,宽= 10cm;四元数q1 = 1.011; q2 = 2.022; q3 = 1.09; q4 = -0.09
` 将numpy导入为np 导入matplotlib.pyplot作为plt 从mpl_toolkits.mplot3d导入Axes3D 从ipywidgets导入交互 从IPython.html导入小部件
这里a,b,c,d是四元数def normQ(a,b,c,d): '''计算归一化四元数 一个是真正的部分 b,c,d是复杂元素'''
# Betrag
Z = np.sqrt(a**2+b**2+c**2+d**2)
if Z!=0.0:
return np.array([a/Z,b/Z,c/Z,d/Z])
else:
return np.array([0.0,0.0,0.0,0.0])
def Q2Eul(a,b,c,d): '''根据四元数计算欧拉角 一个是真正的部分 b,c,d是复杂元素'''
a,b,c,d = normQ(a,b,c,d)
gieren = np.arctan2(2.0*(b*c+a*d),(a**2+b**2-c**2-d**2)) * 180.0/np.pi
nicken = np.arcsin(2.0*(a*c-b*d)) * 180.0/np.pi
wanken = -np.arctan2(2.0*(c*d+a*b),-(a**2-b**2-c**2+d**2)) * 180.0/np.pi
return np.array([gieren, nicken, wanken])`
############我想根据这些角度旋转3D物体,即gieren,nicken,wanken