那些不是吉尔写的吗?在这个线程中。
顺便说一句,这里有一些简单的版本:
- ; _$ (SortPointList 'x '((0 1 2) (2 0 1) (1 2 0))) -> ((0 1 2) (1 2 0) (2 0 1))
- ; _$ (SortPointList 'y '((0 1 2) (2 0 1) (1 2 0))) -> ((2 0 1) (0 1 2) (1 2 0))
- ; _$ (SortPointList 'z '((0 1 2) (2 0 1) (1 2 0))) -> ((1 2 0) (2 0 1) (0 1 2))
- (defun SortPointList ( mode pL )
- (cond
- ( (not (vl-position mode '(x y z))) (princ "\nInvalid mode.") )
- (T
- (vl-sort pL
- '(lambda (p1 p2)
- (apply '< (mapcar (cdr (assoc mode '((x . car)(y . cadr)(z . caddr)))) (list p1 p2)))
- )
- )
- )
- ); cond
- ); defun
|