将矩形截面平面细分为矩形

时间:2015-08-18 14:05:44

标签: algorithm

我正在处理与激光切割部件相关的平面,为此我希望找到一种算法,将部件分解为描述表面的细分矩形多边形(作为3d渲染的基础)。

我工作的部件始终围绕周边观察直角,并始终观察内部的矩形切口。这是澄清

的布尔网格的一个例子
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 
    2  * * * T T T T * T T T T T * T T T T * * * 
    1  T * T T T T T T T T T T T T T T T T T * T 
    0  T * T T T T T T T T T T T T T T T T T T T 
    9  T T T T T T T T T T T T T T T T T T T T T 
    8  T T T T T * * * * * T * * * * * T T T T T 
    7  T T T T T T T T T T T T T T T T T T T T T 
    6  T T T T * * T T T * * * T T T * * T T T T 
    5  T * T T * * T T T * * * T T T * * T T * T 
    4  T * T T T T T T T T T T T T T T T T T * T 
    3  T * T T T * * * * * T * * * * * T T T * T 
    2  T * T T T * * * * * T * * * * * T T T T T 
    1  T T T T T * * * * * T * * * * * T T T T T 
    0  T T T T T T T T T T T T T T T T T T T T T

星号{*}索引空白区域,内部矩形或直角周长。

此处大小为(21,13)的网格与物理维度的1:1不匹配,它只是边界[all(x),all(y)]生成的可视化指南。与此示例对应的形状类似于(顶部)

enter image description here

输入数据是一个闭环的顶点列表,描述了周边,以及一组内部切口的闭环列表。

这是另一个简单的例子,输入形状和我希望到达的结果类型

enter image description here

单槽平面需要四个矩形来描述它。顺便说一下,很明显,这组可能的细分是> 1.对于图形应用来说,更有意思的是找到避免制作薄带并尽可能少地到达零件的解决方案。

我通过迭代管理一个解决方案并查询网格中占用的特殊范围,但我非常确定有更好的方法。如果有人知道这样做的明智之举,我会很高兴知道。

0 个答案:

没有答案