Vediamo un esempio graficamente carino, costruzioni LEGO con la libreria Matplotlib di Python (usata per creare grafici 2D e 3D). Non che siano realmente LEGO, si tratta di un grafico ad istogrammi in 3D che stavo usando in un altro contesto... Solo che a vederlo la prima volta, ho subito pensato ai LEGO allora ho deciso di colorarlo come si deve 🙂 il programma in sé crea una specie di rilievo montuoso, livello minimo ai bordi e livello massimo al centro, immaginiamo quindi i mattoncini LEGO.
Poi scopro che esiste addirittura la libreria Pybricks, <<Python for LEGO hubs>>, per la gestione hardware-software, controlli elettronici ecc.
Ecco tutto il codice Python:
import numpy as np
from matplotlib import pyplot as plt
import random as rd
Nx=15
Ny=15
Z=np.zeros((Nx,Ny))
color=['green','blue','yellow','red']
for j in range(0,Ny):
for i in range(0,Nx):
if(i>=int(Nx/2) and j>=int(Ny/2)):
Z[i][j]=(Ny-j)*(Nx-i)
elif i>=int(Nx/2) and j<int(Ny/2):
Z[i][j]=(Nx-i)*j
elif j>=int(Ny/2) and i<int(Nx/2):
Z[i][j]=i*(Ny-j)
elif i<int(Nx/2) and j<int(Ny/2):
Z[i][j]=i*j
plt.figure()
ax = plt.axes(projection ='3d')
for j in range(Ny):
for i in range(Nx):
x=rd.randint(0,3)
ax.bar3d(i, j, 0, 1, 1, Z[i][j], color=color[x])
plt.title("Costruzione con LEGO - Python Matplotlib")
plt.show()
Infine l'immagine del risultato. Sì, direi proprio che somiglia molto ad una costruzione di LEGO!
