| 本帖最后由 wowan1314 于 2014-11-7 19:15 编辑 
 llsheng_73 发表于 2013-12-9 05:00  泡杯茶坐点支烟在沙发上等你的见解哟
帮忙测试下我写的看是否通用!!
 
 想起来了,这个函数只能判断二维点,三维点好像不行!!
   ;;;参数:三个点表  注意不能为相同的点                          ;;;
;;;返回值:共线T , 不共线nil                  ;;;
;;;=========================================================;;;
(defun yy-3ptinline (p1 p2 p3 / v1 v2) 
    (setq v1 (mapcar '- p1 p2) v2 (mapcar '- p1 p3))
    (if (equal (car v1) 0.0 1e-5)
        (equal (car v1) (car v2) 1e-5)
        (equal (abs(/ (cadr v1) (car v1))) (abs(/ (cadr v2) (car v2))) 1e-5)
    )
)
 |