Arte Generativa

( generative art )

Informativa privacy e cookie

Generazione Albero Procedurale

Stella inattivaStella inattivaStella inattivaStella inattivaStella inattiva
 
::cck::54::/cck::
::introtext::
Algoritmo Codice (e Video Tutorial <-)

In questo esempio si genera un albero 2D proceduralmente, ed è uno studio nell'ambito del campo di interesse della "Generative Art".

Il programma è scritto in Java e nella versione non on line (scaricabile nell'area download di questo sito) usa i Threads per gestire l'esecuzione concorrente della generazione dei rami e delle foglie.

Nella versione web, riscritta per poter essere eseguita on line (nelle due finestre seguenti) gli oggetti Thread non sono supportati appieno al momento, e quindi la programmazione concorrente l'ho dovuta simulare in modo alternativo. Un'altra caratteristica interessante è l'uso del double buffering in entrambi gli esempi che seguono ma nel secondo programma la tecnica del doppio buffer è stata ulteriormente estesa per accellerare il ridisegno dell'intero albero dopo il suo completamento, ovvero nel primo esempio un thread disegna direttamente a schermo nel secondo esempio un thread disegna su due immagini non a schermo e le disegna sovrapponendole per creare l'immagine finale, il vantaggio sta che una volta completato lalbero esso diventa una immagine raster con canale alfa da incollare in tutti i fotogrammi successivi e non un oggetto vettoriale calcolato e ridisegnato completamente ogni fotogramma, quindi l'animazione dei fiori risulta più veloce con lo sfondo dell'albero generato.

Un maggiore approfondimento delle tecniche e dei dettagli sono espressi nei video tutorial parte1 e parte 2 accessibili dal menu Video o dal Video Tutorial in questo articolo.

::/introtext::
::fulltext::

 Ecco i due esempi. NOTA: se si usano entrambi contemporaneamente la velocita di ridisegno va ripartita tra i due programmi.

Per usarli fai click all'interno della finestra in una parte bassa in modo che il disegno dell'albero entrarà completamente. Per vedere e modificare il codice sorgente clicca sul pultante della finestra </>

 

Questo secondo esempio usa il doppio buffering e risulta più veloce nel disegno delle animazioni e meno nella costruzione iniziale dell'albero.

 

::/fulltext:: ::cck::54::/cck::

Comments powered by CComment

© 2018 sito prototipale studio di GiuseppeGi