我有3个坐标列表(xs,ys,zs),调用shape(xs)给出(14897L,),但是在对数据执行一些旋转后,形状变为(14897L,1L)。这会破坏代码中的某些内容,我无法解决该问题。
我正在做的事情的细节可能并不重要,但是为了防万一,我已经将其包括在内
Rot_theta = np.pi
xyz = np.matrix((xs, ys, zs))
Rot_x = np.matrix([[1, 0, 0], [0, np.cos(Rot_theta), -np.sin(Rot_theta)], [0,np.sin(Rot_theta),np.cos(Rot_theta)]])
Rot_y = np.matrix([[np.cos(Rot_theta), 0, np.sin(Rot_theta)], [0, 1, 0], [-np.sin(Rot_theta),0,np.cos(Rot_theta)]])
Rot_z = np.matrix([[np.cos(Rot_theta), -np.sin(Rot_theta), 0], [np.sin(Rot_theta), np.cos(Rot_theta), 0], [0,0,1]])
xyz_Rot =[]
for i in range(n):
xyz_no = Rot_x*xyz[:,i]
xyz_Rot.append((xyz_no))
xyz_Rot = np.array((xyz_Rot))
xs = xyz_Rot[:,0]
ys = xyz_Rot[:,1]
zs = xyz_Rot[:,2]
我不知道为什么xs,ys和zs现在都为形状(14897L,1L)。我如何应用旋转矩阵有问题吗? 似乎应该有一两行来解决这个问题,但我只是想不通。