自贡黄明儒 发表于 2015-11-20 08:16:04

已知弦高H和弧长L,求半径R

本帖最后由 自贡黄明儒 于 2015-11-20 08:37 编辑

几何作图,或者计算出公式求解均可,请各位大神帮忙。近似解最好。

vectra 发表于 2015-11-20 08:16:05

本帖最后由 vectra 于 2015-11-20 13:56 编辑

(defun acos (n)
(if (and (numberp n)
         (<= (abs n) 1.0)
      )
    (if      (equal n 0.0 0.001)
      (* pi 0.5)
      (atan (/ (sqrt (- 1 (* n n))) n))
    )
)
)


(defun getradius (l h / r k)
(setq r h)
(while (> (abs (- r (setq k (/ l 2 (acos (- 1 (/ h r))))))) 0.0001)
    (setq r k)
)
k
)

没有仔细验证 大家可以测试一下 迭代法试算


_$ (getradius 523.6096 66.99)
500.0

试了下只能算劣弧

伪书虫86 发表于 2015-11-20 08:34:46

本帖最后由 伪书虫86 于 2015-11-20 09:05 编辑

cos(L/2R)=(R-H)/R
解这个方程即可

自贡黄明儒 发表于 2015-11-20 08:38:39

伪书虫86 发表于 2015-11-20 08:34 static/image/common/back.gif
cos(L/2R)=(R-H)*R
解这个方程即可

能出个近似解吗?

伪书虫86 发表于 2015-11-20 08:57:19

自贡黄明儒 发表于 2015-11-20 08:38 static/image/common/back.gif
能出个近似解吗?

解不出来呢,干嘛不直接编程作图呢,出来的结果不是更精确麽

vectra 发表于 2015-11-20 08:57:24

我怎么感觉是 COS(L/2R)=1-H/R
即COS(L/2R)=(R-H)/R
R提不出来 数学功底不行

jltx123456 发表于 2015-11-20 09:03:44

http://www.zybang.com/question/2240d7ef283399f46168cd28b8e53246.html

Linhay 发表于 2015-11-20 09:12:38


via 三维网

fl202 发表于 2015-11-20 09:43:46

本帖最后由 fl202 于 2015-11-23 10:05 编辑

楼上公式错了吧?
cos(L/2R)=(R-H) / R 而且这个方程不好解。

设弦高H和弧长L,半角x(弧度值),求半径R。有方程:
1    L=R* (cos (2*x))
2    H=R*(1-cos(x) )
方程式2/1可以联立得一元二次方程(只含有一个未知数,并且未知数项的最高次数是2的整式方程叫做一元二次方程。它的标准形式为:ax²+bx+c=0(a≠0),根x=[-b±√(b²-4ac)]/2a )
,求解的x , 再根据x值,方程式2可以解出R
中间过程不出了。
最终解为:
R= H / (1-cos(x) )

cos(x)=( -1±(sqrt (1-4*2*H/L*(1+H/L) )/(2*2*H/L)

好难写方程式,lisp、VAB的方程式习惯不一样,我这个是混搭了,能看懂吧?

ivde 发表于 2015-11-20 10:25:11

本帖最后由 ivde 于 2015-11-20 10:31 编辑

L=R x a
R x sin(a/2) = H / 2
还有个判断优弧/劣弧
作图就简单了,做三角形,弦中垂线,另两边垂线交点即圆心
页: [1] 2 3
查看完整版本: 已知弦高H和弧长L,求半径R