На этом шаге мы рассмотрим назначение и примеры использования этой функции.
Функция mesh() строит поверхность, по переданным 2D-массивам данных. Сигнатура функции имеет следующий вид:
mesh(x, y, z, ...)
Создадим набор данных, задающий 3/4 поверхности тора:
u, v = np.mgrid[-np.pi:np.pi / 2:0.05, -np.pi:np.pi + 0.1:0.1] x = np.cos(u) * (np.cos(v) + 3) y = np.sin(u) * (np.cos(v) + 3) z = np.sin(v)
Построим поверхность с помощью функции mesh():
mlab.mesh(x, y, z) mlab.show()
Полный текст приложения:
import numpy as np from mayavi import mlab u, v = np.mgrid[-np.pi:np.pi / 2:0.05, -np.pi:np.pi + 0.1:0.1] x = np.cos(u) * (np.cos(v) + 3) y = np.sin(u) * (np.cos(v) + 3) z = np.sin(v) mlab.mesh(x, y, z) mlab.show()
Рис.1. Демонстрация работы функции mesh()
Изменим цветовую схему и тип поверхности на 'wireframe':
import numpy as np from mayavi import mlab u, v = np.mgrid[-np.pi:np.pi / 2:0.05, -np.pi:np.pi + 0.1:0.1] x = np.cos(u) * (np.cos(v) + 3) y = np.sin(u) * (np.cos(v) + 3) z = np.sin(v) mlab.mesh(x, y, z, colormap="spring", representation="wireframe") mlab.show()
Рис.2. Демонстрация работы с параметром representation='wireframe' функции mesh()
Вариант поверхности 'mesh':
import numpy as np from mayavi import mlab u, v = np.mgrid[-np.pi:np.pi / 2:0.05, -np.pi:np.pi + 0.1:0.1] x = np.cos(u) * (np.cos(v) + 3) y = np.sin(u) * (np.cos(v) + 3) z = np.sin(v) mlab.mesh(x, y, z, colormap="summer", representation="mesh") mlab.show()
Рис.3. Демонстрация работы с параметром representation='mesh' функции mesh()
На следующем шаге мы рассмотрим функции для работы с трехмерными наборами данных.