Post on 22-Jan-2018
transcript
Processing E arte digitale
Daniele Barattieri di San Pietro
21/10/2016 Daniele Barattieri2
Bio - Daniele
● Studente di Ing Informatica● Sedicente Digital Artist● Programmatore● InfoSec wannabe● Presidente µHack● Lavoro
21/10/2016 Daniele Barattieri3
Download
● Sito ufficiale: https://processing.org/
● Scompattate e avviate...
21/10/2016 Daniele Barattieri4
Dove eravamo rimasti?
21/10/2016 Daniele Barattieri5
Pronti? :D
21/10/2016 Daniele Barattieri6
Andiamo!
21/10/2016 Daniele Barattieri7
Oggetti e Classi
● Cos’è? Perché? Com’è?! – Variabili e funzioni concettualmente legate– La programmazione ad oggetti torna
particolarmente comoda con Processing– Stessa struttura, sintassi logica di gestione
classi di Java
● Classe: atto ● Oggetti: potenza
Good Guy Processing!
21/10/2016 Daniele Barattieri8
...concettualmente
21/10/2016 Daniele Barattieri9
Nuova tab+
● Apriamo una nuova pagina dal menu
● Diamo un nome
21/10/2016 Daniele Barattieri10
Vediamo un po'...
21/10/2016 Daniele Barattieri11
E come si usano?
● La prima riga crea una variabile di tipo Faccina
● Dopo la riempiamo di un oggetto Faccina
● E in fine la chiamiamo il metodo “disegnami”
21/10/2016 Daniele Barattieri12
Risultati?
21/10/2016 Daniele Barattieri13
Si ma dove sta la parte interessante?
● La Programmazione orientata agli oggetti (O.O.P.) è estremamente comoda nel gestire vari operatori sul disegno
● Esistono classi molto utili già pronte!
21/10/2016 Daniele Barattieri14
Take one, make two!
● E per fare un’altra faccina?
● Immaginiamo però di voler inserire 100 faccine…
21/10/2016 Daniele Barattieri15
UH-ARRAY!
● Servono da “sacchetti” per tanti oggetti, messi in “linea”
21/10/2016 Daniele Barattieri16
...e ancora, come li uso?? =.=
21/10/2016 Daniele Barattieri17
Gli array sono delicati! Listiamoli!
● L’utilizzo degli array è molto performante ma difficile e delicato
● Esistono altri sistemi per ottenere simili effetti…
21/10/2016 Daniele Barattieri18
ArrayList – alcuni metodi
● Get(i) ● Add(i)● IndexOf(Object)● Remove(i)● Clear()● Size()● Set(i, object)
21/10/2016 Daniele Barattieri19
PROGETTO
...volevamo ottenere un effetto simile a questo giusto?
21/10/2016 Daniele Barattieri20
PRESTATEMI ORECCHIO!
21/10/2016 Daniele Barattieri21
Immagine… puoi!
● Classe “PImage” messa a disposizione da Processing per gestire le immagini, dalla dimensione sino ai singoli pixel!
● Si carica con “loadImage(path)”
● Si disegna con “image(oggetto_img)”
21/10/2016 Daniele Barattieri22
Image
● I file devono stare nella cartella “data”
● Se si vogliono leggere i pixel, usare prima “loadPixel()”
● Attenzione ai formati!
21/10/2016 Daniele Barattieri23
...e alle dimensioni!
● Se modifichiamo dei pixel, ricordiamoci di “updatePixel()”!
21/10/2016 Daniele Barattieri24
D-D-D
● Basta aggiungere “P3D” come terzo argomento della funzione size()
● Attenzione che non basta aggiungere una terza coordinata alle fuzioni!
● Fare largo usdo di “translate()”!!!
21/10/2016 Daniele Barattieri25
Librerie
https://processing.org/reference/libraries/
21/10/2016 Daniele Barattieri26
Domande?
21/10/2016 Daniele Barattieri27
Grazie
● Contatti– Mail: danielebarattieri@gmail.com– µHack: info@muhack.org