;判断点是否在两点连线的延长线上
(defun N::IsOnExLine (p1 p2 px)
(and
(< (abs (- (abs (- (distance px p1) (distance px p2))) (distance p1 p2))) 0.001)
(< (abs (- (angle p1 px) (angle p2 px))) 0.0001)
)
)
;判断点是否在两点连线上
(defun N::IsOnLine (p1 p2 px)
(and
(< (abs (- (+ (distance p1 px) (distance p2 px)) (distance p1 p2))) 0.001)
(or
(< (abs (- (angle p1 px) (angle px p2))) 0.0001)
(< (abs (- (angle p2 px) (angle px p1))) 0.0001)
)
)
)
;判断点是否在两点连线上或连线的延长线上
(defun N::IsInLine (p1 p2 px)
(or
(N::IsOnLine p1 p2 px)
(N::IsOnExLine p1 p2 px)
)
)