假设我们已经进行了一定的步骤,此时七巧板的摆放情况如下图示:
红色部分已经完成摆放的区域,蓝色部分是空的区域,分别用G1和G2表示。根据我们的人工摆放方法,可以得到摆放方法如下:
1)定位初始顶点和初始边
按照从左到右,从上到下的顺序在G2上进行查找,找到第一个遇到的顶点, 从该顶点开始的边即为初始边(图上的顺时针方向)。
2)确定摆放部件
在部件库中(堆栈)查找顺序查找剩余部件,确定初始点和初始边, 并对其进行平移和旋转,使其可以贴合(点和边重合)在1)中的的定位点和初始边上,同时满足下面的要求: 该部件的所有顶点在G2内; 如果找不到,将其放回部件库中,查找下一个,符合要求后完成一个摆放;
3)动态调整G1和G2
根据摆放后的结果,对G1和G2 分别进行调整,调整后再回到1)。
特殊情况的说明:
如图示:
摆放之后,可能出现这种情况,就是图中的G3的区域,这是个空区域。摆放后,在满足上面的摆放条件之后,要查找这种区域。查找方法如下:
摆放的部件的非相邻顶点出现在G1上,就会出现这种“空腔”, 记录该点;从摆放部件的初始边的末点开始顺序到该点的点的集合 P2 以及 在G1上从初始点开始逆序到该点的点的集合P1 , P1和P2 构成G3。
确定G3之后, 对G3按照上面的方法继续摆放。
maraSun 2022-03-21 BJFWDQ
按:东航MU5735 航班可能在广西藤县发生事故,向遇难者表示哀悼…