3
จะหาเซลล์กริด 2 มิติที่ถูกกวาดโดยวงกลมที่กำลังเคลื่อนที่ได้อย่างไร
ฉันกำลังสร้างเกมโดยใช้กริด 2 มิติโดยบางเซลล์สามารถผ่านได้และบางอันก็ไม่ได้ วัตถุแบบไดนามิกสามารถเคลื่อนที่ได้อย่างต่อเนื่องโดยไม่ขึ้นกับกริด แต่ต้องชนกับเซลล์ที่ไม่สามารถใช้ได้ ฉันเขียนอัลกอริทึมเพื่อติดตามรังสีกับกริดซึ่งให้เซลล์ทั้งหมดที่เรย์ตัดกัน อย่างไรก็ตามวัตถุจริงไม่ใช่ขนาดจุด ฉันกำลังแสดงพวกเขาเป็นแวดวง แต่ฉันไม่สามารถหาอัลกอริทึมที่มีประสิทธิภาพเพื่อติดตามวงกลมที่กำลังเคลื่อนที่ นี่คือภาพสิ่งที่ฉันต้องการ: ตัวเลขจะแสดงตามลำดับที่วงกลมชนกับเซลล์กริด ไม่มีใครรู้อัลกอริทึมในการค้นหาการชนเหล่านี้หรือไม่ โดยเฉพาะอย่างยิ่งใน C # อัปเดตวงกลมอาจใหญ่กว่าเซลล์กริดเดียว