(defun ufb00003 ( u_p1 ;線分の始点 u_p2 ;線分の終点 u_eps ;許容誤差 / abc ;直線の方程式 (car abc)*x+(cadr abc)*y=c ; nil:方程式が求まらない ; 始点と終点が同一点 xx yy ll aa bb cc ) ;直線の方程式を求める (setq abc nil) (setq xx (- (car u_p2) (car u_p1))) (setq yy (- (cadr u_p2) (cadr u_p1))) (setq ll (sqrt (+ (* xx xx) (* yy yy)))) (if (> ll u_eps) (progn (setq aa (/ (- (cadr u_p1) (cadr u_p2)) ll)) (setq bb (/ (- (car u_p2) (car u_p1)) ll)) (setq cc (/ (- (* (- (car u_p2) (car u_p1)) (cadr u_p1)) (* (- (cadr u_p2) (cadr u_p1)) (car u_p1))) ll)) (setq abc (list aa bb cc)) ) ) abc )