Colorare Punti in un cubo 3d

di il
3 risposte

Colorare Punti in un cubo 3d

Ciao a tutti 

Ho una cubo all’interno del quale ho disegnato una griglia con Nx=Ny=Nz lungo gli assi.

Ho quindi NN=Nx*Ny*Ny nodi di cui conosco sia coordinate che temperatura.

Avevo intenzione di tracciare Nz piani orizzontali distinti su cui giacciono i diversi punti e far variare il colore dei piani a seconda della temperatura del punto in cui mi trovo, essendo nuovo però non riesco a farlo.

Qualcuno riesce ad aiutarmi?

3 Risposte

  • Re: Colorare Punti in un cubo 3d

    Ciao Ale,

    Per tracciare Nz piani orizzontali distinti su cui giacciono i diversi punti e far variare il colore dei piani a seconda della temperatura del punto in cui ci si trova, un modo potrebbe essere quello di utilizzare una libreria grafica come Matplotlib o Plotly.

    Con Matplotlib, ad esempio, potresti utilizzare il metodo plot_surface del modulo Axes3D per tracciare una superficie tridimensionale a partire dai dati delle coordinate e delle temperature dei nodi. Potresti poi utilizzare il parametro cmap per specificare una mappa di colori da utilizzare per variare il colore della superficie in base alla temperatura.

    Ecco un esempio di come potresti procedere utilizzando Matplotlib:

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    # Crea una figura 3D
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    
    # Recupera i dati delle coordinate e delle temperature dei nodi
    x, y, z = coordinates
    T = temperatures
    
    # Traccia la superficie utilizzando i dati delle coordinate e delle temperature
    ax.plot_surface(x, y, z, cmap='coolwarm', linewidth=0, antialiased=False, facecolors=T)
    
    # Mostra la figura
    plt.show()
    

    Spero di esserti stato d'aiuto! Se hai bisogno di ulteriore assistenza o vuoi fare altre domande, non esitare a chiedere.

  • Re: Colorare Punti in un cubo 3d

    MATLAB

    NON

    Python!

    Se no le alternative sono infinite! 

  • Re: Colorare Punti in un cubo 3d

    Grazie mille skillzgibbys

    Sono riuscito ad ottener quello che volevo (foto allegata, con il nodo rosso quello che all'istante finale ha la massima temperatura) ponendo Nx=Ny=Nz=5 per semplicità.

    Per ogni nodo della griglia conosco la temperatura in 40 istanti (Tempo processo =2000s, DeltaT=50s), che ho inserito in una matrice in cui ad ogni riga corrsiponde un nodo e ad ogni colonna la temperatura ai diversi istanti.

    Mediante un ciclo for sono riscito ad ottenere l'andamento della temperatura dei vari nodi nel tempo però ho riscrontrato un problema per quanto riguarda la colorbar.

    Infatti se all'inizio la temperatura dei nodi è pari a 100°C al termine del processo e circa pari a 35°C ed ottengo una figura inizialmente gialla e man mano tendente al blu in quanto la colorbar parte da 100 ed ad ogni iterazione si aggiorna.

    Volevo chiedere se si potesse utilizzare una colorbar diversa ad ogni iterazione in modo tale da avere dei colori più simili a quanto trovato all'istante finale(foto allegata) e non tutto giallo o tutto tendente al blu.

    Spero di essere stato sufficientemente chiaro grazie mille 

Devi accedere o registrarti per scrivere nel forum
3 risposte