|
发表于 2004-8-8 14:23:00
|
显示全部楼层
ALIN,你好,我已将你的程式下载并作更改后多次调试已可正式使用,感谢;主要更改求R的公式,现将内容公式如下:
(defun C:RCtr (/ d a)
(setq pt1 (getpoint "请输入第一点:"))
(SETQ PT2 (GETPOINT "\n请输入第二点:"))
(SETQ B (GETREAL "\n输入凸度:"))
(setq d (distance PT1 PT2)
a (angle PT1 PT2))
(setq d1 (/ d 2.0))
(setq h (* d1 (abs b)))
(setq r (/ (+ (* d1 d1) (* h h)) (* 2.0 h)))
;(setq r (abs (/ d (sin (/ (atan (* b 4)) 2)) 2)))
(if (>= b 0)
(setq ctr (polar (polar PT1
a
(/ d 2.0))
(+ a (/ pi 2))
(sqrt (- (* r r) (* d d 0.25)))))
(setq ctr (polar (polar PT1
a
(/ d 2.0))
(- a (/ pi 2))
(sqrt (- (* r r) (* d d 0.25)))))
)
(PRINC R)
(PRINC "\n")
(PRINC CTR)
;;; (command "point" ctr)
(princ)
) |
|