mercoledì 15 ottobre 2014

Ricorsività e merletti in Processing

Un esempio di curva di Peano costruita
su un esagono
Cercando dei semplici motivi geometrici generabili via software, mi sono ricordato di uno dei programmi più interessanti che avevo visto al computer nella mia adolescenza. 

Questo era scritto sulla gloriosa (per gli smanettoni della mia generazione) rivista LIST, e quello che mi ricordavo, oltre alle esperienze estatiche (anzi estetiche), era che il programma si chiamava “PEANO”. 
Il programma era in grado di generare figure più gradevoli della semplice curva di Peano.
Dopo un bel po’ di ricerche, ho riscontrato i fatti enumerati di seguito:

  • LIST non è consultabile online ma
  • il sito ready64.it cita un listato chiamato “Curve di Peano” sul numero 27 della rivista “Commodore Computer Club”, al quale non sono riuscito ad accedere direttamente
  • consultando il forum, sono stato indirizzato ai link per vedere le ottime scansioni delle pagine della suddetta rivista
  • Da qui è possibile leggere tutto l’articolo di pag. 37 e segg., intitolato “Ricorsività e merletti in BASIC”, alla fine dell’articolo si trova l’ambito listato
  • Innanzitutto faccio un pubblico encomio all’autore dell’articolo Danilo Toma, per il suo lavoro di divulgazione e per aver messo in Basic un algoritmo ricorsivo.


Analizzando il listato, l’ho convertito in Processing, per eseguirlo su una piattaforma più recente di un C64 (o di un MSX come quello che avevo io).

Questo è lo sketch Processing che ne è risultato 

La parte più difficile della conversione è stata quella relativa alla subroutine iterativa, nella quale si trovano un paio di cicli annidati usando il buon “vecchio” GOTO che, a ragione o a torto, è stato rimosso dai linguaggi ad alto livello moderni. Il risultato della conversione di questa parte non è il massimo dell’eleganza; dico questo perché non sono riuscito ad evitare di usare una variabile aggiuntiva rispetto al programma originario :-\
Nel programma ho integrato alcuni completamenti interessanti. Per esempio premendo i tasti dal 1 a 0 possiamo vedere curve diverse, come proposto nell'articolo originale, da cui ho estratto la seguente tabella
Tipo N.Curve Ordine
A 4 4 4
B 5 5 2
C 6 6 2
D 6 6 3
E 5 6 3
F 3 4 4

G 5 5 4

H ? ? ?
I 4 5 3
L 4 5 5
Altri comandi possono essere visualizzati a console premendo il tasto "h".


Augurandovi delle ottime esperienze estetiche.


E' possibile visualizzare i parametri della curva con il tasto "P"

Questa figura è generabile con i parametri 4 4 4
Mentre le curve più "significative" si ottengono per piccoli
valori dei parametri, anche salendo si ottengono effetti notevoli

Nessun commento:

Posta un commento

Archivio blog