非重叠对象之间的岛多边形的算法名称

问题描述 投票:0回答:1

我正在寻找算法名称,无法识别它是哪种算法。我的任务是,

给出:1.父容器的大小(宽度,高度)2.多个矩形和正方形粒子的位置(X,Y)和大小(Width,Height),它们不能互相重叠并且可以放入容器中]

任务:当用户单击空白点时,以逆时针或顺时针方向找到空白的多边形点]

我尝试过的是

enter image description here

我的代码

https://pastebin.com/2cnMb67G

while ((islandCurrentX != islandStartX || islandCurrentY != islandStartY) && count < 500)
                                                {
                                                    int tempIslandX = (islandCurrentX == -1 ? islandStartX : islandCurrentX);
                                                    int tempIslandY = (islandCurrentY == -1 ? islandStartY : islandCurrentY);
                                                    //break;
                                                    count++;

但是,如果我遵循此步骤,则在到达空白部分的底部之后,它将再次沿逆时针方向而非顺时针方向移动。我应该搜索互联网上的哪种算法?还有一件事,我在寻找用于像素数据表的连接组件算法。但是我有位置和大小数据表。如果将其转换为像素级,则Windows窗体(C#)在搜索过程中会变慢。 (需要在每次点击时进行搜索)。在此先感谢

我正在寻找算法名称,无法识别它是哪种算法。我的任务是,给定:1.父容器的Size(Width,Height)2.多个位置的位置(X,Y)和size(Width,Height)...

c# algorithm gaps-and-islands
1个回答
0
投票

感谢您度过宝贵的时间。我通过在每次运动后更改连续方向来做到这一点。https://pastebin.com/dNrHFn5W

© www.soinside.com 2019 - 2024. All rights reserved.