皇上快溜 发表于 2023-4-9 06:01:07

求两段相切弧的顶点距

如图,相切的两段弧半径相等。
有两个变量,(变量1)弧半径,(变量2)“高度差”
求值是两段弧的顶点距离
数学不好,求一段表达式,谢谢大家。

liuhe 发表于 2023-4-9 10:14:31

本帖最后由 liuhe 于 2023-4-9 11:00 编辑

(DEFUN C:TT ()
(SETQ E (CAR (ENTSEL"\n选择合并后lw线")))
(IF E
    (PROGN
      (SETQ ENT (ENTGET E))
      (SETQ PLST (MJ:massoc 10 ENT))
      (SETQ P1DIS (vlax-curve-getDistAtPoint E (CAR PLST))
      P2DIS (vlax-curve-getDistAtPoint E (CADR PLST))
      P3DIS (vlax-curve-getDistAtPoint E (CADDR PLST))
      P4DIS (vlax-curve-getDistAtPoint E (LAST PLST))
      P2    (vlax-curve-getPointAtDist E (* 0.5 P2DIS))
      P3    (vlax-curve-getPointAtDist E (+ (* 0.5 P3DIS) (* 0.5 P2DIS)))
      )
      (Make-TEXT P2 "P2")
      (Make-TEXT P3 "P3")
      (EntmakeDimensionH
p2
p3
(LIST (CAR (MID P2 P3)) (MAX (CADR P2) (CADR P3)))
      )
    )
)
)
(DEFUN MID (P1 P2)
(MAPCAR (FUNCTION (LAMBDA (X Y) (* 0.5 (+ X Y)))) P1 P2)
)

(defun EntmakeDimensionH (p1 p2 txtpt)
(entmakeX
    (list '(0 . "DIMENSION")
    '(100 . "AcDbEntity")
    '(100 . "AcDbDimension")
    (cons 10 txtpt)
    '(70 . 32)
    '(1 . "")
    '(100 . "AcDbAlignedDimension")
    (cons 13 p1)
    (cons 14 p2)
    '(100 . "AcDbRotatedDimension")
    )
)
)

(defun Make-TEXT (pt str)
(entmakeX
    (list '(0 . "TEXT") (cons 1 str) (cons 10 pt) (cons 40 10))
)
)




(defun MJ:massoc (key alist)
(mapcar 'cdr
    (vl-remove-if-not '(lambda (x) (equal key (car x))) alist)
)
)

我连圆弧的顶点是啥都看不懂:L,圆弧的角平分线的点?上诉代码是两段圆弧合并后为 一个lw线的 代码

guosheyang 发表于 2023-4-14 12:05:24

本帖最后由 guosheyang 于 2023-4-14 12:07 编辑

mahuan1279 发表于 2023-4-14 10:55
没这么复杂吧,根据相似就可以得出结果。NK=AB/tanQ=AB/(CD/LD)=AB*LD/CD,BE=a,AB=h,CM=R,则有a^2+(2R-h) ...
嗯当时没考虑三角函数实际上只需要算出LD 和CD边的长度即可以知道那个角度的tan值(LD /CD)    然后乘以高差即可

皇上快溜 发表于 2023-4-10 05:34:55

guosheyang 发表于 2023-4-9 20:22
一样的道理   都可以求出   勾股定理相似三角形

你好,请问你说的“相似“三角形原理,是指用大3角形边长之间的比率,去算小3角形的边长吗?

guosheyang 发表于 2023-4-9 08:35:10

勾股定理和相似三角形 就可以求出

guosheyang 发表于 2023-4-9 09:27:14


guosheyang 发表于 2023-4-9 10:27:17

liuhe 发表于 2023-4-9 10:14
我连圆弧的顶点是啥都看不懂,圆弧的角平分线的点?

圆弧端点处切线的交点我也是猜的

liuhe 发表于 2023-4-9 10:56:57

guosheyang 发表于 2023-4-9 10:27
圆弧端点处切线的交点我也是猜的

切点只有一个,应该是角平分线上圆弧点

guosheyang 发表于 2023-4-9 12:10:15

liuhe 发表于 2023-4-9 10:56
切点只有一个,应该是角平分线上圆弧点

圆弧有两个端点   端点处的两条切线延长线的交点   这个点在道路线设计中经常用

liuhe 发表于 2023-4-9 12:36:16

guosheyang 发表于 2023-4-9 12:10
圆弧有两个端点   端点处的两条切线延长线的交点   这个点在道路线设计中经常用

不上图纸 我也看不懂,隔行如隔山

皇上快溜 发表于 2023-4-9 17:28:10

guosheyang 发表于 2023-4-9 09:27


你好,这个解题是成立的。多谢你。
O1点,在BA走向的A这一侧的下面,而不在BA两点之间,似乎就不成立了。
高差,不是点O1到点B,是A到B点。
E和F分别是两个弧各自的切点交点。

皇上快溜 发表于 2023-4-9 17:37:35

AC是两段弦长,弦长求得出来,也可勾股出BC距。求弦长,要两个值,其一是R值,己知。第二是弧夹角,未知。现在己知的,只有R和高差
页: [1] 2 3
查看完整版本: 求两段相切弧的顶点距