| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  12-03-2012, 11:27 | #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. | 
|   |   | 
|  12-03-2012, 17:45 | #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 | 
|   |   | 
|  12-03-2012, 19:51 | #3 | 
| Senior Member Iscritto dal: Nov 2005 
					Messaggi: 2777
				 | 
		Puoi spiegare la soluzione? Mi sembrava un quesito interessante...
		 | 
|   |   | 
|  13-03-2012, 09:22 | #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 | 
|   |   | 
|  14-03-2012, 12:34 | #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. | 
|   |   | 
|  14-03-2012, 12:52 | #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? | 
|   |   | 
|  14-03-2012, 13:00 | #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. | 
|   |   | 
|  14-03-2012, 13:02 | #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: 14:52.









 
		 
		 
		 
		







 
  
 



 
                        
                        










