Bir bayt matrisi (bitmap benzeri matris) ile temsil edilen bir Şekil var . Örnek Şekil üzerinde gösterilmektedir Picture 1
.
Amaç bazı Verilen en iyi dönme açısını bulmaktır Şekil . Şekil iyi açısı, X ve Y eksenlerine paralel olan ve inscribes dikdörtgen ile döndürüldüğü zaman Şekil küçük bir alana sahiptir.
Şekle yazılan dikdörtgenler resimlerde açık gri olarak gösterilir. Şekilde Picture 2
ideal dönüşün saat yönünde yaklaşık 30 derece olduğunu görebilirsiniz.
Şimdi, algoritmanın bu açıyı nasıl bulacağını biliyorum, ama bana göre çok verimsiz. Bu böyle devam ediyor:
- 0 ile 45 arasındaki açılardan geçin.
- Mevcut açı için, her şekil noktası için yeni, döndürülmüş, konum hesaplayın
- Şekil (minimum ve maksimum x, y) içeren dikdörtgen sınırlarını bulun ve şimdiye kadarki en iyi eşleşmediyse kaydedin
- Sonraki açı
Bu bir tür kaba kuvvet yöntemidir ve küçük figürler için iyi ve makul derecede hızlı çalışır. Ancak, 10 milyon noktaya kadar rakamlarla çalışmam gerekiyor ve algoritmam yavaşlıyor.
Bu sorun için iyi bir algoritma ne olurdu?