Presentazione processing 04/11/2016

27
Processing E arte digitale Daniele Barattieri di San Pietro

Transcript of Presentazione processing 04/11/2016

Page 1: Presentazione processing 04/11/2016

Processing E arte digitale

Daniele Barattieri di San Pietro

Page 2: Presentazione processing 04/11/2016

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

21/10/2016 Daniele Barattieri3

Download

● Sito ufficiale: https://processing.org/

● Scompattate e avviate...

Page 4: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri4

Dove eravamo rimasti?

Page 5: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri5

Pronti? :D

Page 6: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri6

Andiamo!

Page 7: Presentazione processing 04/11/2016

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

21/10/2016 Daniele Barattieri8

...concettualmente

Page 9: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri9

Nuova tab+

● Apriamo una nuova pagina dal menu

● Diamo un nome

Page 10: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri10

Vediamo un po'...

Page 11: Presentazione processing 04/11/2016

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

21/10/2016 Daniele Barattieri12

Risultati?

Page 13: Presentazione processing 04/11/2016

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

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

21/10/2016 Daniele Barattieri15

UH-ARRAY!

● Servono da “sacchetti” per tanti oggetti, messi in “linea”

Page 16: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri16

...e ancora, come li uso?? =.=

Page 17: Presentazione processing 04/11/2016

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

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

21/10/2016 Daniele Barattieri19

PROGETTO

...volevamo ottenere un effetto simile a questo giusto?

Page 20: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri20

PRESTATEMI ORECCHIO!

Page 21: Presentazione processing 04/11/2016

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

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

21/10/2016 Daniele Barattieri23

...e alle dimensioni!

● Se modifichiamo dei pixel, ricordiamoci di “updatePixel()”!

Page 24: Presentazione processing 04/11/2016

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

21/10/2016 Daniele Barattieri25

Librerie

https://processing.org/reference/libraries/

Page 26: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri26

Domande?

Page 27: Presentazione processing 04/11/2016

21/10/2016 Daniele Barattieri27

Grazie

● Contatti– Mail: [email protected]– µHack: [email protected]