На этом шаге мы рассмотрим еще один пример реализации модели с помощью конвейера.
Посмотрим на более сложный pipeline, для этого передадим в функцию surf() набор данных z:
import numpy as np from mayavi import mlab x, y = np.mgrid[-2:2:0.1, -2:2:0.1] z = np.cos(x * y) * np.sin(x * y) mlab.surf(z) mlab.show()
Рис.1. Модель, построенная с помощью функции surf()
Конвейер будет выглядеть так:
Рис.2. Содержимое конвейера
Реализуем его в коде:
import numpy as np from mayavi import mlab x, y = np.mgrid[-2:2:0.1, -2:2:0.1] z = np.cos(x * y) * np.sin(x * y) src = mlab.pipeline.array2d_source(z) warp = mlab.pipeline.warp_scalar(src) norm = mlab.pipeline.poly_data_normals(warp) surf = mlab.pipeline.surface(norm) mlab.show()
Реализация этого конвейера приведена на рисунке 3:
Рис.3. Реализация модели напрямую с помощью конвейера
На следующем шаге мы рассмотрим структуру pipeline.