作业帮 > 数学 > 作业

已知弧的长度L和弦长D求半径R?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/23 01:52:45
已知弧的长度L和弦长D求半径R?
假设弧角度为A
L=A*R即A=L/R
sinA=L/2*R
得sinL/R=L/2*R
一个未知数R,可怎么求这个R呢,
我自己用LISP写了个解这个超越方程的
(defun c:qr()
(setq pt1 (getpoint "\n请选择第一点:"))
(setq pt2 (getpoint pt1 "\n请选择第二点:"))
(setq l0 (distance pt1 pt2))
(setq a (getint "\n请输入弧长:"))
(while (< a l0)
(princ "\n不能小于弦长")(princ l0)
(setq a (getint ",请重新输入弧长:"))
)
(setq r1 100000000)
(if (> (/ l0 2) (/ a (* 2 pi)))
(setq r2 (/ l0 2))
(setq r2 (/ a (* 2 pi)))
)
(setq r (* 0.5 (+ r1 r2)))
(setq l (* 2 r (sin(* 0.5 (/ a r)))))
(setq n 0)
(while (> (abs(- l l0)) 0.1) ;精度
(if (> l l0)
(setq r1 r)
(setq r2 r))
(setq r (* 0.5 (+ r1 r2)))
(setq l (* 2 r (sin(* 0.5 (/ a r)))))
)
(command "arc" pt2 "e" pt1 "r" r)
(princ "\n")(princ r)
(princ)
)
超越方程,用只能用逼近法推的了~ 用计算机来做也可以