ฉันมีเรือที่เดินทางด้วยความเร็วสูงสุดmaxSpeed
และสามารถเปลี่ยนrotationSpeed
องศาต่อวินาที เรือเคลื่อนที่ไปในทิศทางที่หันหน้าไปทางเสมอซึ่งหมายความว่ายิ่งแล่นเรือเร็วเท่าไหร่รัศมีการเลี้ยวยิ่งใหญ่ขึ้นเท่านั้น
ฉันรู้ตำแหน่งของฉันการหมุนและตำแหน่งของเป้าหมาย
สิ่งที่ฉันอยากรู้คือเป้าหมายอยู่ในรัศมีวงเลี้ยวของฉันด้วยความเร็วนี้หรือดีกว่าความเร็วสูงสุดที่ฉันสามารถเคลื่อนที่ได้คืออะไรเพื่อที่จะเลี้ยวไปยังเป้าหมายโดยไม่วนรอบอย่างต่อเนื่อง
มีวิธีที่มีประสิทธิภาพ (ish) การทำเช่นนี้?
นี่คือสิ่งที่ฉันคิดอยู่จนถึงตอนนี้: เพราะฉันรู้ว่าฉันเดินทางไปไกลแค่ไหนต่อขั้นตอนและเท่าไหร่ที่ฉันหมุนไปตามขั้นตอนเท่าไหร่ฉันจึงสามารถรู้ได้ว่าฉันจะอยู่ที่ไหนในสองเฟรม ตำแหน่งปัจจุบันของฉันคือ p1 ตำแหน่งถัดไปของฉันคือ p2 จากนั้น p3 ฉันสามารถหาเส้นแบ่งครึ่งตั้งฉากของ (p1, p2) และ (p2, p3) จุดตัดของพวกเขาจะให้ศูนย์กลางของวงกลมแก่ฉัน ฉันสามารถทดสอบว่าเป้าหมายอยู่ในวงกลมนั้นหรือไม่
ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานในแบบ 3 มิติ (ฉันไม่แน่ใจว่าจะคำนวณทรงกลมด้วยอินพุตของฉัน) โซลูชันนี้ไม่ได้ช่วยอะไรมากนักในการค้นหาความเร็วที่เหมาะสมสำหรับการเดินทางฉันจะต้องลองสองสามครั้งด้วยความเร็วที่แตกต่างกันเพื่อค้นหาความเร็วที่เหมาะสม
ทุกคนสามารถปลดปล่อยแสงให้กับทางออกที่ดีกว่าได้หรือไม่?