繁体   English   中英

在3D中绘制图像会导致交互速度非常慢

[英]Plotting an image in 3D resulting in very slow interaction

我正在使用此处提出的解决方案,使用matplotlib在3D中绘制图像。 但是,即使对于非常合理的图像尺寸( 128x128 ),刷新率也非常慢。 在我的电脑上,以下不能超过2帧/秒。

import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import numpy as np
X, Y = np.meshgrid(np.arange(128), np.arange(128))
Z = np.zeros_like(X)
im = np.sin(X/10 + Y/100)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=plt.cm.BrBG(im), shade=False)
plt.show()

有没有办法加速上述情节? 我知道mplot3d不支持硬件加速 ,但我觉得上面的简单情节应该更快,即使在CPU上也是如此。

您可以尝试mayaVi库以获得更好的交互式数据可视化。

#import matplotlib.pyplot as plt
#from mpl_toolkits import mplot3d
import numpy as np
from mayavi import mlab

X, Y = np.meshgrid(np.arange(128), np.arange(128))
Z = np.zeros_like(X)
im = np.sin(X/10 + Y/100)

#fig = plt.figure()
#x = fig.add_subplot(111, projection='3d')

src = mlab.pipeline.array2d_source(im)
warp = mlab.pipeline.warp_scalar(src)
normals = mlab.pipeline.poly_data_normals(warp)
surf = mlab.pipeline.surface(normals)
mlab.show()


#ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=plt.cm.BrBG(im), shade=False)

#plt.show()

MayaVi文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM