龙口经济开发区驻地 16706465631 jiuyouhui@j90001.com

新闻动态

地图斜角接触到底算不算同一片区域:六格地形的两种邻接分组(实例22)

2026-11-05

两块地形只在角上碰到时,是否属于同一区域取决于采用哪一种邻接规则。混用规则会让区域数量、填色范围和连通提示彼此矛盾。

先确定规则与输入

地图六乘六,只研究值为一的格子。四邻接只允许上下左右相连,八邻接再允许四个斜角方向;地图边缘不环绕。两种规则都只判断静态格子集合是否连通。

一为研究地形,零为背景 001000 100101 000011 011100 000011 101101

逐项算出过程

四邻接组件1,大小1,格子坐标[[0, 1]]。

四邻接组件2,大小1,格子坐标[[0, 5]]。

四邻接组件3,大小3,格子坐标[[1, 3], [2, 3], [3, 3]]。

四邻接组件4,大小1,格子坐标[[2, 0]]。

四邻接组件5,大小2,格子坐标[[2, 5], [3, 5]]。

四邻接组件6,大小1,格子坐标[[3, 1]]。

四邻接组件7,大小3,格子坐标[[4, 2], [5, 1], [5, 2]]。

四邻接组件8,大小3,格子坐标[[4, 4], [5, 4], [5, 5]]。

八邻接组件1,大小1,格子坐标[[0, 1]]。

八邻接组件2,大小1,格子坐标[[0, 5]]。

八邻接组件3,大小13,格子坐标[[1, 3], [2, 0], [2, 3], [2, 5], [3, 1], [3, 3], [3, 5], [4, 2], [4, 4], [5, 1], [5, 2], [5, 4], [5, 5]]。

共有15个目标格,四邻接8片,八邻接3片。组件数量减少来自合并,不是目标格消失。

复核时看什么

先列出四邻接的每个组件,再看哪些组件因斜角接触被合并。八邻接组件数不会比四邻接更多,但组件大小分布可能变化很大。每个目标格都必须恰好归入一个组件。

练习时可以先遮住结果,沿用相同输入独立记录中间状态,再逐项比较。发现不同后先定位最早分歧,确认边界包含方式、编号起点、更新顺序以及是否提前取整。最后结果一致也不表示每个中间步骤都正确,因此保留过程记录有助于看清原因。

适用范围

连通不等于角色一定能穿过。八邻接把斜角视为相邻,只是图上的定义;有宽度的角色可能仍被两侧墙角挡住。路径碰撞规则应另外说明,不能从填色连通性直接推断移动合法性。