ynhh 发表于 2016-1-6 22:22:44

已知弧长弦长求半径

本帖最后由 ynhh 于 2023-8-19 14:27 编辑

已知弧长弦长求半径
弧长对应的角度都小于是180度

不知能不能用迭代法计算出来?
研究了半天也没个结果
以前院长的逼近法计算太费时间
不知能不能用迭代法计算出来??

已知
(SETQ S 978);弧长
(SETQ L 915);弦长

求R (图解约 780)



这里的以前求问
pym
长老
也没法求出公式
http://bbs.mjtd.com/thread-108332-1-1.html

应该是唯一的,只有弧长大于弦长的π倍时,才会是优弧,否则是劣弧,不存在给定的数据既可能是优弧又是劣弧的情况。但本问题无法直接用AutoCAD的参数约束来解决,因为弧长、弦长与半径(或圆心角)之间的方程是超级方程,无法在参数设置中输入约束关系,AutoCAD的参数约束中不允许参数本身循环。
设弧长为S,弦长为L,半径为R,则
L=2*R*sin(90*S/(π*R))——角度用度,AutoCAD中角度参数用度
或L=2*R*sin(S/(2*R))——角度用弧度,Excel中三角函数用弧度
公式无法把R未知数转化成通过已知变量来求解,AutoCAD中不接受参数本身循环计算,所以不能直接进行约束。

ynhh 发表于 2016-1-6 22:26:28

这文章
http://wenku.baidu.com/link?url=gzqdcw9-trXccdewuMO5_bNiVwVWHKaRCh1FLDAQ3tfGYOCvyCC10ZYq1PK2O91ixK8J6rKsXCxrafbN4ImGKYMsCJ3Akf8lBNgzYMSj34_
不知如何用啊

ynhh 发表于 2016-1-6 22:33:55

本帖最后由 ynhh 于 2023-8-19 14:30 编辑

这个算例
不知如何编为 迭代 计算的程序


雪山飞狐_lzh 发表于 2016-1-6 23:18:08

2楼你贴的链接里面不是有代码吗。。。

CTC 发表于 2016-1-7 09:03:22

论坛已有代码

xyp1964 发表于 2016-1-7 09:20:03

;; 逼近法;; ll2r 弧长弦长求半径 (ll2r l1 l2 精度)
(defun ll2r (l1 l2 jd / r)
(setq r (* l2 0.5))
(while (< (- (* r r) (* l2 l2 0.5 0.5))
          (* r r (cos (/ l1 2 r)) (cos (/ l1 2 r)))
       )
    (setq r (+ r jd))
)
r
)

ynhh 发表于 2023-8-19 14:27:59

xyp1964 发表于 2016-1-7 09:20
;; 逼近法

院长这计算太费时间容易死机
能不能搞个迭代法计算
谢谢

cable2004 发表于 2023-8-19 16:02:14

如果已知弧长 S 和弦长 C,可以使用以下公式来计算半径 R:

R = (C^2 + 4S^2) / (8S)

ynhh 发表于 2023-8-19 16:20:35

cable2004 发表于 2023-8-19 16:02
如果已知弧长 S 和弦长 C,可以使用以下公式来计算半径 R:

R = (C^2 + 4S^2) / (8S)
您这结果有点不对哈
(SETQ S 978);弧长CAD图解R=780
(SETQ C 915);弦长
R = (C^2 + 4S^2) / (8S)
(SETQ R (/ (+ (^2 C) (* 4.0 (^2 S))) (* 8.0 S))); = 596 不对
(SETQ R (/ (+ (^2 C) (^2 (* 4.0 S))) (* 8.0 S))); = 2063.01 不对


大西瓜 发表于 2024-5-1 23:10:42

L=2*R*sin(S/(2*R)) 简化一下设直径d=2r,
页: [1] 2
查看完整版本: 已知弧长弦长求半径