我有以下格式的二维高度图
06 36 39 42 43 55 ...
37 40 43 43 45 46 ...
40 43 44 45 46 48 ...
44 44 46 47 48 50 ...
41 44 45 47 48 48 ...
...
而且我需要将其重新映射为基于 grin 的轮廓格式(因此它可以进一步映射到精灵中)
. . . . | . .
. . . . \ . .
. . . / / . .
. . . | . . .
. . . | . . .
. / - / . . .
这里.
的意思是平坦的区域,|
笔直-
的悬崖/
和\
悬崖角落(每个代表两种不同的可能性)。
我尝试了标准的行进广场方法,但发现仅对 3 个邻居进行抽样会导致很多问题,因为相邻案例超载。(注意下面额外的不合适的直悬崖)
. . . . | . \
. . . . \ \ .
. . . / / - .
. . . | - . .
. . . | . . .
. / - / . . .
我想要的是对有助于处理这类事情的算法/方法的一些参考。我知道带有某种深度优先搜索的轮廓行走是一种选择,但尚未尝试过,并且宁愿将其作为最后的手段。还有一些特征的表示问题,例如是否包括 1 个元素厚的悬崖脊或忽略它们。另一种选择是通过生成的轮廓并更改它们,以便它们平滑地组合在一起,但这看起来真的很hacky......