Emma Saviotti – Generative Landscape

OBIETTIVO VISIVO:
Lo sketch mostra il muro di una stanza con una finestra che si affaccia su un paesaggio naturale. Cliccando sulla canvas l’ambiente si trasforma da notturno a diurno: il cielo si schiarisce, la luna diventa un sole pulsante e appaiono nuvole in movimento continuo al posto delle stelle cadenti.

SCOMPOSIZIONE LOGICA:

  1. Sfondo: vengono impostate le variabili per il ciclo giorno/notte (“isNight”), i movimenti delle nuvole e le coordinate delle stelle cadenti. I confini della finestra sono definiti da quattro variabili (winX, winY, winW, winH).
  2. Cielo e corpi celesti (funzioni custom): di notte lo sfondo diventa blu scuro e un blocco condizionale gestisce la comparsa e il movimento delle stelle cadenti.
    Di giorno, invece, lo sfondo diventa celeste e si attivano le nuvole (disegnate tramite la funzione custom “disegnaNuvola”) che si muovono verso destra e si resettano una volta superato il bordo. Il Sole pulsa grazie alla funzione “sin()”.
  3. Montagne (Funzione Custom e Ciclo For): Viene usato un ciclo “for” per stratificare i 3 livelli di montagne nel mid-ground. La funzione custom “disegnaMontagna” usa “beginShape()” e un ciclo interno per calcolare i vertici tramite un’onda sinusoidale, costringendo i punti (“constrain”) dentro la sagoma della finestra.
  4. Muro e Finestra (Foreground): La funzione “disegnaMuroEFinestra” viene disegnata per ultima sopra a tutto. Crea 4 rettangoli pieni che coprono i bordi della canvas fungendo da parete, poi traccia una cornice di legno.
  5. Interattività: La funzione di sistema “mousePressed()” inverte il valore booleano di “isNight” a ogni click del mouse, cambiando istantaneamente l’intero scenario da notte a giorno e viceversa.

USO AI:
Ho usato l’intelligenza artificiale per capire come limitare visivamente le montagne e le nuvole all’interno di un’area quadrata specifica senza farli sbordare sul muro. Gemini mi ha aiutato a capire come disegnare il muro sopra al paesaggio come maschera e l’uso di “constrain()” per i calcoli dei vertici.

Commenti

Lascia un commento