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. … Continued

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 … Continued

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 … Continued

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 … Continued

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 … Continued

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 … Continued

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 … Continued

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 … Continued

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ù … Continued

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 … Continued