菜菜大爷 发表于 2015-8-26 12:33:20

清理好东西 ,下一个

王航 发表于 2015-8-27 15:41:02

非常不错,谢谢楼主!

carrot1983 发表于 2015-8-31 19:14:01

本帖最后由 carrot1983 于 2015-9-9 12:30 编辑

很棒的排序。

xyz002 发表于 2015-9-1 16:02:53

感谢分享,

mj0000 发表于 2015-9-6 15:27:07

附件无法读取,奇怪了

carrot1983 发表于 2015-9-8 09:20:26

本帖最后由 carrot1983 于 2015-9-9 08:04 编辑

这段时间,好好学习了一下楼主的代码,果然是很棒的算法。
同时,我也看了overkill的思路:
1. 按y=kx+b的斜截式直线方程,引导整个程序的思路, (斜率 截距 起点 终点 图元 )
          按截距b排序;
          格式化直线从左到右;
          区分斜率k=nil或k存在;
问题: acet-list-group-by-assoc 同组合并,浪费时间在一堆的类似的循环;
            用截距带来的误差太大。

2. 圆、弧,(圆心 半径 起始角 终止角 图元 )
         按半径排序;(半径对应直线的截距)
         格式化角度从小到大; (保证起始角小于终止角)
         圆即起始角为0 和终止角为2pi
问题: acet-list-group-by-assoc 同组合并,浪费时间在一堆的类似的循环;
         起始角和终止角的问题,在0度(360度)交界的弧线,会出现无法消重。

小结:
         不得不承认overkill 有些代码挺有意思;
         经过几番的折腾发现,完全用数学几何公式来写代码,容易在误差方面失算
         而以上所有问题,用楼主的程序全部能解决。
      楼主的算法更快、更准。

         






carrot1983 发表于 2015-9-8 18:55:48

本帖最后由 carrot1983 于 2015-9-8 19:20 编辑

楼主,我上传个DWG,经过测试,有些线无法连接。
详附件:


大概知道是距离精度和角度精度的问题.

易云网络 发表于 2015-9-8 22:15:24

carrot1983 发表于 2015-9-8 18:55 static/image/common/back.gif
楼主,我上传个DWG,经过测试,有些线无法连接。
详附件:



的确就是精度控制问题,你改一下精度吧

479274135 发表于 2018-4-17 10:40:07

厉害收藏了
页: 1 2 3 [4]
查看完整版本: 直线,圆弧的圆去虫复,效率很(超)高(目前已知问题全部解决)~~欢迎品鉴和踢馆