示例 http://xthlegion.co.uk/images/dividerectangle.png 示例 http://xthlegion.co.uk/images/dividerectangle2.png
如果您考虑上面的图像,您可以看到它们由一个大矩形组成,这些矩形通过用户定义的坐标对分解为较小的矩形(示例图像中的每一对都用不同的颜色标识)。
我要做的是仅通过定义连接来获取这些矩形的坐标。边被视为显式连接。顺序无所谓。
有谁知道执行此操作的算法的名称(我敢肯定有一个名字很花哨!)或者有一些示例 C# 代码?一段时间以来,我一直在努力尝试自己做这件事,但收效甚微。又一次数学完全失败!
更新:
只是想我会根据收到的评论快速更新这个问题。
- 线必须是直的,因此每对坐标将在一个轴上对齐
- 坐标必须从边或另一对的交点开始。第二个坐标必须以类似的方式结束。任何不开始/结束另一个加入的“孤儿”坐标都是非法的,我现在应该忽略它们,一旦我终于开始思考,应该可以进行捕捉。
- 尽管在这个例子中,所有的线对都或多或少地整齐地划分了矩形,但在实践中情况并非如此,并且可能有许多线创建了多种尺寸的矩形。
第二次更新 - 它有效:)
示例 http://xthlegion.co.uk/images/dividerectangle3.png