Home  |  Map  |  BasiArt

Estratti preliminari ed esecutivi

Algoritmi generativi

Premessa

Turlon è per intero autore unico di un software generativo a cui ha dato il nome di IperMaT.

Nato per obiettivi personali di ricerca, il software non ha mai avuto fini commerciali o di distribuzione. In passato, l'autore si è reso disponibile a utilizzarne e condividerne alcune parti per rispondere in amicizia a quesiti di carattere scientifico o a domande di aiuto su problematiche artistiche di natura algoritmica.

Sviluppato su sistema operativo Microsoft® Windows 2000™ in linguaggio VisualBasic™ 6.0, il software consiste attualmente in un codice sorgente di circa 1 GB che, una volta compilato, genera un eseguibile di circa 60MB. Dette dimensioni, onerose e importanti anche nei più comuni software commerciali, rendono, da un punto di vista temporale, non proponibile se non proibitiva l'ipotesi di adeguamento di IperMaT a versioni di sistema operativo o di linguaggio più moderni.

I primi algoritmi, riconducibili alla generazione di ipercubi e ipersfere, sono stati codificati con la storica versione VisualBasic™ 1.0 già alla fine degli anni '80. Lo sviluppo è proseguito da allora e continua tuttora affrontando e penetrando tematiche di natura fisico-matematica con progressivi affinamenti e arricchimenti di carattere anche multimediale. Il risultato è la disponibilità di una imponente mole di algoritmi finalizzati sia a ricadute artistiche sia a supportare attività di ricerca su argomenti strettamente scientifici anche interdisciplinari.

Aspetti generali

Come si può facilmente evincere dalle varie pagine del sito, lo spettro delle tematiche trattate è talmente ampio che dilungarsi su singoli algoritmi generativi rischia di essere dispersivo e fuori luogo. Tuttavia, per dare una idea sufficientemente articolata dei concetti e delle attività che stanno alla base di una opera generativa, può essere utile illustrare sinteticamente le varie fasi che, a partire da uno specifico obiettivo, costituiscono l'ossatura del relativo processo di elaborazione.

Quanto segue presuppone la lettura preliminare della pagina relativa alla Tecnica operativa e la conoscenza degli elementi matematici di base descritti nella pagina dedicata alle Forme geometriche nD. In particolare, la struttura geometrica di riferimento è l'ipercubo.

I contenuti espositivi sono corredati da immagini relative a schermate originali ottenute a livello sia di costruzione sia di esecuzione del software.

Obiettivo generativo

L'obiettivo proposto è quello di esplorare le capacità generative di un pennello costituito da un ipercubo 4D che, in moto predefinito nell'iperspazio, sia l'origine di una traccia registrabile. Una volta congelata in una arbitraria posizione finale, la traccia del moto virtuale diventa una esemplificazione di pittura generativa.

Pur se sono possibili rappresentazioni con superfici, la struttura dell'ipercubo 4D è considerata unicamente in termini di vertici e spigoli. Il tipo di moto è governabile da parametri 4D nominalmente riconducibili agli equivalenti nello spazio 3D (angoli azimutali, zenitali, distali...). Anche se il software consente la gestione di moti relativi al centro struttura e di carattere casuale, il moto esemplificativo proposto è di tipo assoluto e di carattere deterministico. Ciò significa che, a parità di condizioni iniziali e finali, la traccia del moto e il risultato generativo hanno il crisma della ripetibilità.

Fasi operative

Da un punto di vista generale, è possibile distinguere due gruppi di fasi.

Il primo gruppo, di carattere preliminare, si riferisce alla costruzione di codice finalizzato a obiettivi specifici quali:
- definizione dell'iperspazio
- definizione dei vertici
- definizione degli spigoli

Per motivi di spazio e di opportunità, le immagini di codice proposte nelle schermate sono fortemente semplificate con l'unico scopo di evidenziare gli elementi concettuali e operativi essenziali.

Il secondo gruppo, di carattere esecutivo, si riferisce ai passaggi operativi, su finestre successive, finalizzati all'affinamento dei vari elementi utili al risultato generativo finale quali:
- definizione del cromatismo generale
- definizione del pennello
- definizione della traccia e delle modalità operative
- analisi di prove di congelamento
- determinazione della forma pittorica utile.

Nella pratica elaborativa, la sequenza delle fasi citate è puramente orientativa e arbitrariamente ripetibile e riordinabile. In tutte le fasi, di capitale importanza è il ruolo del pennello inteso come generica iperstruttura in moto virtuale nell'iperspazio e opzionalmente costituita da vertici, spigoli e superfici.

Per motivi di sintesi espositiva, alcune delle schermate proposte hanno elementi di sovrapposizione e presentano selezioni di testi o controlli essenziali evidenziate da riquadri colorati.

Ciascuna fase è accompagnata da brevi note esplicative.

Fasi preliminari

I dettagli espositivi seguenti sono prevalentemente ritagliati sui geomtopi. Di portata diversa e spesso ben più vasta sono le attività algoritmiche preliminari finalizzate alla rappresentazione di altre strutture quali oscitopi, funztopi, modutopi, logitopi e autitopi.

Definizione dell'iperspazio

La costruzione dell'iperspazio nD in cui muovere iperstrutture, indipendentemente dalle loro specificità, è il primo passo di ogni attività. Per le finalità pittoriche, il movimento deve essere proiettabile nel piano ad uso stampa 2D e opzionalmente nello spazio ad uso stampa 3D.
L'obiettivo viene raggiunto introducendo e inizializzando alcune variabili di tipo angolare e distale di carattere sia mono sia multi-dimensionale (riquadro rosso in F01).

Definizione dei vertici

La costruzione dei vertici è specifica per ogni tipo di struttura. Prevede la costruzione successiva di una serie di variabili (coordinate primali, basali, virtuali, ...) che accompagnano la struttura nelle varie fasi operative. Come nel caso dell'ipercubo, definire le variabili utili può risultare relativamente semplice (riquadro rosso in F02). Non è così agevole nel caso di strutture geometriche, funzionali o logiche più complesse e, come conseguenza, diventa fondamentale dedicare tempo e spazio alla ingegnerizzazione del codice al fine di poterlo riutilizzare nel modo più efficace ed estensivo possibile.

Definizione degli spigoli

La costruzione degli spigoli è diretta espressione delle regole di selezione che consentono di collegare i vertici tra loro. Rappresenta un momento stimolante nell'attività di ricerca e può risultare laboriosa e complessa. Nel caso di un ipercubo, l'idea di fondo è semplice e prevede il collegamento tra vertici nel solo caso che il numero di coordinate primali comuni differisca di uno dalle dimensioni dell'iperspazio (riquadro rosso in F03).
Anche nel caso degli spigoli, la ingegnerizzazione del codice riveste un ruolo fondamentale.

Note sulle attività preliminari

Le attività di cui sopra, relative a vertici e spigoli, costituiscono solo un esempio degli innumerevoli algoritmi da approntare e delle questioni da affrontare al fine di rappresentare una iperstruttura (la sola leggibilità delle superfici costituisce un problema non da poco nel caso di dimensioni superiori a tre). Una analisi attenta delle schermate precedenti rivela la presenza esplicita di codice secondario, unitamente alla presenza implicita di problematiche multimediali.

Un ulteriore aspetto preliminare è la necessità di poter disporre di finestre di dialogo utili a supportare e velocizzare le fasi esecutive. La parametrizzazione a vari livelli richiede infatti la possibilità di interventi immediati in itinere posteriori alla realizzazione dei codici. Stante la varietà e la portata delle tematiche, la costruzione manuale di finestre di dialogo diventa inutilmente faticosa e di onerosa gestione sia durante l'allestimento iniziale sia successivamente in presenza di modifiche o di aggiornamenti.

Per ovviare al problema di cui sopra, Turlon ha sviluppato algoritmi, interni a IperMaT, destinati alla costruzione automatica di finestre di dialogo, realizzando uno strumento noto tecnicamente come generatore di maschere. Le immagini relative alle schermate successive ne costituiscono un esempio di applicazione.

Fasi esecutive

Supposta esaurita la fase preliminare relativa al completamento di tutto il codice utile, si è nelle condizioni di dar corso alle attività specifiche di generazione. Nei fatti, sono proprio le fasi esecutive a ispirare e stimolare la costruzione di codici sempre più ricchi e innovativi dal punto di vista sia scientifico sia pittorico.

Definizione del cromatismo generale

Come già illustrato in altre pagine, il colore assunto da un punto di una iperstruttura è associato, attraverso univoci criteri deterministici, alla sua posizione in un iperspazio predefinito. Conseguentemente, è opportuno tener presente che, una volta ottenuta una prima pittura generativa grezza sufficientemente consona al personale gusto di forma, può essere necessario riassegnare il cromatismo in base a mutevoli criteri estetici di natura varia. Anziché modificare il cromatismo iniziale e ripetere l'iter generativo, è pertanto di gran lunga preferibile fissare dei colori iniziali standard, eseguire una sola ultima volta la sequenza utile alla generazione grezza e riassegnare solo a posteriori il cromatismo definitivo.

La schermata in F04 è descrittiva sia dei già citati parametri angolari di inizializzazione relativi a un iperspazio 4D (riquadri rossi) sia di una tipica attività di standardizzazione dei colori (riquadri blu) . Le selezioni si ripercuotono sulla posizione degli assi e sulla colorazione dei loro punti. Le etichette con le coordinate primali in corrispondenza dei punti unitari hanno un ruolo puramente esplicativo.

Definizione del pennello

La definizione della struttura del pennello passa attraverso l'assegnazione di forme cromatiche caratteristiche a vertici, spigoli e superfici. Le forme relative alle superfici hanno vincoli perimetrali ma possono essere variamente progettate (reticolazioni, sottostrutture oscillative, ...). Le forme relative agli spigoli possono andare oltre le usuali rappresentazioni in termini di segmenti consentendo tratti molto elaborati (bande, traiettorie, ...). Decisamente articolate sono le forme assegnabili ai vertici che, facendo ricorso anche a tecniche ricorsive, consentono di richiamare la quasi totalità delle iperstrutture via via gestite dal software.

La schermata in F05 è descrittiva delle sottofinestra dedicate alla definizione dei vertici e di alcune selezioni essenziali (riquadri rossi). In secondo piano è visibile la sottofinestra equivalente riferibile agli spigoli. Un esempio di intervento nel codice è illustrato in F03 (riquadro blu).

Definizione della traccia e delle modalità operative

L'aspetto della traccia collegata al moto virtuale di una iperstruttura nell'iperspazio passa attraverso alcune selezioni caratterizzanti esplicitabili a vari livelli e sintetizzati in F06.

La prima di queste selezioni si riferisce alle modalità operative di natura ciclica o parzialmente ciclica descrittive dei passi registrabili del moto (riquadri rossi). La seconda si riferisce alla assegnazione analitico-parametrica del tipo di moto nell'iperspazio (traslazionirotazioni, casualizzazioni, ...) attraverso la definizione di funzionali opportuni con operatività virtuale (nella pratica a muoversi  non è l'iperstruttura ma l'iperspazio di sostegno). In particolare, l'esempio llustrato (riquadri blu) si riferisce a funzionali rappresentativi di una combinazione di moti rotatorio e traslatorio dall'origine all'infinito e viceversa. La terza e ultima selezione si riferisce alla inizializzazione dei parametri di moto tipicamente espresse da variabili angolari a livello mono o multi-dimensionale (riquadri magenta).

Analisi di prove di congelamento

Definiti pennello e traccia, l'attività successiva e quella di effettuare e analizzare delle prove di congelamento in corrispondenza dei parametri iniziali e finali precedentemente introdotti a livello di definizione del tipo di ciclo e di caratteristiche del moto.

Le tre immagini di F07 dal basso verso l'alto, sono rispettivamente indicative di tre tipi di congelamento in posizioni unitaria iniziale (riquadro rosso), arbitraria intermedia (riquadro magenta) e decisoria finale (riquadro blu). In particolare, l'immagine in basso si può a tutti gli effetti considerare l'espressione del pennello virtuale che da origine alla pittura generativa.

Determinazione della forma pittorica utile

Per questioni di rapidità operativa, le varie prove sono di norma effettuate con immagini di dimensioni medio-piccole. Pertanto, una volta deciso quale debba essere la traccia congelata conclusiva, l'ultimo passaggio consiste nella verifica del risultato pittorico su immagini di dimensioni medio-grandi uguali o proporzionali a quelle attese per l'opera finale.

In F08 è visualizzato un esempio di estensione pittorica riferito al congelamento finale illustrato in F07.

Note sulle attività esecutive

Come già anticipato in tema di definizione del cromatismo generale, le varie fasi esecutive sono tipicamente accompagnate da una revisione cromatica dei risultati in osservanza di opportunità varie e di criteri estetici. Nel caso che una o più delle risultanze emerse in itinere non siano consone alle aspettative, l'iter della sequenza operativa viene parzialmente o del tutto ripetuto e riordinato fino al raggiungimento di un obiettivo giudicato accettabile.

Fase integrativa

Ai già citati due gruppi di fasi precedenti è possibile aggiungere una ulteriore fase dedicata alla gestione del sonoro.

Come già accennato in altre pagine del sito l'associazione di una posizione nell'iperspazio a un colore si può accompagnare alla univoca associazione di un colore a una nota musicale. Quanto sopra, per la proprietà transitiva, equivale a poter associare univocamente una posizione a una nota. La posizione può essere riferita a un vertice o ai punti di uno spigolo generando una composizione che diventa conseguentemente una forma sonora rappresentativa dello stato o del movimento di una iperstruttura nell'iperspazio. L'operatività generale è assicurata da opportuni interventi a vari livelli del codice (es. riquadri magenta in F01 e F03).

Nel passato, gli aspetti legati alle sonorità sono stati oggetto di ricerche mirate, non più riprese o riconsiderate nel presente, che hanno consentito di incorporare in IperMaT una serie di significative capacità operative sul tema. Per gli scopi di questa pagina, può essere utile esemplificare alcune fasi di gestione utili alla costruzione di composizioni audio-video. Tali fasi si integrano in interventi a più livelli sintetizzati nella schermata in F09.

In particolare, sono da sottolineare le inizializzazioni che intervengono nella già citata sottofinestra di impostazione ciclo (riquadri rossi), e nella finora mai citata sottofinestra che coordina e governa le caratteristiche generali del disegno, comprendendo i criteri di associazione tra elementi strutturali e sonoro (riquadri magenta). Infine, un ruolo chiave hanno le specifiche musicali del sonoro che sono variamente definibili e opzionabili in una articolata sottofinestra dedicata (riquadri blu).

Aspetti conclusivi

Stanti i limiti dell'obiettivo generativo esemplificato, i paragrafi precedenti sono in grado di rappresentare solo in minima parte la ricchezza di algoritmi e le potenzialità del software ai fini delle eventuali ricadute artistiche. Per avere una stima dei risultati ottenibili può essere sufficiente gettare uno sguardo di insieme sulla complessità e sulla quantità di opzioni disponibili nelle sole schermate presentate.

In chiusura, non resta che sottolineare il peso e l'importanza delle fasi preliminari di progettazione degli algoritmi e di ingegnerizzazione del codice. Le fasi esecutive rappresentano solo l'ultimo atto.