菜菜大爷
发表于 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
厉害收藏了