我试图围绕绘制的垂直绿轴旋转下图:
但是,我在尝试设置正确的高程和方位角值时遇到了麻烦,以便正确旋转我的身材。
例如,
for i in range(0,360):
axU.view_init(100-i,-90+i)
plt.draw()
plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)
给了我一个像
的数字和
for i in range(0,360):
axU.view_init(100,-90+i)
plt.draw()
plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)
看起来像:
两者都让我在不需要的轴周围旋转太多,因为我真的只想围绕上面绘制的绿轴进行平移。有没有办法做到这一点?
for i in range(0,360):
axU.view_init(100-i,-90)
plt.draw()
plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)
这给了我类似于我想要的东西,其中旋转在一个轴周围是均匀的,但是这围绕水平绿轴旋转,而我希望它围绕垂直绿轴旋转。
答案 0 :(得分:0)
函数ax.view_init有两个参数;高程和方位角;以该顺序。从文档中:
'elev'将仰角存储在z平面中。
'azim'将方位角存储在x,y平面中。
在旋转z平面时,当前将x,y平面保持不变。要获得所需的轮换,切换条目应达到目的:
for i in range(0,360):
axU.view_init(-90,100-i)
plt.draw()
plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)
尽管也可以按照需要的起始仰角进行操作(或者您可以通过输入ax.view_init(azim=100-i)
并获取默认仰角将其保留为空白)。同样,使用此代码,您将旋转360度,因此您可以选择起点(当前为100)和方向(将-i更改为+ i)。