(defun ufb00001 ( u_p1 ;線分の始点 u_p2 ;線分の終点 u_eps ;許容誤差 / vv ;単位ベクトル(2次元) Z成分は0.0 ; nil:単位ベクトルが算出できないとき ; 始点と終点が同一点(Z=0平面) xx yy ll vx vy zv ) ;単位ベクトルを求める(2次元) (setq vv 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 vx (/ (- (car u_p2) (car u_p1)) ll)) (setq vy (/ (- (cadr u_p2) (cadr u_p1)) ll)) (setq vz 0.0) (setq vv (list vx vy vz)) ) ) vv )