[Java] Verificare che una curva sia chiusa a partire da tutte le coordinate
Buonasera,
ho il seguente problema: devo definire se una data figura è chiusa.
Ho tutte le coordinate della figura (x,y) ed inoltre ho anche una BufferedImage rappresentante l'immagine in formato binario (sfondo nero e figura bianca).
Vorrei evitare di lavorare direttamente sull'immagine perché potrebbe essere "contaminata" da altre immagini e quindi rischierei di considerare pixel non relativi all'immagine.
Inoltre la figura/curva ha uno spessore variabile (diversi pixel). Immagino che la soluzione più ovvia è quella di percorrere tutto il contorno della figura e vedere se fa un giro completo ma non riesco ad implementare questa logica tramite codice. Probabilmente mi sfugge una soluzione più ovvia (anche considerando il fatto che possiedo tutte le coordinate).
Avete qualche idea?
Vorrei stabilire se la data figura è chiusa.
A titolo di esempio mostro la seguente figura (la curva che voglio studiare è quella bianca, le curve evidenziate in verde sono "esterne"):

Grazie!
ho il seguente problema: devo definire se una data figura è chiusa.
Ho tutte le coordinate della figura (x,y) ed inoltre ho anche una BufferedImage rappresentante l'immagine in formato binario (sfondo nero e figura bianca).
Vorrei evitare di lavorare direttamente sull'immagine perché potrebbe essere "contaminata" da altre immagini e quindi rischierei di considerare pixel non relativi all'immagine.
Inoltre la figura/curva ha uno spessore variabile (diversi pixel). Immagino che la soluzione più ovvia è quella di percorrere tutto il contorno della figura e vedere se fa un giro completo ma non riesco ad implementare questa logica tramite codice. Probabilmente mi sfugge una soluzione più ovvia (anche considerando il fatto che possiedo tutte le coordinate).
Avete qualche idea?
Vorrei stabilire se la data figura è chiusa.
A titolo di esempio mostro la seguente figura (la curva che voglio studiare è quella bianca, le curve evidenziate in verde sono "esterne"):

Grazie!
Risposte
Cosa significa che possiedi tutte le coordinate? Tutte le coordinate dei pixel bianchi?
Si esatto, posseggo tutte le coordinate dei pixel bianchi.
Qualche idea?:)
Qualche idea?:)
Ricordi quando da piccolo disegnavi con Paint e al momento di riempire col secchiello coloravi tutta l'immagine anziché solo l'interno perché qualche linea non era chiusa?
Si...prosegui

No, prosegui tu, che diavolo XD
Quello è un test per verificare se il piano è diviso in due regioni o no.
Quello è un test per verificare se il piano è diviso in due regioni o no.
Si certo, però come lo implementeresti?
Secondo me l'idea migliore resta quella di percorrere il bordo ma, come scritto, non capisco come implementarlo in modo efficiente.
Idem per la tua idea: è possibile implementarla in modo efficiente?
Secondo me l'idea migliore resta quella di percorrere il bordo ma, come scritto, non capisco come implementarlo in modo efficiente.
Idem per la tua idea: è possibile implementarla in modo efficiente?
Ti devi espandere a macchia d'olio: prendi un pixel di un dato colore e contrassegnalo, poi contrassegna tutti quelli adiacenti dello stesso colore, poi ripeti per ciascuno di essi.
Ok tutto chiaro. Grazie!