Computer graphic

Page 1



...

disegnaLancetta( secondi*seiGradi , 50 , 1 ); disegnaLancetta( secondi*seiGradi , 50 , 3 ); disegnaLancetta( secondi*seiGradi , 50 , 5 ); ...

void disegnaLancetta( float angolo, float lunghezza, int

Spessore ){

pushMatrix(); rotate( angolo-HALF_PI ); strokeWeight(Spessore); line( 0,0, lunghezza,0 ); popMatrix(); }

Grafica Basata sul Tempo Reale : Lezione CG10_05h_tempo_reale


void draw(){ ‌ clockClass = new clock( 0 , 0 , 898 , 270 ); //Italy clockClass = new clock(-1 , 0 , 861 , 338 ); //England ‌ } T1

T2

posX

posY

Per far vedere due posizioni e tempi diversi usando un codice unico ho creato un nuovo class con quatro variabili, T1 , T2 sono due variabili per calcolare tempo (T1 = ora , T2 = minuti) ad es. (UTC+03:30)Tehran

clock ( int T1 , int T2 , int posX , int posY ) { translate ( posX , posY ); int secondi = second(); disegnaLancetta ( secondi*seiGradi, 25 , 1 ); int minuti = minute() + T2; disegnaLancetta( minuti*seiGradi, 15 , 2 ); int ore = hour() + T1; disegnaLancetta( ore*trentaGradi, 10 , 3 ); }

T1 = 3 ; T2 = 30; int ore = hour() + T1; int minuti = minute() + T2;

posX , posY per calcolare una nuova posizione del orologio sulla mappa


PImage flag; int cellsize = 1; // Dimensioni di ogni cella della griglia int columns, rows; // Numero di colonne e righe nel nostro sistema flag = loadImage(country+"_flag.png"); // Carica l'immagine columns = flag.width / cellsize; // Calcolare il numero delle colonne rows = flag.height / cellsize; // Calcolare il numero di righe for(int i = 0 ; i < columns ; i++){ // Inizia ciclo per le colonne for(int j = 0 ; j < rows ; j++ ){ // Inizia ciclo per le righe int x = i; // Posizone di X int y = j; // Posizone di Y int loc = x + y*flag.width; //Pozione del pixel color c = flag.pixels[loc]; //Afferrare il colore float z = (random(20) / float(width)) * brightness( flag.pixels[loc] ); //Calcolare la posizione Z come funzione della luminositĂ dei pixel e casuale pushMatrix(); translate (z+x + 220, z+y +250); // Sposta pozione X e Y usando Z fill (c, 204); // scegliere il colore per riempire noStroke(); rect (0, 0, cellsize, cellsize); // riempire ogni pixel nella pozione nuova popMatrix (); } }

Modificando Esempio di Processing /Examples/3D/Images/Explode.pde


carica l'immagine il cui nome è composto dal nome del paese seguito da "_flag.png" e "_foto.png"

flag = loadImage ( country+"_flag.png" ); foto = loadImage ( country+"_foto.png" );

england_flag.png

iran_flag.png

Lezione : CG10_07i_random_facce

italy_flag.png


punti di controllo sono uno strumento per mantenere sotto controllo i vari parametri, codici e i class. if(mouseX>X1 && mouseX<X2 && mouseY>Y1 && mouseY<Y2) { button = true; }else{ button = false; }

ad es. if(button== true){ ‌. ‌. }


Con una variabile Booleana si puo creare un “ Toggle Button�

boolean button1; if(mouseX>470 && mouseX<480 && mouseY>235 && mouseY<245){ button1 = true; }else{ button1 = false; } if(button1== true){ circleClass("italy" , 860 , 200); clockClass = new clock(0 , 0 , 898 , 270); }

processing.org/discourse


Ho fatto qualche modifica sull lens effetto come 1-Modificare dell balzo della lente, muova con mouse invece muova casuale 2-creare un nouvo class “void lens()� , per evitare di disordine

Modificando Esempio di Processing /Examples/Topics/Effects/Lens.pde


if (mousePressed && (mouseButton == LEFT)) { tint(random(255),random(255),random(255),random(255)); } else if (mousePressed && (mouseButton == CENTER)) { noTint(); }


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.