 - [FONT=courier new];;;最近的2点
- (defun min-pt2pt (ptlst / Min-dist pt0 pt dist-tmp ptn)
- (setq Min-dist (distance (car ptlst) (cadr ptlst)))
- (while (> (length ptlst) 1)
- (setq pt0 (car ptlst)
- ptlst (cdr ptlst)
- )
- (foreach pt ptlst
- (if (< (setq dist-tmp (distance pt0 pt)) Min-dist)
- (setq ptn (cons dist-tmp (list pt0 pt))
- Min-dist dist-tmp
- )
- )
- )
- )
- ptn
- )
- ;;;最远的2点
- (defun max-pt2pt (ptlst / Min-dist pt0 pt dist-tmp ptn)
- (setq Min-dist (distance (car ptlst) (cadr ptlst)))
- (while (> (length ptlst) 1)
- (setq pt0 (car ptlst)
- ptlst (cdr ptlst)
- )
- (foreach pt ptlst
- (if (> (setq dist-tmp (distance pt0 pt)) Min-dist)
- (setq ptn (cons dist-tmp (list pt0 pt))
- Min-dist dist-tmp
- )
- )
- )
- )
- ptn
- )[/FONT]
|