Ableton Certified Trainer, Music Technologist, Creative Coder, Educator

Year: 2016

  • Caricare file esterni in Processing

    In tutti gli esempi visti finora abbiamo sempre utilizzato le funzioni interne di Processing per disegnare qualcosa sullo schermo. È possibile, ovviamente, caricare all’interno dei nostri sketch file esterni in vari formati come, ad esempio, font, immagini, file vettoriali, suoni e altro. Dati gli argomenti che affronteremo a breve, è importante capire come effettuare questa operazione […]

  • Testi in Processing: text(), textSize() e textAlign()

    È possibile utilizzare Processing non solo per disegnare forme, colori e animazioni sullo schermo ma anche per lavorare con testi. Avere pieno controllo delle parole sullo schermo può essere utile in diversi progetti in particolare, per esperienza personale, nelle visualizzazioni di dati dove la giusta combinazione di grafica e testo può rendere le nostre infografiche più comprensibili. […]

  • Controllare le trasformazioni: pushMatrix() e popMatrix()

    Le funzioni di trasformazione viste nell’ultimo post ci hanno dato prova di come sia possibile andare a modificare dinamicamente il sistema di coordinate di Processing. In questo articolo, introdurremo due nuove funzioni chiamate pushMatrix() e popMatrix() che, come vedremo insieme, ci permettono di avere maggiore controllo sulle trasformazioni. Matrici Ogni volta che usiamo le funzioni translate(), rotate() e scale() andiamo a modificare una matrice – in […]

  • Trasformazioni: translate(), rotate(), scale()

    Abbiamo già avuto modo all’inizio del percorso base di prendere esplorare il sistema di coordinate in Processing. Una cosa che non abbiamo affrontato in modo approfondito è che questo sistema non è statico. Esistono, infatti delle funzioni dette trasformazioni che ci permettono di modificare il nostro impianto di base. Tali funzioni sono translate(), rotate() e scale() […]

  • Funzioni ricorsive

    In programmazione definiamo ricorsive quelle funzioni che richiamo se stesse all’interno di un programma. A parole si tratta di un concetto molto semplice ma è bene fare qualche esempio per fugare ogni possibile dubbio. Prima di procedere è bene puntualizzare che quando creiamo e usiamo queste funzioni dobbiamo fare attenzione a inserire sempre una condizione di uscita altrimenti lo sketch andrà in StackOverflowError. […]

  • sin() e cos(): onde e funzioni cicliche

    Rimaniamo nel campo della trigonometria e analizziamo le funzioni sin() e cos() che, rispettivamente, ci consentono di calcolare il seno e il coseno di un angolo. Entrambe le funzioni necessitano di un solo parametro: la misura di un angolo espressa in radianti e restituiscono un numero float il cui valore è sempre compreso tra -1.0 e 1.0. Con questo snippet […]

  • Angoli: randians() e degrees()

    Prima di passare a studiare funzioni matematiche come sin(), cos() e tan() che, come vedremo, potranno essere molto utili per i nostri esperimenti con Processing, è necessario fare una breve premessa sugli angoli. La maggior parte delle persone è abituata a misurare gli angoli con i gradi (in inglese degrees): un angolo retto è 90°, un […]

  • 2D Perlin Noise

    Nei due post precedenti abbiamo sempre usato la funzione noise() in modo mono dimensionale. È arrivato il momento di fare un passo in avanti e aggiungere la seconda dimensione. Ripasso: 1D Perlin Noise Quando parliamo di Perlin Noise mono dimensionale dobbiamo immaginare i valori su una linea temporale orizzontale; quando noi chiediamo alla funzione di restituirci un determinato […]

  • Altri esempi con la funzione noise()

    Nell’ultimo post abbiamo analizzato la differenza tra la funzione random() e noise(). La prima, vi ricordo, restituisce dei valori assolutamente casuali che dipendono dai parametri che passiamo alla funzione; la seconda, invece, ci permette di avere una sorta di casualità controllata. I valori che vengono restituiti dalla funzione noise() hanno due caratteristiche fondamentali: sono correlati tra loro e hanno sempre […]

  • Random e Perlin Noise

    In passato abbiamo utilizzato la funzione random() per rendere più interessanti i nostri sketch. Per fare un breve ripasso: vi ricordo che tale funzione accetta uno o due argomenti e restituisce sempre un numero casuale di tipo float. random(10); darà come risultato un numero compreso tra 0 e 10 mentre random(5, 10); restituirà un valore casuale compreso tra un minimo […]