Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

[HW5opt] Come Disegnare I Poster

MRinaudo (3660 points)
18 40 50
in HW5 opzionale by (3.7k points)
closed by

Ciao a tutti,

ho difficoltà a capire qual'è l'approccio migliore nel disegnare i rettangoli (poster).

Secondo voi, dovrei disegnarli tutti bianchi e poi occuparmi del perimetro, o dovrei disegnarli di colore blue o rosso per poi riempirli di bianco ?

Graziesmiley.

197 views
closed with the note: Risolto.

3 Answers

Best answer
andrea_25 (6070 points)
2 2 24
by (6.1k points)
selected by
Inizialmente disegnavo un rettangolo per volta (riempito di pixel di colore bianco) nell'ordine in cui le coordinate sono elencate nei vari files dello zip, calcolando contemporaneamente il colore del suo contorno (un pixel era di colore rosso o verde se soddisfava o meno la condizione di "essere perimetro").

Tuttavia in questo modo il programma sbagliava il calcolo esatto del perimetro di pochi pixel in qualche test, così ho deciso di provare a disegnare prima tutti i rettangoli riempiti di pixel di colore bianco e il loro contorno di pixel di colore verde, e solo dopo controllare se i pixel di colore verde erano parte del perimetro (e quindi dovevano essere rossi).

Non è il massimo in termini di efficienza, ma il risultato ottenuto con questa implementazione è molto buono.
g
giacomo_venturini (6680 points)
2 5 39
by (6.7k points)
Meno passaggi intermedi fai meno tempo impieghi (e più è facile riuscire a passare i test).
Ti consiglio quindi di partire direttamente con bianco e rosso
1
1937764 (3520 points)
6 14 42
by (3.5k points)
Io ho fatto disegnando i bordi dei rettangoli (in verde), poi l'interno bianco. Infine, ho ripassato i bordi esterni in rosso, controllando se negli 8 pixel adiacenti ce n'è almeno uno nero