1. ;判断点是否在两点连线的延长线上
    2. (defun N::IsOnExLine (p1 p2 px)
    3. (and
    4. (< (abs (- (abs (- (distance px p1) (distance px p2))) (distance p1 p2))) 0.001)
    5. (< (abs (- (angle p1 px) (angle p2 px))) 0.0001)
    6. )
    7. )
    8. ;判断点是否在两点连线上
    9. (defun N::IsOnLine (p1 p2 px)
    10. (and
    11. (< (abs (- (+ (distance p1 px) (distance p2 px)) (distance p1 p2))) 0.001)
    12. (or
    13. (< (abs (- (angle p1 px) (angle px p2))) 0.0001)
    14. (< (abs (- (angle p2 px) (angle px p1))) 0.0001)
    15. )
    16. )
    17. )
    18. ;判断点是否在两点连线上或连线的延长线上
    19. (defun N::IsInLine (p1 p2 px)
    20. (or
    21. (N::IsOnLine p1 p2 px)
    22. (N::IsOnExLine p1 p2 px)
    23. )
    24. )