Birkaç gündür bu soruna bakıyorum. Sorunu görselleştirmeme yardımcı olmak için bu grafiği hazırladım: (grafikten, çizginin [1, 1], [1, 2], [2, 2], [2, 3] ile kesiştiğini, [ 3.3])
Her ızgara boşluğuna doğru ilerlemek ve ızgara boşluğunun malzemesinin sağlam olup olmadığını kontrol etmek istiyorum. Söz konusu matematiği zaten biliyormuşum gibi hissediyorum, ama henüz bir araya getiremedim. Bu benim görüş hattı test etmek ve benim yol bulma algoritmaları aracılığıyla bir yol bulunduktan sonra düğümleri ortadan kaldırmak için kullanıyorum - benim ajanlar katı bir blok üzerinden göremiyorum, bu nedenle onlar bir hareket edemez, bu nedenle düğüm yoldan elimine değil bir köşede gezinmek için gereklidir.
Yani, kesiştiği her ızgara alanına çizgi boyunca adım atacak bir algoritmaya ihtiyacım var. Herhangi bir fikir?
Bresenham'ın ve çizgi boyunca önceden tanımlanmış aralıklarla adım atan birçok ortak algoritmaya bir göz attım (ne yazık ki, bu yöntem adım boyutundan daha küçük bir kama ile kesişiyorsa fayansları atlıyor).
Beyaz tahtamı şimdi bir zemin () ve tavan () işlevleri kütlesi ile dolduruyorum - ama aşırı derecede karmaşıklaşıyor ve korkarım yavaşlamaya neden olabilir.