OBIETTIVO VISIVO:
Rappresentazione generativa di uno skyline urbano dinamico. L’obiettivo è di creare la transizione del ciclo giorno-notte, integrando una componente che influenza la saturazione dell’ambiente e l’illuminazione artificiale dei palazzi.
SCOMPOSIZIONE LOGICA:
- Background: Sfondo reattivo che cambia con il “giorno” e la “notte” (azzurro e blu scuro) dipendetemente dal colore del sole/luna.
- Sole: Implementazione di una traiettoria circolare tramite funzione sinusoidale (sin). La variabile avanzamento regola la posizione del corpo celeste, mentre una struttura condizionale (if/else) gestisce la transizione di stato tra sole e luna al completamento di ogni ciclo.
- Palazzi: Sistema basato sulla suddivisione parametrica della larghezza della canvas. L’impiego di un array permette di assegnare altezze casuali ai palazzi all’avvio del programma, garantendo un layout unico a ogni esecuzione. Il colore dei volumi è gestito tramite variazioni casuali all’interno di un range cromatico definito, mantenendo coerenza visiva.
- Finestre: Generazione di una griglia di finestre attraverso cicli for annidati. La logica di visualizzazione è sincronizzata con lo stato temporale del paesaggio: le finestre invertono il loro colore (fill) per simulare l’accensione delle luci domestiche durante la fase notturna.
USO AI:
Il supporto dell’AI è stato utilizzato per ottimizzare la struttura sintattica del codice e per consolidare la comprensione logica dei cicli for annidati.
Il prompt chiave è stato:
“Puoi revisionare questo codice p5.js per renderlo più ordinato e professionale? Mantieni invariata la logica. In particolare, controlla i cicli for annidati per la creazione delle finestre: se c’è un modo più pulito per scriverli, proponi la versione ottimizzata e spiegami brevemente la logica della modifica.””
Ho capito così il concetto di ciclo for annidato.

Lascia un commento
Devi essere connesso per inviare un commento.