İşte bir fikir. Bunun yerine her bir dikdörtgen oluşturmak (x, y, width, height)ile örneğini, (x1, y1, x2, y2)ya da en azından bunun genişliği ve yüksekliği verilen bu değerler yorumlayabilir.
Bu şekilde, benzer bir sahip olan dikdörtgenler kontrol edebilirsiniz xveya ydeğerini ve ilgili dikdörtgen aynı ikincil değere sahip olduğundan emin olun.
Örnek:
Eğer verdik dikdörtgenler şu değerlere sahiptir:
- Kare 1: [0, 0, 8, 3]
- Kare 3: [0, 4, 8, 6]
- Kare 4: [9, 0, 10, 4]
Öncelikle, karşılaştırmak Square 1için Square 3(hiçbir çarpışma):
- x değerleri karşılaştırın
- [0, 8] ila [0, 8] tam olarak aynıdır, bu nedenle herhangi bir geçiş vardır.
- y değerlerini karşılaştırın
- [0, 4] ile [3, 6] Bu sayıların hiçbiri benzerdir, bu yüzden bir faktör değil
Sonra, karşılaştırmak Square 3için Square 4(çarpışma):
- x değerleri karşılaştırın
- [0, 8] için bir faktör olmadığına çok [9, 10] bu sayıların hiçbiri, benzer
- y değerlerini karşılaştırın
- [4, 6] olarak [0, 4] dikdörtgenler ortak sayısını 4 var, ama 0! = 6, bu nedenle, bir çarpışma var
Bilmesi ile kastettiğimiz, çarpışma yöntemi sona erecek, böylece ortaya çıkabilir, ancak değerlendirmenize olanak tanır biliyorum Square 1ve Square 4bazı ekstra netlik için.
- x değerleri karşılaştırın
- [0, 8] için bir faktör olmadığına çok [9, 10] bu sayıların hiçbiri, benzer
- y değerlerini karşılaştırın
- [0, 3] ila [0, 4] dikdörtgenler ortak numarası 0 olan, ancak 3! = 4, bu nedenle, bir çarpışma vardır
Eğer herhangi bir ekstra ayrıntı gerekiyorsa bana bildirin :)