smartstar
发表于 2012-5-7 06:34:50
等着以后消化。
hhh454
发表于 2012-5-7 08:25:41
这个最短距离算出来后,不知道能否按照最短距离点来重现绘制图元,line,arc,在机械雕刻机的运行当中,按照最短距离排序雕刻,会节省很多的雕刻加工时间,,
sfzyr
发表于 2012-5-7 12:59:59
算法是個好東西,程序的精華,猶如做菜的菜譜!
mp13119
发表于 2012-5-14 23:33:08
谢谢楼上的分享,参考下,很感激
小心
发表于 2012-7-9 16:32:34
不错,需要细细体会
highflybir
发表于 2012-7-17 09:46:31
现在更新了程序。比以前的快了十倍。
同时附上国外的一个好方法。
命令是:test.
690994
发表于 2012-7-17 12:04:44
highflybir 发表于 2012-7-17 09:46 static/image/common/back.gif
现在更新了程序。比以前的快了十倍。
同时附上国外的一个好方法。
命令是:test.
大师杰作令我受益非浅,
我有一个问题想请教,就是求封闭多义线内部最大切圆位置,
目前我的方法是将线按距离分点,求各点向内法线方向作切圆,直径逐步增大,
检测多义线与圆交点判断,这样虽然能使用,但不精确且效率非常低,
希望大师指教有什么好方法能提高精确度和效率。
xiaxiang
发表于 2012-7-17 14:15:39
highflybir 发表于 2012-7-17 09:46 static/image/common/back.gif
现在更新了程序。比以前的快了十倍。
同时附上国外的一个好方法。
命令是:test.
无条件顶贴
您是越飞越高,我是越飞越晕。。。
Gu_xl
发表于 2012-7-17 15:59:57
本帖最后由 Gu_xl 于 2012-7-17 16:03 编辑
highflybir 发表于 2012-7-17 09:46 http://bbs.mjtd.com/static/image/common/back.gif
现在更新了程序。比以前的快了十倍。
同时附上国外的一个好方法。
命令是:test.
ElpanovEvgeniy 的方法稍加改进,剔除重点,即不出现最小距离为零的情况!
;|***************************************************************************************
by ElpanovEvgeniy
last edit 08.01.2012
the library function
find a pair of points with the smallest distance between them
-----------------------------------------------------------------------------------------
argument - list points
returne- list pair points
***************************************************************************************|;
(defun eea-cpp (PtSet / MiniD F Pairs)
(defun f(1stPt Pairs PtSet / dist)
(while (and PtSet
(equal (car 1stPt) (caar PtSet) MiniD)
)
(setq Pairs
(cond
((equal (setq dist (distance 1stPt (car PtSet)))
MiniD
1e-8)
(cons (list 1stPt (car PtSet)) Pairs)
)
((and (< dist MiniD) (not (equal dist 0 1e-8))) ;_ 过滤重点情况
(setq MiniD dist)
(list (list 1stPt (car PtSet)))
)
(Pairs)
)
PtSet (cdr PtSet)
)
)
Pairs
)
(setq PtSet (vl-sort PtSet
(function (lambda (e1 e2) (<= (car e1) (car e2)))))
Pairs nil
)
;;计算初始MiniD,确保不为零
(vl-some
'(lambda (a)
(not (equal (setq MiniD (distance (car PtSet) a)) 0 1e-8)))
(cdr ptset)
)
(foreach aPtSet
(setq Pairs (f (car PtSet) Pairs (cdr PtSet))
PtSet (cdr PtSet)
)
)
Pairs
)
自贡黄明儒
发表于 2012-7-17 16:09:06
向highflybird学习!!!