;;vx1:起点 ;;vx2:终点 ;;blg:凸度 ;;ag:夹角,以度为单位 (defun xl (VX1 VX2 BLG ag / ARCRAD CENDIR HLFANG ang mp cp) (setq ang (angle vx1 vx2) HLFANG (* 2 (atan BLG)) CENDIR ((if (< BLG 0) - + ) (- ang HLFANG) (/ pi 2) ) ARCRAD (abs (/ (/ (distance VX1 VX2) 2.0) (sin HLFANG))) cp (polar VX1 CENDIR ARCRAD) ang (angle cp vx1) ) (if (< blg 0) (setq ang (- ang (* pi (/ ag 180)))) (setq ang (+ ang (* pi (/ ag 180)))) ) (polar cp ang ARCRAD) )
|