Ableton Certified Trainer, Music Technologist, Creative Coder, Educator

Author: Federico

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

  • Modulo e probabilità

    L’ultima volta che abbiamo parlato di operatori matematici è stato un po’ di tempo fa. Prima di procedere con nuovi argomenti, però, è necessario studiare ancora un paio di cose legate al mondo della matematica: con il post di oggi approfondiremo l’operatore modulo e scopriremo come effettuare un semplice calcolo di probabilità nei nostri sketch. Modulo L’operatore modulo – che viene indicato dal […]

  • Librerie: estendere le funzionalità di Processing

    È possibile estendere le funzionalità di base di Processing utilizzando delle librerie esterne. Una libreria non è altro che un insieme di classi, funzioni e variabili pensate e progettate con il preciso scopo di semplificare l’esecuzione di determinate operazioni che, se programmate da zero, renderebbero il nostro programma troppo verboso. L’idea che sta alla base delle librerie è di […]

  • Ricominciamo?

    Sono passati un paio di mesi dall’ultimo articolo su Processing che ho pubblicato qui. Come avevo scritto nel post di conclusione della prima parte ho sentito la necessità di fermarmi a riflettere su come continuare questo progetto. I problemi emersi erano principalmente due: quali argomenti trattare e come ristrutturare i contenuti fin qui pubblicati (più […]

  • Fine (del livello base)

    Se siete arrivati a leggere fino a questo post, ho una buona notizia da darvi: abbiamo finito gli argomenti base di Processing. Le fondamenta ci sono tutte e, nella pagina riassuntiva dedicata, potete ripercorrere – tutorial dopo tutorial – il percorso iniziato ben otto mesi fa. Abbiamo finito? Certo che no. Alcuni argomenti che abbiamo già trattato sarebbero da […]

  • Interazione tra oggetti

    Dopo la parentesi sugli array (parte 1, parte 2), torniamo a parlare di oggetti. Una domanda che può sorgere spontanea è: possono due oggetti interagire tra loro? Riprendendo porzioni di codice che già abbiamo usato in precedenza oggi realizzeremo uno sketch in cui sarà presente un’interazione tra due oggetti: cambieremo il colore dello sfondo da nero a rosso […]

  • Array di oggetti: Bouncing Ball, parte 4

    È finalmente arrivato il momento di mettere insieme quanto imparato nell’ultimo mese, programmazione ad oggetti e array, e di concludere il nostro esercizio Bouncing Ball. La domanda a cui oggi daremo, finalmente, risposta è sempre la stessa: come faccio a creare decine o centinaia di oggetti? Un array di oggetti Riprendiamo il codice dell’esercizio Bouncing Ball dove l’avevamo lasciato. Il primo […]

  • Array: dichiarazione, inizializzazione e utilizzo

    Avevo concluso l’ultimo post relativo alla programmazione orientata agli oggetti con una domanda: se volessimo creare decine o centinaia di oggetti? Il copia incolla non sarebbe certamente la scelta più consona. Abbiamo capito già da tempo che uno dei principi di base della programmazione è scrivere meno righe di codice possibile per ottenere il risultato sperato. Introduciamo oggi il […]

  • Esercizio: Bouncing Ball, parte 3 (OOP)

    Se vi siete persi gli articoli precedenti, qui trovate la parte 1 e la parte 2 di questo esercizio. Con questo post non aggiungeremo niente di nuovo al nostro programma ma rivedremo per intero il codice per trasformarlo in una versione ad oggetti. Bouncing Ball Object Oriented Per prima cosa aggiungiamo una nuova Tab che chiameremo Ball, […]