presentazione processing 04/11/2016
TRANSCRIPT
![Page 1: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/1.jpg)
Processing E arte digitale
Daniele Barattieri di San Pietro
![Page 2: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/2.jpg)
21/10/2016 Daniele Barattieri2
Bio - Daniele
● Studente di Ing Informatica● Sedicente Digital Artist● Programmatore● InfoSec wannabe● Presidente µHack● Lavoro
![Page 3: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/3.jpg)
21/10/2016 Daniele Barattieri3
Download
● Sito ufficiale: https://processing.org/
● Scompattate e avviate...
![Page 4: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/4.jpg)
21/10/2016 Daniele Barattieri4
Dove eravamo rimasti?
![Page 5: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/5.jpg)
21/10/2016 Daniele Barattieri5
Pronti? :D
![Page 6: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/6.jpg)
21/10/2016 Daniele Barattieri6
Andiamo!
![Page 7: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/7.jpg)
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!
![Page 8: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/8.jpg)
21/10/2016 Daniele Barattieri8
...concettualmente
![Page 9: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/9.jpg)
21/10/2016 Daniele Barattieri9
Nuova tab+
● Apriamo una nuova pagina dal menu
● Diamo un nome
![Page 10: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/10.jpg)
21/10/2016 Daniele Barattieri10
Vediamo un po'...
![Page 11: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/11.jpg)
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”
![Page 12: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/12.jpg)
21/10/2016 Daniele Barattieri12
Risultati?
![Page 13: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/13.jpg)
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!
![Page 14: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/14.jpg)
21/10/2016 Daniele Barattieri14
Take one, make two!
● E per fare un’altra faccina?
● Immaginiamo però di voler inserire 100 faccine…
![Page 15: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/15.jpg)
21/10/2016 Daniele Barattieri15
UH-ARRAY!
● Servono da “sacchetti” per tanti oggetti, messi in “linea”
![Page 16: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/16.jpg)
21/10/2016 Daniele Barattieri16
...e ancora, come li uso?? =.=
![Page 17: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/17.jpg)
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…
![Page 18: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/18.jpg)
21/10/2016 Daniele Barattieri18
ArrayList – alcuni metodi
● Get(i) ● Add(i)● IndexOf(Object)● Remove(i)● Clear()● Size()● Set(i, object)
![Page 19: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/19.jpg)
21/10/2016 Daniele Barattieri19
PROGETTO
...volevamo ottenere un effetto simile a questo giusto?
![Page 20: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/20.jpg)
21/10/2016 Daniele Barattieri20
PRESTATEMI ORECCHIO!
![Page 21: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/21.jpg)
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)”
![Page 22: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/22.jpg)
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!
![Page 23: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/23.jpg)
21/10/2016 Daniele Barattieri23
...e alle dimensioni!
● Se modifichiamo dei pixel, ricordiamoci di “updatePixel()”!
![Page 24: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/24.jpg)
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()”!!!
![Page 25: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/25.jpg)
21/10/2016 Daniele Barattieri25
Librerie
https://processing.org/reference/libraries/
![Page 26: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/26.jpg)
21/10/2016 Daniele Barattieri26
Domande?
![Page 27: Presentazione processing 04/11/2016](https://reader033.vdocuments.site/reader033/viewer/2022051007/5a64d7897f8b9a735d8b4bc5/html5/thumbnails/27.jpg)
21/10/2016 Daniele Barattieri27
Grazie
● Contatti– Mail: [email protected]– µHack: [email protected]