ตอนนี้ฉันกำลังใช้อัลกอริธึมของ Bresenham สำหรับการมองเห็น ปัญหาคือฉันได้พบเคสที่ผู้เล่นสามารถมองทะลุกำแพงได้ เกิดขึ้นเมื่อผู้เล่นดูระหว่างสองมุมของกำแพงที่มีช่องว่างในอีกด้านหนึ่งในมุมที่เฉพาะเจาะจง
ผลลัพธ์ที่ฉันต้องการคือการเรียงต่อกันระหว่างผนังทั้งสองจะมีการทำเครื่องหมายไม่ถูกต้องเช่นกัน
วิธีใดที่เร็วที่สุดในการแก้ไขอัลกอริทึมของ Bresenham เพื่อแก้ปัญหานี้ หากไม่มีทางออกที่ดีจะมีอัลกอริทึมที่เหมาะสมกว่าหรือไม่ ยินดีต้อนรับความคิดใด ๆ โปรดทราบว่าการแก้ปัญหาควรจะรองรับ 3d ได้ด้วย
แก้ไข: ทางออกที่ง่ายของฉันคือการตรวจสอบว่าทั้งสองมุมถูกปิดหรือไม่เมื่อพิกัด x และ y เปลี่ยนไป สำหรับซอร์สโค้ดที่ใช้งานได้และการสาธิตเชิงโต้ตอบของผลิตภัณฑ์ที่สมบูรณ์โปรดดูที่http://ashblue.github.io/javascript-pathfinding/