Введение
В этом практическом занятии (лабораторной работе) вы научитесь создавать 3D-визуализацию вокселей с использованием библиотеки Matplotlib в Python. Воксельные графики полезны для наглядного и эстетически привлекательного представления трехмерных данных. В рамках этого практического занятия мы будем использовать функцию Axes3D.voxels для создания воксельного графика двух кубов и связи между ними.
Советы по виртуальной машине (VM)
После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если у вас возникнут проблемы во время обучения, не стесняйтесь обращаться к Labby. После занятия оставьте обратную связь, и мы оперативно решим проблему для вас.
Импорт необходимых библиотек
Сначала нам нужно импортировать необходимые библиотеки. В данном случае мы будем использовать Matplotlib и NumPy.
import matplotlib.pyplot as plt
import numpy as np
Подготовка координат
Далее мы подготовим координаты для нашего воксельного графика. Мы создадим трехмерную сетку точек размером 8x8x8 с использованием функции indices из библиотеки NumPy.
x, y, z = np.indices((8, 8, 8))
Создание кубов и связи между ними
Теперь мы создадим два куба и связь между ними. Для этого мы определим три булевых массива, которые будут объединены в один булевый массив. Первые два массива определяют расположение кубов, а третий массив определяет расположение связи между ними.
cube1 = (x < 3) & (y < 3) & (z < 3)
cube2 = (x >= 5) & (y >= 5) & (z >= 5)
link = abs(x - y) + abs(y - z) + abs(z - x) <= 2
voxelarray = cube1 | cube2 | link
Установка цветов
Теперь мы установим цвета для каждого объекта в воксельном графике. Для этого мы создадим пустой массив того же размера, что и булевый массив, созданный на шаге 3, и затем зададим цвет каждого объекта в зависимости от его расположения.
colors = np.empty(voxelarray.shape, dtype=object)
colors[link] = 'red'
colors[cube1] = 'blue'
colors[cube2] = 'green'
Построение воксельного массива
Наконец, мы можем использовать функцию Axes3D.voxels для построения воксельного массива с заданными цветами.
ax = plt.figure().add_subplot(projection='3d')
ax.voxels(voxelarray, facecolors=colors, edgecolor='k')
plt.show()
Резюме
В этом практическом занятии (лабораторной работе) мы научились создавать трехмерный воксельный график с использованием библиотеки Matplotlib в Python. Мы подготовили координаты для графика, создали кубы и связь между ними, установили цвета для каждого объекта и построили воксельный массив с помощью функции Axes3D.voxels. Воксельные графики - это полезный способ визуализации трехмерных данных, и Matplotlib позволяет легко их создавать.