คำถามติดแท็ก path-finding

วิธีการที่ใช้ในการทำแผนที่เส้นทางการเดินทางจากจุดหนึ่งไปยังอีกจุดหนึ่งโดยทั่วไปจะหลีกเลี่ยงสิ่งกีดขวางระหว่างทาง

3
ฉันจะคำนวณเส้นทางสำหรับวัตถุที่มีความเร่ง จำกัด ได้อย่างไร
ตัวอย่างเช่นสมมติว่าฉันมีรถยนต์และรถยนต์มีรัศมีวงเลี้ยวต่ำสุดโดยเฉพาะและฉันต้องการขับรถคันนี้จากจุดหนึ่งไปยังอีกจุดหนึ่ง แต่รถไม่ได้หันหน้าไปทางจุด b ฉันจะคำนวณเส้นทางไปยังจุด b ได้อย่างไร ความสามารถในการระบุทิศทางที่จุด b ก็จะเป็นเรื่องที่ดีด้วย (พูดว่าคุณต้องการขับรถไปที่ถนนรถแล่นแล้วไปที่โรงรถของคุณ - มันไม่ค่อยดีนักถ้าคุณไปถึงถนนรถแล่นด้วยการขับรถบนสนามหญ้า และกำลังหันไปด้านข้าง :) ตัวชี้ไปยังเอกสารประกอบ (หรือแม้แต่ชื่อ) น่าจะดีอย่างสมบูรณ์ - ฉันมีปัญหาในการค้นหาอะไรเลย ในความพยายามของฉันพวกเขาทำงานในกรณีง่าย ๆ แต่ล้มเหลวอย่างน่าสังเวชในสถานการณ์เช่นเมื่อจุด b อยู่ใกล้กับรัศมีวงเลี้ยวต่ำกว่า ตัวอย่างเช่นคุณจะกำหนดเส้นทางที่คล้ายกับสิ่งนี้ได้อย่างไร (เส้นทางตัวหนา): แก้ไข: ในปัญหาที่แท้จริงของฉันมีข้อ จำกัด เส้นทางง่าย ๆ แต่ฉันมีอัลกอริธึม A * ที่ใช้งานได้ แต่มันช่วยให้สิ่งต่าง ๆ สามารถเปลี่ยนแปลงหัวเรื่องได้ทันที เล็กน้อยเมื่อพวกเขาไปถึงจุดเปลี่ยน

2
เส้นทาง“ เส้นสายตา” ข้ามตาข่ายนำทาง
ฉันต้องการคำนวณสายตาในตาข่ายนำทาง พิจารณาภาพด้านล่างเส้นสีเหลืองเป็นผลลัพธ์ของ A * เท่านั้นและเส้นสีแดงเป็นผลลัพธ์ของอัลกอริธึมที่เห็น "ใช้เส้นสีเหลืองเป็นอินพุตตอนนี้หน่วยสามารถย้ายได้โดยตรงโดยไม่ต้อง" ซิกแซก " อัลกอริทึมในการคำนวณ "เส้นสายตา" คืออะไร?

2
การกำหนดเป้าหมายเสียงหึ่งๆ
ลองจินตนาการถึง "โดรน" และจุดเป้าหมายบนระนาบ 2d มีพารามิเตอร์ที่แปด: P = my position Q = target position V = my velocity I = my moment of inertia w = my angular velocity s = my angular position T = max thrust U = max torque (เราจะบอกว่าเป้าหมายคงที่) งานของโดรนคือการไปถึงเป้าหมายให้เร็วที่สุดเท่าที่จะทำได้โดยเชื่อฟังแรงบิดสูงสุดและแรงขับสูงสุด มีเพียงสองวิธีในการใช้แรงบิดเนื่องจากเป็นเพียงในระนาบ 2d แรงขับถูก จำกัด ให้ไปในทิศทางเดียวเท่านั้นเมื่อเทียบกับทิศทางของยานและไม่สามารถเล็งได้หากไม่มีการหมุนเสียงพึมพำ ละเลยความต้านทานใด ๆ …

2
การประมาณค่าใช้จ่ายในระบบ GOAP
ฉันกำลังพัฒนาระบบ GOAP ใน Java คำอธิบายของ GOAP สามารถพบได้ที่http://web.media.mit.edu/~jorkin/goap.html โดยพื้นฐานแล้วมันใช้ A * เพื่อพล็อตระหว่างการกระทำที่เปลี่ยนแปลงสถานะโลก เพื่อให้โอกาสที่ยุติธรรมสำหรับการกระทำและเป้าหมายทั้งหมดที่จะดำเนินการฉันใช้ฟังก์ชันการวิเคราะห์พฤติกรรมเพื่อประเมินค่าใช้จ่ายในการทำบางสิ่งบางอย่าง วิธีที่ดีที่สุดในการประเมินค่าใช้จ่ายนี้เพื่อให้สามารถเปรียบเทียบกับค่าใช้จ่ายอื่น ๆ ทั้งหมดคืออะไร ยกตัวอย่างเช่นการประเมินค่าใช้จ่ายในการวิ่งหนีจากศัตรูเมื่อเทียบกับการโจมตี - วิธีการคำนวณต้นทุนควรเปรียบเทียบได้อย่างไร
9 java  ai  path-finding 

3
ฉันจะสร้างตาข่ายนำทางแบบ 2d ในสภาพแวดล้อมแบบไดนามิกที่รันไทม์ได้อย่างไร
ดังนั้นฉันจึงเข้าใจวิธีใช้ A * สำหรับการค้นหาเส้นทางและฉันสามารถใช้ในตารางได้ อย่างไรก็ตามโลกของเกมของฉันมีขนาดใหญ่มากและฉันมีศัตรูมากมายที่เคลื่อนเข้าหาผู้เล่นซึ่งเป็นเป้าหมายที่เคลื่อนที่ดังนั้นระบบกริดจึงช้าเกินไปสำหรับการค้นหาเส้นทาง ฉันต้องการทำให้กราฟโหนดของฉันง่ายขึ้นโดยใช้ mesh navigational ฉันเข้าใจแนวคิดของ "วิธี" ตาข่ายทำงาน (ค้นหาเส้นทางผ่านโหนดบนจุดยอดและ / หรือศูนย์กลางของขอบของรูปหลายเหลี่ยม) เกมของฉันใช้สิ่งกีดขวางแบบไดนามิกที่สร้างขึ้นตอนรันไทม์ ฉันไม่สามารถคาดศีรษะได้ว่าจะต้องใช้เครื่องบินที่มีสิ่งกีดขวางมากมายและแบ่งพื้นที่ที่สามารถเดินได้ให้เป็นรูปหลายเหลี่ยมสำหรับตาข่ายนำทางเช่นเดียวกับภาพต่อไปนี้ ฉันจะเริ่มที่ไหน ฉันจะรู้ได้อย่างไรว่าเมื่อเซ็กเมนต์ของพื้นที่ที่สามารถเดินได้หรือที่แย่กว่านั้นเมื่อฉันรู้ว่าฉันต้องแบ่งพื้นที่ที่สามารถเดินได้ที่กำหนดไว้ก่อนหน้านี้เป็นอัลกอริทึม "เดิน" ผ่านแผนที่ ฉันใช้จาวาสคริปต์ใน nodejs ถ้ามันสำคัญ

7
วิกิพีเดียอัลกอริธึมการนำทาง * ใช้เวลานาน
ฉันติดตั้ง A * pathfinding ใน C # สำเร็จแล้ว แต่ช้ามากและฉันไม่เข้าใจว่าทำไม ฉันพยายามไม่เรียงลำดับรายการ openNodes แต่ก็ยังเหมือนเดิม แผนที่ 80x80 และมี 10-11 โหนด ฉันเอา pseudocode จากที่นี่Wikipedia และนี่คือการดำเนินการของฉัน: public static List<PGNode> Pathfind(PGMap mMap, PGNode mStart, PGNode mEnd) { mMap.ClearNodes(); mMap.GetTile(mStart.X, mStart.Y).Value = 0; mMap.GetTile(mEnd.X, mEnd.Y).Value = 0; List<PGNode> openNodes = new List<PGNode>(); List<PGNode> closedNodes = new List<PGNode>(); …

5
ประสิทธิภาพลดลงในการนำ A * ไปใช้ในเกมป้องกันหอคอย
ฉันกำลังสร้างเกม Tower Defense ใน Flash โดยไม่มีเส้นทางที่กำหนดไว้ล่วงหน้า แม้ว่ากริดของฉันจะมีขนาด 40x40 (เล็ก) แต่ A * ก็ลำบากเมื่อคำนวณใหม่ทุกครั้ง ดังนั้นฉันจึงทำการดัดแปลงของตัวเองเพื่อความสะดวกในการคำนวณใหม่และจำนวนเซลล์ที่ถูกสัมผัสลดลงเหลือประมาณ 900 (เมื่อปรับเปลี่ยนใกล้รูต) มันยังคงค้างสำหรับระยะเวลาที่สั้นมาก แต่สามารถตรวจพบได้เมื่อวางหอคอยใหม่ นี่เป็นปัญหาการใช้งานหรือเป็น 40x40 มากเกินไปหรือไม่ แก้ไข: โครงสร้างของรหัสของฉัน: ข้อมูลทั้งหมดจะถูกบันทึกในเซลล์อาร์เรย์ 2 มิติ แต่ละเซลล์มีพาเรนต์ในทิศทางพา ธ (1-8 ตามเข็มนาฬิกา) และอาร์เรย์ที่เข้ารหัสระดับบิตของลูกในพา ธ (ทุกบิตแทนค่าเด็ก) การค้นหาดำเนินการโดย A * ด้วยการประมาณระยะทางยูคลิด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.