原理:等腰三角形对边中点即为平分线上点!
 - (defun pfx (p1 p2 p3)
- (setq v1 (mapcar '- p1 p2)
- d1 (distance '(0 0 0) v1)
- v2 (mapcar '- p3 p2)
- d2 (distance '(0 0 0) v2)
- s (/ d1 d2)
- v1 (mapcar '/ v1 (list s s s))
- p1 (mapcar '+ p2 v1)
- )
- (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p1 p3)) ;_ 对边中点
- )
- (defun c:tt ()
- (if (and
- (setq p1 (getpoint "\n第一点:"))
- (setq p2 (getpoint "\n第二点:"))
- (setq p3 (getpoint "\n第三点:"))
- )
- (progn
- (command "line" "_non" p1 "_non" p2 "_non" p3 "")
- (setq p4 (pfx p1 p2 p3))
- (command "line" "_non" p2 "_non" p4 "")
- )
- )
- (princ)
- )
|