mikewolf2k 发表于 2018-5-4 11:54:37

如何证明最短?

vectra 发表于 2018-5-4 13:01:33


这个图看上去这样更短

ysq101 发表于 2018-5-5 01:01:38

vectra 发表于 2018-5-4 13:01
这个图看上去这样更短

院长可能误解了???   可能他理解为"从一而终"

mahuan1279 发表于 2018-11-14 00:43:13

(defun fp ()
    (setq sn (ssget ":N" '((0 . "point"))))
    (setq i 0 n (sslength sn) plst nil)
    (while (< i n)
      (setq plst (cons (cons (+ i 1) (cdr (assoc 10 (entget (ssname sn i))))) plst))
      (setq i (+ i 1))
    )
   (reverse plst)
)
(defun mindist (alst blst)
(setq dlst nil)
(foreach a alst
       (foreach b blst
            (setq dlst (cons (list (car a) (car b) (distance (cdr a) (cdr b)))dlst))
      )
)
(setq qlst (car (vl-sort dlst '(lambda(a b) (< (last a) (last b)) ) )))
qlst
)
(defun c:tt ()
   (setq ptlst (fp))
   (setq vlst (list (car ptlst)) rlst (cdr ptlst))
   (while (not (null rlst))
          (setq qlst (mindist vlst rlst))
          (command "line" (cdr (assoc (car qlst) vlst)) (cdr (assoc (cadr qlst) rlst)) "" )
          (setq vlst (cons (assoc (cadr qlst)rlst) vlst))
          (setq rlst (vl-remove (assoc (cadr qlst)rlst) rlst))
   )
)

springwillow 发表于 2018-11-15 11:52:13

参考http://bbs.mjtd.com/forum.php?mod=viewthread&tid=56310&extra=page%3D1%26filter%3Dtypeid%26typeid%3D108
页: 1 2 [3]
查看完整版本: (求助)把所有点连接可以是多段线段,但是要和最小。如何思考?