我有一个 numpy 二维数组,表示将建造街道的特定区域的几何高度。我可以使用scipy.misc.toimage
. 不过,我想获得该地区的简单 3D 视图。有没有一种简单的方法可以将这些数据绘制或渲染为 3d 图像?
问问题
2232 次
1 回答
9
也许使用 matplotlib 的plot_surface或plot_wireframe:
import matplotlib.pyplot as plt
import numpy as np
import mpl_toolkits.mplot3d.axes3d as axes3d
np.random.seed(1)
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
N = 100
X, Y = np.meshgrid(np.arange(N), np.arange(N))
heights = np.sin(2*np.pi*np.sqrt(X**2+Y**2)/N)
ax.plot_surface(X, Y, heights, cmap=plt.get_cmap('jet'))
plt.show()
这些函数需要三个二维数组:X、Y、Z。你有高度,Z
. 要生成与这些 s 关联的标准X
和Y
位置Z
,您可以使用np.meshgrid
.
于 2013-04-27T13:04:43.807 回答