อัลกอริทึม Wall Follower โดยเฉพาะแบบ Right-Hand Rule

https://youtu.be/QXSC5OCY7qI


 1. กฎเหล็ก: "ห้ามปล่อยมือจากกำแพงฝั่งขวา"

ไม่ว่าทางเดินจะคดเคี้ยวแค่ไหน หากมือขวาของคุณยังสัมผัสกำแพงอยู่ คุณจะไม่มีวันหลงทางวนอยู่ที่เดิม (ในเขาวงกตส่วนใหญ่ที่เป็น Simply Connected) และจะพบทางออกในที่สุด

2. ลำดับการตัดสินใจ (Priority Logic)

ในทุกๆ ก้าวที่ตัวละครเดิน จะมีการเช็คทิศทางตามลำดับความสำคัญดังนี้ค่ะ:

เลี้ยวขวาได้ไหม?: ทุกครั้งที่มีทางแยกหรือมุมถนน ลอจิกจะพยายามหันไปทางขวาก่อนเสมอ (เพื่อให้มือขวายังแตะผนังฝั่งขวาได้)

ตรงไปได้ไหม?: ถ้าทางขวาเป็นกำแพงทึบ ให้ลองเช็คว่าเดินตรงไปข้างหน้าได้หรือไม่

เลี้ยวซ้ายได้ไหม?: ถ้าทั้งขวาและหน้าไปไม่ได้ (เจอทางโค้งบังคับ) ให้เลี้ยวไปทางซ้าย

ถอยหลัง (กลับตัว): ถ้าเจอทางตัน (ทิศอื่นไปไม่ได้เลย) ให้หมุนตัวกลับ 180 องศา

3. พฤติกรรมที่เกิดขึ้นในวิดีโอ (Visual Behavior)

เมื่อนำมาทำอนิเมชั่นใน Blender เส้นทางที่ได้จะมีลักษณะเฉพาะตัว:

เดินอ้อม: มันจะเดินผ่านทุกซอกทุกมุมของกำแพงฝั่งขวา แม้ว่าทางนั้นจะเป็นทางตันสั้นๆ มันก็จะเดินเข้าไปจนสุดแล้ววนออกมา

ความเป็นระเบียบ: เส้นสีส้มของคุณจะวิ่งขนานไปกับแนวกำแพงอย่างสวยงาม ไม่ตัดผ่านกลางห้องโถงกว้างๆ เหมือน BFS

ความมั่นใจ: ดูเหมือนหุ่นยนต์ที่กำลังสำรวจพื้นที่อย่างละเอียด

ความคิดเห็น