OBIETTIVO VISIVO
Il mio obbiettivo visivo è quello di ricreare uno dei miei posti preferiti al mondo: la vista sul mare al tramonto da sopra una piccola montagna in Sardegna. Per fare questo ho perso ispirazione da una foto, infatti lo sfondo che ho usato per lo sketch è la foto del cielo. Il mio obbiettivo dunque era quello di ricreare un po’ a modo mio quel paesaggio che tanto mi sta a cuore, inserendo degli elementi in movimento come le stelle che brillano (pulsano), e il cielo che piano piano si riempie di stelle.

SCOMPOSIZIONE LOGICA
- Per prima cosa ho deciso cosa volevo rappresentare: uno dei miei posti del cuore in Sardegna
- Sucessivamente dopo aver scelto la foto, la ho importata su figma per creare una versione semplificata da poter ricreare qua su p5.js per avere tutte le coordinate che mi sarebbero servite in seguito
- Background: ho caricato un’immagine esterna e posizionata leggermente più in alto per inquadrare la osizione desiderata
- Successivamente ho creato la porzione di mare con un rettangolo turchese
- Poi mi sono concentrata sulla creazione delle dune e dgli arbusti lavorando per livelli. Gli elementi sono disegnati in successione spaziale (usando translate e scale) per generare profondità, partendo da quelle più lontane fino a quelle più vicine all’osservatore.
- Inserimento di strutture arboree realizzate con forme miste: i tronchi sono definiti da curve di Bézier per un aspetto nodoso, mentre i rami sono tracciati con una serie di funzioni line() e strokeWeight() coordinate tra loro.
7.Successivamente ho realizzato un ammasso roccioso frontale che chiude la composizione in basso al centro. Ho aggiunto un’ombra con una curva di Bézier abbastanza spessa per dare un po’ di tridimensionalità.
8.Dopo aver disegnato il paesaggio ho diesgnato la luna che è composta da due ellissi leggermente sfalsate per simulare un effetto di profondità/ombra propria.I crateri sulla superficie lunare sono dettagliati in modo stilizzato usando una combinazione di piccoli segmenti (line) e brevi curve. - Poi mi sono preoccupata di disegnare le stelle grandi che rimangono fisse e pulsano con l’utilizzo di una funzione personalizzata e di un ciclo for. La pulsazione è gestita dalla funzione matematica sin() applicata al frameCount, che fa variare la dimensione (dim) in modo fluido e ciclico.
- Per le stelle piccole invece ho ussato sempre un array e compaiono in modo casuale nel cielo grazie al controllo random.
NOTA: Analizzando il codice, vorrei evidenziare che la gestione dello spazio non è sempre isolata tramite push() e pop(). Questo è dovuto a un errore di impostazione iniziale in cui le traslazioni si sono accumulate l’una sull’altra. Una volta completata la struttura principale, ho notato che correggere il flusso avrebbe richiesto il ricalcolo totale di tutte le posizioni; ho quindi deciso di mantenere il codice così com’è, gestendo le coordinate in modo relativo anziché assoluto.
USO IA
Mi sono fatta aiutare da Gemini per quanto riguarda le stelle sia piccole che grandi. In particolare quelle grandi che puslsano perchè sapevo che per rendere modulari le stelle potevo utilizzare un array però facendolo da sola non sono riuscita a fare la pulsazione perciò mi sono fatta aiutare da Gemini chiedendogli di risistemarmelo perchè non capivo bene come collegare l’array alla pulsazione e alla posizione delle stelle. Per quelle piccole invece ho chiesto consiglio su cosa sarebbe stato meglio usare.
Ho chiesto aiuto anche per il posizionamento della roccia in primo piano perchè non capivo per quale motivo non venivano in primo piano. Per farlo ho mandato tutto il codice all’AI e gli ho fatto la domanda e mi ha suggerito di usare resetMatrix perchè “riporta tutto alle coordinate originali (0,0)” */

Lascia un commento
Devi essere connesso per inviare un commento.