Walker 在基于像素的形状的边缘
Walker on edge of pixel-based shapes
我想创建一个可以围绕任何形状行走的助行器。形状可以是矩阵中的像素颜色或图形上的选定边。 walker 有两个功能,一是确定下一步,二是移动到下一步。步行者从与形状相邻的某个点开始,并有一个大致的方向(顺时针或逆时针)
关于我应该如何解决这个问题的任何提示?
提示:如果您顺时针旋转,请将右手放在形状上。
这意味着代码需要跟踪助行器的方向。在示例中,步行者最初面朝北(假设顶部为北,右侧为东)。踏出一步,行者还是面朝北
助行器的方向决定代码检查下一个有效移动的顺序,如下面 table 所示:
orientation
directions to check
north
east, north, west, south
east
south, east, north, west
south
west, south, east, north
west
north, west, south, east
因此必须为助行器指定起始位置、clockwise/counter-clockwise 指示和初始方向。
我想创建一个可以围绕任何形状行走的助行器。形状可以是矩阵中的像素颜色或图形上的选定边。 walker 有两个功能,一是确定下一步,二是移动到下一步。步行者从与形状相邻的某个点开始,并有一个大致的方向(顺时针或逆时针)
关于我应该如何解决这个问题的任何提示?
提示:如果您顺时针旋转,请将右手放在形状上。
这意味着代码需要跟踪助行器的方向。在示例中,步行者最初面朝北(假设顶部为北,右侧为东)。踏出一步,行者还是面朝北
助行器的方向决定代码检查下一个有效移动的顺序,如下面 table 所示:
orientation | directions to check |
---|---|
north | east, north, west, south |
east | south, east, north, west |
south | west, south, east, north |
west | north, west, south, east |
因此必须为助行器指定起始位置、clockwise/counter-clockwise 指示和初始方向。