MatPlotLib绕固定轴旋转三维打印

2024-10-04 11:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图围绕绘制的垂直绿色轴旋转以下图形:

Rotate around vertical Green axis

但是,我在尝试设置正确的仰角和方位角值以正确旋转我的体形时遇到了麻烦。在

例如

    for i in range(0,360):
        axU.view_init(100-i,-90+i)
        plt.draw()
        plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)   

给我一个像

http://imgur.com/b26d0V2

以及

^{pr2}$

看起来像:

http://imgur.com/3wdN8zT

两者都让我围绕不需要的轴旋转太多,我真的只想围绕上面画的绿色轴平移。有办法吗?在

    for i in range(0,360):
        axU.view_init(100-i,-90)
        plt.draw()
        plt.savefig('./gif1/rot%i.jpg'%i,dpi=100)   

这给了我类似于我想要的东西,旋转是均匀的围绕一个轴旋转,但是它绕着水平的绿色轴旋转,而我希望它围绕垂直的绿色轴旋转。在

rotation

http://imgur.com/b4zeUiI


Tags: incomviewhttpforinitrangeplt
1条回答
网友
1楼 · 发布于 2024-10-04 11:25:26

功能轴视图初始有两个论点;埃列夫和阿齐姆;按这个顺序。根据文件:

'elev' stores the elevation angle in the z plane.

'azim' stores the azimuth angle in the x,y plane.

在旋转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)。在

相关问题 更多 >