(defun ufb00002 ( u_p1 ;線分の始点 u_p2 ;線分の終点 u_mm ;延長する長さ(負も可) u_eps ;許容誤差 / p3 ;延長点のX、Y座標 ; nil:判定できない ; 始点と終点が同一点 vv vx vy xx yy zz ) ;有限線分の延長点を求める (setq vv (ufb00001 u_p1 u_p2 u_eps)) (if (= vv nil) (setq p3 nil) (progn (setq vx (car vv)) (setq vy (cadr vv)) (setq xx (+ (car u_p2) (* u_mm vx))) (setq yy (+ (cadr u_p2) (* u_mm vy))) (setq zz 0.0) (setq p3 (list xx yy zz)) ) ) p3 )