На этом шаге мы рассмотрим примеры использования этой функции.
Функция contour3d() строит изоповерхности по переданному 3D-набору данных. Идейно она похожа на contour_surf(), которая строит изолинии. Возможны два основных варианта вызова:
Параметр scalars - это 3D-массив данных, по которому будут строиться изоповерхности. Остальные параметры полностью совпадают с contour_surf(), за исключением warp_scale, он у функции contour3d() отсутствует.
Построим массив данных на основе уравнения конуса в пространстве:
x, y, z = np.ogrid[-7:7:0.1, -7:7:0.1, -1:7:0.1] scalars = x * x + y * y - z * z
Модель со значениями параметров по умолчанию:
mlab.contour3d(scalars)
Приведем полный текст приложения:
import numpy as np from mayavi import mlab x, y, z = np.ogrid[-7:7:0.1, -7:7:0.1, -1:7:0.1] scalars = x * x + y * y - z * z mlab.contour3d(scalars) mlab.show()
Рис.1. Демонстрация работы функции contour3d()
Увеличим количество изоповерхностей:
import numpy as np from mayavi import mlab x, y, z = np.ogrid[-7:7:0.1, -7:7:0.1, -1:7:0.1] scalars = x * x + y * y - z * z mlab.contour3d(scalars, contours=10) mlab.show()
Рис.2. Демонстрация работы с параметром contrours функции contour3d()
На следующем шаге мы закончим изучение этого вопроса.