Ableton Certified Trainer, Music Technologist, Creative Coder, Educator

Author: Federico

  • Esercizio: Testo psichedelico

    Oggi vi propongo un esercizio molto semplice per analizzare alcune funzioni relative al testo che non abbiamo avuto modo di approfondire nei post precedenti. L’esercizio riportato qui sotto mostra come siano sufficienti poche righe di codice per ottenere risultanti interessanti lavorando con del testo all’interno di Processing. Partiamo dal codice completo del programma: /* * Esercizio: […]

  • Font personalizzati: aggiungerli e utilizzarli

    In Processing è possibile utilizzare le font che abbiamo installato sul nostro computer all’interno dei nostri sketch. In questo post vedremo come aggiungerli al nostro programma e come utilizzarli in modo efficace. Questi argomenti saranno sicuramente utili a chi ha un background di tipo grafico e utilizza regolarmente Photoshop o Illustrator. Font vettoriali La prima funzione che […]

  • 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 […]