ll_j 发表于 2015-11-20 10:27:40


自贡黄明儒 发表于 2015-11-20 10:48:38

ivde 发表于 2015-11-20 10:25 static/image/common/back.gif
L=R x a
R x sin(a/2) = H / 2
还有个判断优弧/劣弧


如能作图求解,是最好不过的事,不用为一堆公式发愁了。

自贡黄明儒 发表于 2015-11-20 11:18:46

fl202 发表于 2015-11-20 09:43 static/image/common/back.gif
楼上公式错了吧?
cos(L/2R)=(R-H) / R 而且这个方程不好解。



先用excel计算不对,帮看看问题出在什么地方

ivde 发表于 2015-11-20 11:47:01

本帖最后由 ivde 于 2015-11-20 13:47 编辑

(L/2)^2+(R-h)^2=R^2
h^2-2Rh+L^2/4=0
R=(h^2+L^2/4)/2h

Linhay 发表于 2015-11-20 11:50:33

fl202 发表于 2015-11-20 09:43 static/image/common/back.gif
楼上公式错了吧?
cos(L/2R)=(R-H) / R 而且这个方程不好解。



他这是一阶精度近似的,要精准就要更高阶

zzyong00 发表于 2015-11-20 13:12:38

本帖最后由 zzyong00 于 2015-11-20 13:14 编辑

http://bbs.mjtd.com/forum.php?mo ... 6515&fromuid=332660

图文并茂

-------------
错了,好像不是你要的!请无视

Linhay 发表于 2015-11-20 13:36:05

我根据我发的图片做了一下,一阶偏差在9.02%左右,高阶的方程我不会解.只能做到这个地步了.建议如果想要精确点可以人为的把这9%去掉,不是办法的办法

自贡黄明儒 发表于 2015-11-20 14:44:50

(defun C:MyDrawRad (/ E H L P1 P2 PM R S)
(setq L (getreal " >>输入弧长:"))
(setq H (getreal " >输入弦高:"))
(setq R (getradius L H))
(setq s (* (sin (/ (* L 0.5) R)) R))
;;(polar pt ang dist)
(setq p1 (list s 0))
(setq p2 (list (- s) 0))
(setq pm (list 0 H))
(command "_.arc" p2 pm p1)
(setq e (entlast))
(command "_.move" e "" '(0 0) pause)
(princ)
)

lijiao 发表于 2015-11-21 11:13:39

可以用递归的办法解决(只用于劣弧)

yshf 发表于 2015-11-22 17:51:10

参考:http://wenku.baidu.com/link?url=QiERSllil5wMIKKUtQz6KjIIEK3EQdoj7-rgNEgOgsw9vxZ_d1Tdy2J2wpcjvh65Zst3hTNj0G9s30BWSpVXUcg3pF4CteDq3erO0jgLvL_
页: 1 [2] 3
查看完整版本: 已知弦高H和弧长L,求半径R