Introduzione a Processing. Roberto Ranon

Похожие документы
Introduzione a Processing

L'ambiente di programmazione PROCESSING

Ingegneria del Software 1: Eclipse

Introduzione a Visual Studio 2005

Modulo 2: Strutture fondamentali della programmazione Java

Cos è? Definizione ufficiale scritta dall inventore di Arduino, Massimo Banzi.

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Arduino& Potenziometro

Introduzione a Processing. Tecnologie digitali suono e immagine A.A Vincenzo Lombardo

Introduzione a Processing. Prof. Christian Gervasi

SCRATCH CECILIA MONTI DIGITAL CO-FONDATRICE E DOCENTE PRESSO MAKER SCHOOL TRADATE

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Roulettuino. Progetto realizzato dagli alunni della V ABACUS d informatica:

PHOTOSHOP BREVE TUTORIAL Massimo Picardello Progetto Campus One Redazione di Emanuele Gandola e Massimo Picardello

Per vedere tutti i tutorial:

Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia

layout senza tabelle Posizionamento con i CSS Ad ogni elemento HTML corrisponde un area rettangolare, detta box Contenuto

Introduzione a Visual Studio Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Argomenti Corso SAP Online ABAP Completo

Introduzione alla programmazione. Walter Didimo

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Corso sul linguaggio Java

FONDAMENTI DI POWER POINT

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Software WinEeprom Evo

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Logo. (Setup Kit)

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Algoritmi e basi del C Struttura di un programma

Argomenti Corso SAP Online ABAP/4 Completo

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

IZ1MHN e IW1ALX. Agenda. Introduzione ad Arduino Arduino l hardware Arduino il software Alcune idee realizzabili con Arduino E se facessimo un corso?

Elementi di programmazione Algoritmi Flow Chart, Fasi della programmazione Linguaggi Elementi di programmazione ad oggetti

Sincronizzare file con Google Drive GUIDA PRATICA HELPDESK CO.GE.S. COOPERATIVA SOCIALE

Come creare un Time-Lapse

Internetworking V a nno

FONDAMENTI DI ARDUINO

Introduzione al Linguaggio di Programmazione

Programma di INFORMATICA

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

La maschera di contrasto, questa sconosciuta

TEAM DELL INNOVAZIONE DIGITALE SCUOLA DELL INFANZIA:

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

SOMMARIO. Introduzione

D B M G Il linguaggio HTML

3. Le routine evento in Access 2000/2003

Introduzione al Linguaggio C ed all IDE DEV-C++

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.

Laboratorio di programmazione

5 - Istruzioni condizionali

Componenti di un computer

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

Programmazione orientata agli oggetti: le classi

5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Printer Driver. Guida per la configurazione. Questa guida descrive come configurare il driver della stampante per Windows Vista e Windows XP.

La codifica delle immagini

Programmazione di applicazioni multimediali in Processing. Progettazione e produzione multimediale Walter Nunziati - nunziati@dsi.unifi.

Il disegno vettoriale - scheda di approfondimento

Percorso Formativo SAP Online ABAP/4 Completo

Funzioni. Il modello console. Interfaccia in modalità console

Corso Eclipse. Prerequisiti. 1 Introduzione

Problemi, algoritmi e oggetti

Funzioni, Stack e Visibilità delle Variabili in C

Model Driven Software Development con Eclipse, StatechartUMC

LEZIONE 5. CORSO BASE DI AutoCad. Corso Base di AutoCad. AutoCad. Ing. Lorenzo Procino

Processi decisionali e modelli di simulazione

CORSO DI PROGRAMMAZIONE

Linguistica Computazionale: esercitazioni

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

Un sito con Wordpress

Definizione di metodi in Java

Il linguaggio di programmazione Python

GUIDA ALL INSTALLAZIONE DI R CONTENUTO

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

Subplots: griglie regolari di grafici

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

Uso del terminale in ambiente UNIX

Транскрипт:

Introduzione a Processing Roberto Ranon www.dimi.uniud.it/ranon/processing.html 1

Processing è, insieme, un ambiente e linguaggio di programmazione per creare prodotti multimediali interattivi open source e gratuito* per GNU/Linux, Mac OS X, e Windows creato nel 2001 al MIT Media Lab, oggi utilizzato da migliaia di persone basato su Java * processing.org/download/ 2

Video Musicale per The Nest That Sailed The Sky di Peter Gabriel realizzato con Processing da Glenn Marshall https://vimeo.com/3245120 3

Good Morning! di blprnt Una visualizzazione di 11,000 tweet raccolti nell arco di 24 ore e contenenti le parole good morning 4

modalità di output (programma Java) programma (sketch) in esecuzione editor di codice processing console Processing Development Environment (PDE) versione 2.x 5

modalità di output (programma Java) programma (sketch) in esecuzione editor di codice processing console Processing Development Environment (PDE) versione 3.x 6

i programmi Processing si chiamano sketch, e sono composti da: una cartella su disco, col nome dello sketch, contenente un file.pde, col nome dello sketch eventualmente, altri file.pde e altre risorse all interno della cartella i programmi possono essere esportati come applicazioni o pagine Web* * con alcune limitazioni 7

Forme e Colori 8

rect è una delle istruzioni che disegnano gli argomenti di questo tipo di istruzioni sono, di solito, in pixel ogni pixel nella finestra di un applicazione Processing è individuato dalle sue coordinate x e y: (0,0) è il pixel in alto a sinistra (width-1, height-1) è il pixel in basso a destra; width e height sono variabili di sistema paper (for now) to better illustrate the inner workings of y-axis fig. 1.5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 x-axis 5 6 7 8 9 x Point (4,5); y 9

L ordine delle istruzioni è, ovviamente, importante! size(300,200); rect(10,20,20,30); rect(100,100,100,50); ellipse(100,100,50,50); size(300,200); rect(10,20,20,30); ellipse(100,100,50,50); rect(100,100,100,50); 10

(x1,y1) (x1,y1) (x,y) (x2,y2) (x2,y2) (x3,y3) point(x,y) line(x1,y1,x2,y2) triangle(x1,y1,x2,y2,x3,y3) (x1,y1) (x4,y4) (x,y) height (x,y) (x2,y2) (x3,y3) height width quad(x1,y1,x2,y2,x3,y3,x4,y4) width ellipse(x,y,width,height) ellipsemode(center) rect(x,y,width,height) rectmode(corner) 11

colori: in scala di grigi: un valore in [0,255] background(255); // Setting the background to white stroke(0); // Setting the outline (stroke) to black fill(150); // Setting the interior of a shape (fill) to grey rect(50,50,75,100); // Drawing the rectangle RGB: three values in [0,255] fill(127,0,0); // Dark red ellipse(40,20,16,16); fill(255,200,200); // Pink (pale red) ellipse(60,20,16,16); in scala di grigi, o RGB, più alfa fill(0,0,255); // No fourth argument means 100% opacity rect(0,0,100,200); fill(255,0,0,255); // 255 means 100% opacity rect(0,0,200,40); fill(255,0,0,191); // 75% opacity rect(0,50,200,40); 12

stroke(color), strokeweight(width), nostroke() controllano il colore con cui viene disegnato il contorno delle figure, lo spessore (in pixel), e la presenza del contorno fill(color), nofill() controllano il colore con cui viene disegnato l interno delle figure, o la presenza dell interno importante: queste istruzioni impostano lo stato che viene utilizzato per disegnare, che resta attivo finché altre istruzioni lo modificheranno 13

Animazioni e Interattività 14

void setup() { eseguito all avvio del size(500,300); programma } void draw () { // Displays the frame count to the Console } println("i'm drawing"); println(framecount); eseguito dopo setup(). Il codice all interno di draw() viene eseguito ciclicamente fino alla chiusura del programma 15

int diam = 20; void setup() { size(500,300); background(180); stroke(0); strokeweight(3); fill(255,50); } void draw () { ellipse( width/2, height/2, diam, diam); } alternativa 1 alternativa 2 void draw () { if (diam < 500) diam++; ellipse( width/2, height/2, diam, diam); } void draw () { background(180); if (diam < 500) diam++; ellipse( width/2, height/2, diam, diam); } alternativa 3 void draw () { ellipse( mousex, mousey, diam, diam); } 16

un programma può essere una lista di istruzioni, o di funzioni; nel primo caso, le istruzioni vengono eseguite, e il programma si ferma; nel secondo case, possiamo scrivere un programma interattivo tramite le due funzioni setup() e draw() la sintassi, i tipi di dato di base, gli operatori, funzionano esattamente come in Java 17

void setup() { size(500,300); background(180); stroke(0); strokeweight(3); } void draw() { fill(random(0,255)); ellipse ( random( width), random( height ), random( 50 ), random( 50 )); } random(n) genera un numero casuale tra 0 e n (non incluso) random(low, high) genera un numero casuale tra low e high (non incluso) 18