由于输入我们只有一组段,这里有一个例子:算法从图中得到的所有个别地区
[AB] = [(0, 0), (0, 4)] ; [BC] = [(0, 4), (2, 6)]
[CD] = [(2, 6), (4, 0)] ; [DA] = [(4, 0), (0, 0)]
[CE] = [(2, 6), (5, 6)] ; [EF] = [(5, 6), (5, 3)]
[FG] = [(5, 3), (3, 3)] ; [HI] = [(2, 1), (4, 5)]
[JK] = [(1, 3), (2, 3)] ; [KL] = [(2, 3), (1, 1)]
[LJ] = [(1, 1), (1, 3)]
(对不起,我已经尽了全力,但我的图片有点模糊)
我需要找到所有的单个区域。从上图中我将有3个不同的区域,JKL,CEFG和{ABCD,JKL}:
注意,段不进行任何区域都被忽略(例如[HI] ),以及面积不能由段划分,如:
我可以做一些意大利面条代码将完全效率不容易做,但这样做之前,你有什么想法我可以开始工作的算法?我正在寻找尽可能高效的东西...
有没有可能是线相交,例如说如果H低于AD,所以GH与AD相交? – m69
找到所有连接的图 –
你是什么意思的“不能被细分”? – Surt