从XY /线座标集中提取矩形

时间:2019-01-28 18:09:16

标签: c# shapes extraction

因此,我正在寻找从XY坐标定义的有界(封闭)形状中提取矩形的方法。一开始我了解以下内容:

  • 每个点的XY
  • 每个XY点连接的是什么

基本正方形的示例:

  • XY设置:[[0,0],[0,10],[10,0],[10,10]]
  • 已知:[0,0]连接到[0,10],[10,0]等...

一些问题是:

  1. 边界XY设置不一定与XY对齐,因此可以 类似于(直视钻石时):[0,0],[3.5, 3.5],[0、7],[-3.5,-3.5]
  2. 边界XY集不一定定义四边形甚至偶数 4面形状。它可能更复杂,例如L形,U形。
  3. 3)我也对更多的矩形组合感兴趣 复杂的形状。如:https://i.imgur.com/SVN1ipz.png

我可以设置一些现实的边界,例如说一些太复杂的事情: https://i.imgur.com/dV7CfBG.png

我最初的思维过程是找到外角(例如,左上角max Y min X)并尝试找到边,所以像这样:

[0,10]位于左上方

[0,10]连接到[0,0],[10,10]

通过找到与最接近的X沿Y覆盖范围[从0-> 10覆盖Y]的点连接,找到[0,10]-> [0,0]的右侧。

所以我们最终将找到[10,10]-> [10,0]。

重复落在X覆盖范围内的最接近的Y [覆盖从0开始的X-> 10,然后找到[0,0]-> [10,0]

然后将其展开以找到部分重叠(例如,在L形中,可能在角线的右侧重叠2个Y线段)。

我并没有像我想的那样清楚地表达这一点,但是我认为我想要实现的目标的总体思路很明确。我想知道是否有人知道解决这些问题的任何现有方法或逻辑。

0 个答案:

没有答案