首页 > 编程笔记 > Python笔记 阅读:24

Matplotlib plot_trisurf():绘制非结构化三角网格(附带实例)

非结构化网格是没有规则拓扑关系的网格,它通常由 polygon triangulation 组成。非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。

网格中的每个元素都可以是二维的多边形或者三维多面体,其中最常见的是二维的三角形以及三维的四面体。而且结构中在每个元素之间没有隐含的连通性。

在 Matplotlib 中,提供了 ax3d.plot_trisurf() 函数用于绘制非结构化三角网格。函数的格式为:
ax3d.plot_trisurf(x, y, z)
x,y,z 均为一维数组,根据数据绘制三角网格。

【实例】利用 ax3d.plot_trisurf() 函数绘制非结构化三角网格。
# 导入 numpy 和 Axes3D
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X = [0, 1, 3, 2]
Y = [0, 4, 4, 2]
Z = [0, 2, 1, 0]
# 绘制 3D 曲面
ax.plot_trisurf(X, Y, Z)
plt.show()
运行程序,效果如下图所示:


图 1 非结构化三角网格图

相关文章