Crea arte galattica 3D con Matplotlib |  di Lee Vaughan |  Ottobre 2023

 | Intelligenza-Artificiale

Più divertimento con le spirali logaritmiche

Una galassia a spirale bianca su sfondo nero.
Una simulazione 3-D di una galassia a spirale (dell’autore)

In un articolo precedenteHo dimostrato come utilizzare il modulo GUI Tkinter di Python per creare 2-D arte galattica utilizzando l’equazione per una spirale logaritmica (1). In questo articolo faremo un ulteriore passo avanti e utilizzeremo la libreria di plottaggio principale di Python, matplotlib, per produrre attraenti 3D simulazioni di galassie a spirale. Oltre ad essere divertente, questo progetto è un ottimo modo per presentare agli studenti il ​​concetto di spirale logaritmica.

Logaritmico le spirali vengono prodotte quando gli oggetti naturali crescono geometricamente. Alcuni esempi sono le galassie, gli uragani e le pigne. Nel caso delle galassie, queste spirali sono rappresentate dalle stelle piene di stelle bracci a spirale.

Perché le spirali si irradiano da un punto centrale o palopossono essere rappresentati graficamente coordinate polari. In questo sistema, il (x, y) le coordinate utilizzate nel più familiare sistema di coordinate cartesiane sono sostituite da (R, Ɵ), dove R è la distanza dal polo (a 0, 0) e Ɵ (theta) è l’angolo misurato in senso antiorario dall’asse x.

Un grafico che mostra come funzionano le coordinate polari.  Due assi si incontrano al centro e una linea radiale, raffigurante la “r”, lascia il punto di intersezione ad angolo.  Una linea circolare, raffigurante
Esempio di sistema di coordinate polari (da “Progetti Impractical Python” (2))

Usando questi termini, l’equazione polare per una spirale logaritmica è:

Dove e è la base dei logaritmi naturali, UN è un fattore di scala che controlla la dimensione e B è un fattore di crescita che controlla l’“apertura” della spirale e la direzione della crescita.

Come nell’articolo precedente, modelleremo una galassia a spirale a quattro bracci utilizzando l’equazione logaritmica per disegnare una singola spirale e quindi ruotare e ridisegnare la spirale altre tre volte. Per modellare il nucleo centrale della galassia distribuiremo casualmente i punti in una sfera. Per catturare il “bagliore di fondo” della galassia, distribuiremo casualmente piccole “stelle” attorno al disco galattico.

Infine, per rendere tutto tridimensionale, sposteremo un po’ le stelle nel disco galattico in modo casuale su e giù, quindi utilizzeremo matplotlib per visualizzare i risultati in un grafico 3D.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *