|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2009
Messaggi: 1926
|
area totale tra gruppi di rettangoli intersecati
Salve ragazzi, vi propongo un nuovo quesito.
Dovrei calcolare l'area totale di un gruppo di rettangoli che si intersecano. Di questi rettangoli conosco base e altezza (quindi area) e conosco anche l'area di intersezione per ogni coppia di rettangoli. Nel caso di intersezione tra 2 rettangoli banalmente potrebbe essere calcolata come area1 + area2 - area intesezione (O SBAGLIO)?. Però nel mio caso ho spesso intersezioni multiple tra gruppi di rettangoli. Come posso fare? Grazie Ecco un esempio: l'area da calcolare è quella gialla ![]() Linguaggio C++
__________________
Come installare la rom cucinata V11-7 fixed di Hyperx: http://www.hwupgrade.it/forum/showpo...ostcount=21774 Ultima modifica di omniaforever : 12-03-2012 alle 11:36. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2009
Messaggi: 1926
|
risolto con una maschera
__________________
Come installare la rom cucinata V11-7 fixed di Hyperx: http://www.hwupgrade.it/forum/showpo...ostcount=21774 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Puoi spiegare la soluzione? Mi sembrava un quesito interessante...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2009
Messaggi: 1926
|
ti crei una matrice (esempio una immagine) con una certa risoluzione in modo che racchiuda tutti i rettangoli, dove per ogni cella [i,j] il valore è 1 se è coperta da almeno un rettangolo e 0 se non è coperta.
In sostanza mappi questi rettangoli nella matrice e conti tutti i punti in cui ha il valore è 1. Guardando banalmente l'immagine di sopra, basta contare pixel per pixel dove il colore è giallo, e così ottieni l'area
__________________
Come installare la rom cucinata V11-7 fixed di Hyperx: http://www.hwupgrade.it/forum/showpo...ostcount=21774 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
E se il problema fosse geometrico e non grafico,
ovvero se venissero date le coordinate reali (con virgola) dei 4 vertici di ciascun rettangolo come risolveresti?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Piacenza
Messaggi: 1598
|
se non li piazzi in un piano cartesiano (come per esempio hai fatto con la soluzione bitmap) viene dura..
perchè ci vogliono anche le coordinate per fare quel tipo di calcolo. no? |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Piacenza
Messaggi: 1598
|
oppure procedi per logica
inizi a fare l'area della figura formata da due quadrati SE una terza figura si intersecava con le altre due andrai a sommare il rimanente della terza figura ottenuto sottraendo l'area di intersezione con ogni singolo rettangolo precedente. se ne interseca uno farai la differenza con quello, se ne interseca due con i due e così via. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Piacenza
Messaggi: 1598
|
con le coordinate io invece andrei a valutare se le intersezioni appartengono al piano.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:10.




















