मैं दो आयताकारों के बीच अंतर की गणना करने के लिए एक आसान तरीका ढूंढ रहा हूं। मेरा मतलब है कि सभी बिंदु जो आयतों में से एक हैं, लेकिन दोनों के लिए नहीं (इसलिए यह एक्सओआर की तरह है)।आयत के रूप में दो आयताकारों के बीच अंतर (एक्सओआर)?
आयताकार इस मामले में धुरी-गठबंधन हैं, इसलिए केवल सही कोण होंगे। मेरा मानना है कि अंतर क्षेत्र को 0-4 आयताकारों में व्यक्त किया जा सकता है (0 यदि दोनों आयताकार समान हैं, 1 यदि केवल एक किनारा अलग है, तो सामान्य मामले में 4), और मैं अंतर क्षेत्र को सूची के रूप में प्राप्त करना चाहता हूं आयताकारों का।
आप इसे स्क्रीन के उन क्षेत्रों के बारे में भी सोच सकते हैं जिन्हें एक ठोस आयताकार/आकार बदलते समय अपडेट किया जाना है।
उदाहरण: आयत की चौड़ाई को दोगुना करना "ए" - मुझे जोड़ा क्षेत्र (आर) चाहिए।
+----+----+
| a | R |
| | |
+----+----+
पारस्परिक आयतों (ए और बी) - मैं क्षेत्र आयतों में टी, एल, आर और बी (अन्य विभाजन संभव) द्वारा दिया गया है, लेकिन छोड़कर एक्स हैं:
+------------+ a
| T |
|·····+------+-----+ b
| L | X | R |
| | | |
+-----+------+·····|
| B |
+------------+
मैं था एक अजगर समाधान/पुस्तकालय पसंद करते हैं, लेकिन कोई भी मजबूत एल्गोरिदम सहायक होगा।