我有两条曲线在原点z和y周围相遇,如下所示。当我根据某些功能绘制这些时,我会得到附图。
origin_z = 260
origin_y = 244
plt.plot(phi_z+origin_z,phi_y+origin_y,'b')
plt.plot(phi_z+origin_z,phi_y+origin_y,'r')
phi_z和_y是一些功能(我为了清楚起见而避免发布)。我想围绕指定的原点顺时针旋转这两条线大约45度,但是当我尝试下面的代码时,它只是沿着每个轴进一步移动曲线而不是旋转它们:
phi_z_rot = origin_z + np.cos(45) * (phi_z - origin_z) - np.sin(45) * (phi_z - origin_z)
phi_y_rot = origin_y + np.cos(45) * (phi_y - origin_y) - np.sin(45) * (phi_y - origin_y)
谁能告诉我自己做错了什么?很抱歉没有发布更多功能,但希望没有必要。
答案 0 :(得分:0)
如果没有太多信息,我可以明确提供的信息很少。无论如何,你的轮换错了。首先,角度是以度为单位而不是弧度,然后使用不正确的旋转矩阵。
避免坐标的平移,正确的旋转如下:
rot = np.pi/4
phi_z_rot = phi_z*np.cos(rot)+phi_y*np.sin(rot)
phi_y_rot = -phi_z*np.sin(rot)+phi_y*np.cos(rot)