解决方案
我能想到的第一件事是(可能不是最有效的方式):
1)获取整个切片的边界框 - 这是min(x)时,分钟(Y)为max(x)时,最大值(Y)对于所有的x和您的瓦片的ý
2)对于每一行,开始与STATE == EMPTY,每一列迭代:状态变化为FULL时击中的正方形,EMPTY当你发现的孔。每次从STATE EMPTY变为FULL,保存正方形的每个状态从FULL变为空闲时间左手线段和,保存正方形的右手线段。
3)在Y轴之上重复
现在有一个包含只有最外层的线段的一组,可以结合的那些共线等,并得到整体形状。
这将对于非凸形状工作,也如果您的瓦片有洞。
不隶属于 StackOverflow