L’interazione con l’AI-Tutor è stata decisamente utile e stimolante, agendo più come un supervisore che come un semplice esecutore. Inizialmente, passare dalle coordinate fisse all’uso di translate() e delle variabili è stato un salto logico che l’AI ha aiutato a sbloccare, rendendo il codice molto più leggibile e facile da gestire. Non ho riscontrato vere e proprie “allucinazioni” (funzioni inventate), ma ho dovuto prestare attenzione alla gestione degli angoli dell’arco: l’AI inizialmente dava per scontato l’uso dei radianti, mentre io preferivo i gradi per una comprensione più intuitiva, costringendomi a inserire angleMode(DEGREES).
Nonostante l’aiuto ricevuto, mi sento pienamente proprietario del codice finale: la logica del disegno originale è rimasta la mia, e ho dovuto comunque valutare e adattare ogni suggerimento dell’AI per assicurarmi che rispettasse i vincoli stilistici richiesti. C’è stato un momento di correzione manuale quando l’AI ha proposto di usare un ciclo complesso per la “G”, che ho preferito semplificare per mantenere la coerenza visiva con il mio progetto iniziale, dimostrando che il controllo finale spetta sempre al designer.
let baseSize = 15; // dimensione dei punti della F
let spacing = 20; // spaziatura tra i punti
questo è il codice:
function setup() {
createCanvas(300, 300);
// angoli in gradi
angleMode(DEGREES);
}
function draw() {
background(220);
fill(‘#ede8d0’);
// lettera f
push();
translate(60, 60); // spostiamo l’origine nel punto d’inizio della F
noStroke();
fill(‘#67c798’);
// asta verticale della f (7 punti)
for (let i = 0; i < 7; i++) {
ellipse(0, i * spacing, baseSize, baseSize);
}
// barra superiore della f (3 punti extra oltre il primo)
for (let i = 1; i < 4; i++) {
ellipse(i * spacing, 0, baseSize, baseSize);
}
// barra centrale della f (2 punti extra oltre quello sull’asta)
for (let i = 1; i < 3; i++) {
ellipse(i * spacing, 3 * spacing, baseSize, baseSize);
}
pop();
// lettera g
push();
translate(180, 130); // posizioniamo il centro della g
noFill();
stroke(‘#ffc0cb’);
strokeWeight(7);
// cerchio aperto
arc(0, 0, 150, 150, 5, 310);
// linea della g
line(0, 30, 73, 5);
pop();
}

Lascia un commento
Devi essere connesso per inviare un commento.