Introdução
Este laboratório irá guiá-lo através do processo de criação de um gráfico de voxels 3D usando a biblioteca Matplotlib em Python. Gráficos de voxels são úteis para visualizar dados 3D de uma forma que é clara e esteticamente agradável. Neste laboratório, usaremos a função Axes3D.voxels para criar um gráfico de voxels de dois cubos e uma ligação entre eles.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar as bibliotecas necessárias
Primeiramente, precisamos importar as bibliotecas necessárias. Neste caso, usaremos Matplotlib e NumPy.
import matplotlib.pyplot as plt
import numpy as np
Preparar as coordenadas
Em seguida, prepararemos as coordenadas para o nosso gráfico de voxels. Criaremos uma grade de pontos 8x8x8 usando a função indices do NumPy.
x, y, z = np.indices((8, 8, 8))
Criar os cubos e a ligação
Agora, criaremos os dois cubos e a ligação entre eles. Faremos isso definindo três arrays booleanos que serão combinados em um único array booleano. Os dois primeiros arrays definem a localização dos cubos, enquanto o terceiro array define a localização da ligação.
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
Definir as cores
Agora definiremos as cores para cada objeto no gráfico de voxels. Faremos isso criando um array vazio com a mesma forma do array booleano que criamos no Passo 3 e, em seguida, definindo a cor de cada objeto com base em sua localização.
colors = np.empty(voxelarray.shape, dtype=object)
colors[link] = 'red'
colors[cube1] = 'blue'
colors[cube2] = 'green'
Plotar o array de voxels
Finalmente, podemos usar a função Axes3D.voxels para plotar o array de voxels com as cores especificadas.
ax = plt.figure().add_subplot(projection='3d')
ax.voxels(voxelarray, facecolors=colors, edgecolor='k')
plt.show()
Resumo
Neste laboratório, aprendemos como criar um gráfico de voxel 3D usando a biblioteca Matplotlib em Python. Preparamos as coordenadas para o gráfico, criamos os cubos e o link, definimos as cores para cada objeto e plotamos o array de voxels usando a função Axes3D.voxels. Gráficos de voxel são uma maneira útil de visualizar dados 3D, e o Matplotlib facilita a criação deles.