Graficar y rellenar volúmenes 3D en Python

Estoy trabajando con algunos datos 3D (volumétricos) usando Python, y para cada tetraedro, no solo tengo las coordenadas de los vértices sino también una cuarta dimensión que es el valor de algún parámetro para ese volumen de tetraedro.

Por ejemplo:

# nodes coordinates that defines a tetrahedron volume: x = [0.0, 1.0, 0.0, 0.0] y = [0.0, 0.0, 1.0, 0.0] z = [0.0, 0.0, 0.0, 1.0] # Scaler value of the potential for the given volume: c = 100.0 

Me gustaría trazar un volumen 3D (dado por las coordenadas de los nodos) lleno de un color sólido, que representaría el valor dado C.

¿Cómo podría hacer eso en Python 3.6 utilizando sus bibliotecas de trazado?

Puedes usar mayavi.mlab.triangular_mesh() :

 from mayavi import mlab from itertools import combinations, chain x = [0.0, 1.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0] y = [0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 3.0, 0.0] z = [0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 3.0] c = [20, 30] triangles = list(chain.from_iterable(combinations(range(s, s+4), 3) for s in range(0, len(x), 4))) c = np.repeat(c, 4) mlab.triangular_mesh(x, y, z, triangles, scalars=c) 

introduzca la descripción de la imagen aquí