Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Come scorrere il perimetro di un colore

a
alex_andrei13 (3800 points)
15 41 53
in HW6 obbligatorio by (3.8k points)
Salve, mi sono imbattuto in un problema, come faccio a scorrere il perimetro di un colore? Sia in orizzontale sia in verticale? In orizzontale non è un problema, più che altro è in verticale. Avevo pensato ad un ciclo ma non so se è la strada corretta
274 views

2 Answers

andrea_25 (6070 points)
2 2 24
by (6.1k points)
La domanda non è molto chiara, che cosa significa scorrere il perimetro di un colore? Un colore non è una figura geometrica...

Immagino tu ti riferisca allo scorrere i lati di un rettangolo che ha un determinato colore, quindi se così fosse, per scorrere un lato verticale potresti implementare un ciclo while che mandi avanti incrementando di 1 la coordinata y di un pixel (nel caso in cui venisse rappresentato in questo modo -> img[y][x])
a
alex_andrei13 (3800 points)
15 41 53
by (3.8k points)
C'è un modo per farlo fare contemporaneamente allo scorrimento orizzontale? Oppure devo farlo a parte?
andrea_25 (6070 points)
2 2 24
by (6.1k points)
Se scorressi entrambe le direzioni contemporaneamente non seguiresti né il lato verticale né il lato orizzontale, ma immagina che se fosse un quadrato scorreresti la sua diagonale
twgever (17470 points)
8 29 105
by (17.5k points)
Puoi fare un ciclo che percorre i due lati orizzontali del rettangolo (e considerando solo i pixel che ti interessano con una slice)

e un altro ciclo, separato, che percorre i due lati verticali.

per scorrere orizzontalmente, metti caso hai A[riga][colonna], devi scorrere lungo la seconda parentesi, quindi cambiando colonna, mentre per scorrere verticalmente basta che cambi la riga, quindi la prima parentesi.

non puoi scorrere in contemporanea, perchè un rettangolo ha lati di grandezze diverse, e in qualche maniera, finiresti per considerare pixel che non ti servono.