Le tur-miti

Animaletti del piano.
Il programma versione 2021 in funzione su un raspberry pi

«Nessun organismo, se si esclude l'uomo, modifica l'aspetto di un paesaggio come le termiti.»

WALTER LIN5ENMAIER, Insects of the World

Con questa citazione A. K. Dewdney inizia la rubrica (Ri)creazioni al calcolatore su Le Scienze n.254 dell'ottobre 1989, chi volesse leggere l'articolo originale può trovarlo su Internet Archive (Nuova pagina).

In buona sostanza si tratta di una Macchina di Turing (Nuova pagina) bidimensionale che ad ogni ciclo si muove su una diversa cella e la colora a seconda dello stato.

L'operazione produce immagini che possono passare dal caotico al regolare (o viceversa).

Foto dello schermo del programma versione 1989

Ho ritrovato queste foto casualmente cercando delle foto di frattali per farne delle carte de visite fotografiche contemporanee.

Dopo aver letto il già citato articolo de Le Scrienze, avevo realizzato un programma in Turbo Pascal che avevo anche inviato alla rivista MCmicrocomputer e che avevo avuto l'onore di veder citato nella rubrica Intelligiochi del numero 91 (Nuova pagina) il successivo mese di dicembre.

Foto dello schermo del programma versione 1989

Ho recuperato il vecchio floppy con i sorgenti (Listato 1 (Nuova pagina) e Listato 2 (Nuova pagina)) e la documentazione (Nuova pagina).

Ho salvato il tutto in un repository su GitHub (Nuova pagina).

Foto dello schermo del programma versione 1989

Nel floppy c'erano anche alcune tabelle di regole, come questa.

2
1,1,s
2,0,d
2,1,a
1,0,i

Nelle note all'inizio del Listato 2 (Nuova pagina) è spiegato come comporle, ma una macchina DOS non è oggi facile da trovare (per la verità conservo, funzionante, il pc su cui girava quel programma), e comunque non era presente alcuna funzione per salvare i risultati in un file immagine.

Foto dello schermo del programma versione 1989

La voglia di provare a scrivere le regole e vedere come si comportavano in ambienti più estesi (allora utilizzavo una scheda EGA da 640x350 pixel, che per l'epoca era tanta roba) cresceva e mi metto all'opera per soddisfarla.

Riscrivo il programma in C# in modo da poter riutilizzare le vecchie regole, oltre a crearne di nuove e salvare i risultati in un file.

Immagine creata con il programma versione 2021

Nel repository su GitHub (Nuova pagina) è contenuta una solution C# con una nuova versione del programma.

Dopo una prima versione che utilizzava le Windows Forms, visto che il target è.Net 5.0, converto il tutto con GTK#, si che il programma possa funzionare anche su Linux, su Mac e anche sul mio Raspberry Pi.

Nel Listato 3 (Nuova pagina) c'è il main, mentre nel Listato 4 (Nuova pagina) c'è la form (che in GTK si chiama 'Window')

Immagine creata con il programma versione 2021

La parte di gestione della turmite è in un progetto separato, disaccoppiata dalla parte grafica (nel vecchio programma lo stato della macchina era contenuto nella memoria della scheda grafica).

E' composto da una classe principale (Listato 5 (Nuova pagina)) e da due classi accessorie (Listato 5a (Nuova pagina) e Listato 5b (Nuova pagina)) che gestiscono la lista delle regole.

Immagine creata con il programma versione 2021

Ma il pulsante di scatto è la vera novità che permette di catturare le trame disegnate dalla turmite che si muove sul piano.

In questa pagina, ne mostro alcune.

Immagine creata con il programma versione 2021
Inizio pagina
 
Precedente
Sommario
Successivo