首页 > 解决方案 > Walker 在基于像素的形状的边缘

问题描述

我想创建一个可以绕任何形状行走的助行器。形状可以是矩阵中的像素颜色或图形上的选定边。walker有两个功能,一是确定下一步,二是移动到下一步。步行者从与形状相邻的某个点开始,并有一个大致的方向(顺时针或逆时针)

在此处输入图像描述

关于我应该如何解决这个问题的任何提示?

标签: algorithmgraphpixelshapes

解决方案


提示:如果你顺时针方向,将右手放在形状上。

这意味着代码需要跟踪步行者的方向。在示例中,步行者最初面朝北(假设顶部为北,右侧为东)。走了一步,行者仍是朝北。

walker 的方向决定了代码检查下一个有效移动的顺序,如下表所示:

方向 检查方向
东、北、西、南
南、东、北、西
西、南、东、北
西方 北、西、南、东

因此,必须为步行者提供起始位置、顺时针/逆时针指示和初始方向。


推荐阅读