移动规则演示
4 与 8 邻域,哪些斜步被禁止、为什么。
用途:直观展示两种移动规则下每个格子可以走到哪里。
规则
- 4 邻域:只能上下左右走一格,每步代价 1。
- 8 邻域:还可以斜走一格,代价 √2。斜走只有在它两侧的两个正交格都是障碍时才禁止(不能从两块障碍的夹角里穿过);只有一侧是障碍时可以走。目标格本身是障碍或出界时当然也不能走。
点网格上的任意格子,侧栏列出 8 个方向各自能否走、代价多少、不能走的原因;切到「点击:切换障碍」可以改地图,自己构造边角情况。
数据来源
判断逻辑与项目仓库一致:8 邻域规则取自 src/matlab/plan8_ref.m 和 zig/src/conn8.zig(提交 fa87b65),方向顺序为上、下、左、右,再四个斜向。站点测试用同一个判断函数核对了全部验证题上 8 邻域求解得到的路径。演示在浏览器里现算,不读取数据文件;载入验证题时才按需读取数据包。