python三维立体画_用matplotlib创建三维立体图

本文介绍如何利用matplotlib在Python中制作3D立体图。通过调整相机位置,实现了左右眼分别观察的效果,从而在2D屏幕上模拟3D视觉。示例代码展示了如何创建并平移3D图像,但寻求如何在3D立体图中显示轴的方法。
摘要由CSDN通过智能技术生成

我希望能够在matplotlib中绘制可以在立体3d中显示的3d图,如下所示:

92vc6.jpg

左侧图像的摄影机相对于右侧稍微平移。如果你练习一点,你可以欺骗你的大脑让你的左眼看左边的图像,你的右眼看右边的图像,在任何屏幕上看到3D!在

不管怎样,我希望能够使任何matplotlib三维绘图显示两次,一个相机稍微翻译。我只需翻译数据就可以得到立体图:from matplotlib import cm

from matplotlib.ticker import LinearLocator, FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure(figsize=(10,5))

axl = fig.add_subplot(1,2,1,projection='3d')

axr = fig.add_subplot(1,2,2,projection='3d')

X = np.arange(-5, 5, 0.25)

Y = np.arange(-5, 5, 0.25)

X, Y = np.meshgrid(X, Y)

R = np.sqrt(X**2 + Y**2)

Z = np.sin(R)

axr.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,

linewidth=0, antialiased=False)

axl.plot_surface(X, Y-5, Z, rstride=1, cstride=1, cmap=cm.coolwarm,

linewidth=0, antialiased=False)

for ax in [axr,axl]:

ax.set_zlim(-1.01, 1.01)

ax.set_ylim(-10,10)

ax.view_init(azim=10)

ax.set_axis_off()

Bl0Cw.png

这会产生所需的效果,但我希望能够在立体3d中显示轴本身,我只能找到如何使用axes对象的view_init方法来设置相机的仰角和方位角。似乎没有一种“好”的方法来翻译摄像机。在

有人知道怎么做吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值