找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2853|回复: 11

[每日一码] 已知一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角求出相切...

[复制链接]

已领礼包: 146个

财富等级: 日进斗金

发表于 2014-9-6 12:30:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
已知一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角求出相切于直线,算出圆弧中心点,半径,起始角,终止角,在线上的切点
  1. (defun fx_tang_arc_line (linept1 linept2 arcpt3 or-arc-cen / arc_centerpoint refrence-point arc_r tang_point lengtha lengthb
  2.           lengthc cosa_lgx ref-length-1 ref-length-2 ref-length-3 arc_star-ang arc_end-ang)
  3. ;;;原创,编写:刘国新
  4. ;;;或者说 1, 已知通过一点及这点的角度(即给定原圆心点)相切于一直线求出圆弧中心点,半径,起始角,终止角,在线上的切点
  5. ;;;或者说 2, 已知一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角求出相切于直线
  6. ;;;                                                              算出圆弧中心点,半径,起始角,终止角,在线上的切点
  7. (if (or (equal (angle linept1 linept2)(angle linept1 arcpt3) 0.00005)(equal (angle linept1 linept2)(angle linept2 arcpt3) 0.00005))
  8. (setq arc_centerpoint nil)
  9. (progn
  10. (if (or (equal (angle linept1 linept2)(angle or-arc-cen arcpt3) 0.00005)
  11.                              (equal (angle linept1 linept2)(angle arcpt3 or-arc-cen) 0.00005))
  12. (if (= or-arc-cen nil)
  13. (setq arc_centerpoint nil)
  14. (progn
  15. (setq refrence-point (inters or-arc-cen (polar or-arc-cen (+ (angle or-arc-cen arcpt3) (* pi 0.5)) 5.0) linept1 linept2 nil))
  16. (setq arc_r (distance refrence-point or-arc-cen))
  17. (setq arc_centerpoint (polar arcpt3 (angle arcpt3 or-arc-cen) arc_r))
  18. (setq tang_point (inters arc_centerpoint (polar arc_centerpoint (+ (angle arc_centerpoint arcpt3) (* pi 0.5)) 5.0)
  19.        linept1 linept2 nil))
  20. )
  21. )
  22. (if (= or-arc-cen nil)
  23. (setq arc_centerpoint nil)
  24. (progn
  25. (setq refrence-point (inters linept1 linept2 arcpt3 or-arc-cen nil))
  26. (setq lengtha (distance linept1 refrence-point))
  27. (setq lengthb (distance refrence-point or-arc-cen))
  28. (setq lengthc (distance or-arc-cen linept1))
  29. (if (< (max lengthc lengtha lengthb)(- (+ lengthc lengtha lengthb) (max lengthc lengtha lengthb)))
  30. (if (or (= lengthc 0) (= lengtha 0) (= lengthb 0))
  31. (princ "\n请输入正确的数值!\n")
  32. (progn
  33. (setq cosa_lgx (/ (- (+ (* lengtha lengtha)(* lengthb lengthb))(* lengthc lengthc))
  34.                 (* lengtha lengthb 2)))
  35. (setq cosa_lgx (- (/ pi 2.0) (atan (/ cosa_lgx (sqrt (- 1.0 (* cosa_lgx cosa_lgx)))))))
  36. )
  37. )
  38. (princ "\n请输入正确的数值!\n")
  39. )
  40. (setq ref-length-1 (distance arcpt3 refrence-point))
  41. (setq ref-length-2 (abs (/ ref-length-1 (cos cosa_lgx))))
  42. (setq ref-length-3 (abs (* ref-length-1 (/ (sin cosa_lgx)(cos cosa_lgx)))))
  43. (if (equal (angle refrence-point or-arc-cen)(angle arcpt3 or-arc-cen) 0.000005)
  44. (setq tang_point (polar refrence-point (angle refrence-point (inters arcpt3 (polar arcpt3 (+ (angle arcpt3 or-arc-cen)
  45.     (* pi 0.5)) 5.0) linept1 linept2 nil)) (+ ref-length-2 ref-length-3)))
  46. (setq tang_point (polar refrence-point (angle refrence-point (inters arcpt3 (polar arcpt3 (+ (angle arcpt3 or-arc-cen)
  47.     (* pi 0.5)) 5.0) linept1 linept2 nil)) (- ref-length-2 ref-length-3)))
  48. )
  49. (setq arc_centerpoint (inters tang_point (polar tang_point (+ (angle linept1 linept2) (* pi 0.5)) 5.0)
  50.             refrence-point or-arc-cen nil))
  51. (setq arc_r (distance arc_centerpoint tang_point))
  52. )
  53. )
  54. )
  55. )
  56. )
  57. (if (/= arc_centerpoint nil)
  58. (progn
  59. (if (and (>= (angle linept1 tang_point) (* pi 0.5))(< (angle linept1 tang_point) (* pi 1.5)))
  60. (if (equal (- (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  61. (progn
  62. (setq arc_star-ang (angle arc_centerpoint tang_point))
  63. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  64. )
  65. (progn
  66. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  67. (setq arc_end-ang (angle arc_centerpoint tang_point))
  68. )
  69. )
  70. (if (and (< (angle linept1 tang_point) (* pi 2.0)) (>= (angle linept1 tang_point) (* pi 1.5)))
  71. (if (equal (- (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  72. (progn
  73. (setq arc_star-ang (angle arc_centerpoint tang_point))
  74. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  75. )
  76. (progn
  77. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  78. (setq arc_end-ang (angle arc_centerpoint tang_point))
  79. )
  80. )
  81. (if (equal (+ (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  82. (progn
  83. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  84. (setq arc_end-ang (angle arc_centerpoint tang_point))
  85. )
  86. (progn
  87. (setq arc_star-ang (angle arc_centerpoint tang_point))
  88. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  89. )
  90. )
  91. )
  92. )
  93. (if (equal arc_r 0.00005)
  94. nil
  95. (list arc_centerpoint arc_r arc_star-ang arc_end-ang tang_point)
  96. )
  97. )
  98. nil
  99. )
  100. )



  101. (defun c:fparc_lgx (/ *error* cm_lgx title_lgx ucs_lgx os_lgx or-arc-cen arcpt3 ss_lgx start_point end_point linept1
  102.         linept2 loop first-time f_point_lgx temp result_lgx arc_centerpoint arc_r arc_star-ang arc_end-ang
  103.         end-point)
  104. ;;;原创,编写:刘国新
  105. ;;;选择一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角画相切于直线的圆弧
  106. (defun *error* (msg)
  107. (command "undo" "E")
  108. (command "undo" "")
  109. (redraw)
  110. (princ "非正常退出,或参数有误!!!")
  111. (princ)
  112. )
  113. (setq cm_lgx (getvar "cmdecho"))
  114. (setvar "cmdecho" 0)
  115. (command "undo" "BE")
  116. (setq title_lgx (getvar "modemacro"))
  117. (setvar "modemacro" "刘国新工具集==>固定指定点的切角圆弧相切于直线")
  118. (setq ucs_lgx (getvar "ucsorg"))
  119. (command "ucs" "w")
  120. (setq os_lgx (getvar "osmode"))
  121. (setq or-arc-cen (cdr (assoc 10 (entget (setq del_part (car (entsel "\n选择要改变相切的圆弧:")))))))
  122. (if or-arc-cen
  123. (setq arcpt3 (getpoint "\n选取点(不改变圆弧在此点的切角):"))
  124. )
  125. (if arcpt3
  126. (setq ss_lgx (entsel "\n选择一条要相切的直线:"))
  127. )
  128. (if ss_lgx
  129. (if (= (cdr (assoc 0 (entget (car ss_lgx)))) "LINE")
  130. (progn
  131. (setq start_point (cdr (assoc 10 (entget (car ss_lgx)))))
  132. (setq end_point (cdr (assoc 11 (entget (car ss_lgx)))))
  133. (if (< (distance (cadr ss_lgx) start_point)(distance (cadr ss_lgx) end_point))
  134. (progn
  135. (setq linept1 end_point)
  136. (setq linept2 start_point)
  137. )
  138. (progn
  139. (setq linept1 start_point)
  140. (setq linept2 end_point)
  141. )
  142. )
  143. (command "erase" del_part "")
  144. (command "erase" (car ss_lgx) "")
  145. (setq loop t)
  146. (setq first-time nil)
  147. (setvar "osmode" 0)  
  148. (princ "\n反转相切[R]")
  149. (while loop
  150. (if (= lastpoint_lgx nil)
  151. (setq  lastpoint_lgx (list 0 0))
  152. )
  153. (setq f_point_lgx (get-gr_point_lgx lastpoint_lgx "f3,f8" 1));;;程序太大,不提供
  154. (if (or (= (caddr (cadr f_point_lgx)) 82)(= (caddr (cadr f_point_lgx)) 114));;;r
  155. (progn
  156. (redraw)
  157. (setq temp arc_end-ang)
  158. (setq arc_end-ang arc_star-ang)
  159. (setq arc_star-ang temp)
  160. )
  161. (progn
  162. (if (= first-time nil)
  163. (progn
  164. (if (= (setq result_lgx (fx_tang_arc_line linept1 linept2 arcpt3 or-arc-cen)) nil)
  165. (progn
  166. (setq loop nil)
  167. (princ "\n不能构成一个圆弧!!!\n")
  168. (exit)
  169. )
  170. (progn
  171. (setq arc_centerpoint (car result_lgx))
  172. (setq arc_r (cadr result_lgx))
  173. (setq arc_star-ang (caddr result_lgx))
  174. (setq arc_end-ang (nth 3 result_lgx))
  175. (setq end-point (nth 4 result_lgx))
  176. )
  177. )
  178. (setq first-time 1)
  179. )
  180. )
  181. )
  182. )
  183. (if (/= (cadr (cadr f_point_lgx)) nil)
  184. (setq loop nil)
  185. )
  186. (if result_lgx
  187. (progn
  188. (rough-show_circle_lgx nil nil nil arc_centerpoint arc_r arc_star-ang arc_end-ang nil 0.5 6);;;程序太大,不提供
  189. (grvecs (list 6 linept1 end-point))
  190. )
  191. )
  192. )
  193. (redraw)
  194. (if result_lgx
  195. (progn
  196. (vlax-invoke  (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))
  197.             'Addarc arc_centerpoint arc_r arc_star-ang arc_end-ang)
  198. (command "line" linept1 end-point "")
  199. )
  200. )
  201. )
  202. (princ "\n选择错误,程序即出!\n")
  203. )
  204. (princ "\n没有选择,程序即出!\n")
  205. )
  206. (setvar "osmode" os_lgx)
  207. (command "ucs" "n" ucs_lgx)
  208. (setvar "modemacro" title_lgx)
  209. (princ "\n祝你工作愉快!!!\n")
  210. (command "undo" "E")
  211. (setvar "cmdecho" cm_lgx)
  212. (princ)
  213. )


lgx.gif
lgx.JPG
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 12:39:31 | 显示全部楼层
哎,辛辛苦苦做完了,才想起又做复杂了。

点评

没有白辛苦,这是你知识总结提高的过程。  详情 回复 发表于 2014-9-6 12:59
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-9-6 12:59:06 | 显示全部楼层
lgx9612 发表于 2014-9-6 12:39
哎,辛辛苦苦做完了,才想起又做复杂了。

没有白辛苦,这是你知识总结提高的过程。

点评

谢谢大师的激励.  详情 回复 发表于 2014-9-6 14:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 14:11:16 | 显示全部楼层
本帖最后由 lgx9612 于 2014-9-6 16:28 编辑

算法简化了一点
  1. (defun fx_tang_arc_line (linept1 linept2 arcpt3 or-arc-cen / refrence-point refrence1-point tang_point refrence2-point
  2.        arc_centerpoint arc_r arc_star-ang arc_end-ang)
  3. ;;;原创,编写:刘国新
  4. ;;;或者说 1, 已知通过一点及这点的角度(即给定原圆心点)相切于一直线求出圆弧中心点,半径,起始角,终止角,在线上的切点
  5. ;;;或者说 2, 已知一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角求出相切于直线
  6. ;;;                                                              算出圆弧中心点,半径,起始角,终止角,在线上的切点
  7. (if (or (equal (angle linept1 linept2)(angle linept1 arcpt3) 0.00005)(equal (angle linept1 linept2)(angle linept2 arcpt3) 0.00005))
  8. (setq arc_centerpoint nil)
  9. (if (= or-arc-cen nil)
  10. (setq arc_centerpoint nil)
  11. (progn
  12. (if (/= (setq refrence-point (inters linept1 linept2 arcpt3 (polar arcpt3 (+ (angle arcpt3 or-arc-cen)(* pi 0.5)) 5.0) nil)) nil)
  13. (if (/= (setq refrence1-point (inters linept1 linept2 arcpt3 or-arc-cen nil)) nil)
  14. (progn
  15. (if (equal (angle refrence1-point arcpt3)(angle or-arc-cen arcpt3) 0.000005)
  16. (setq tang_point (polar refrence-point (angle refrence-point refrence1-point)(distance arcpt3 refrence-point)))
  17. (setq tang_point (polar refrence-point (angle refrence1-point refrence-point)(distance arcpt3 refrence-point)))
  18. )
  19. (setq refrence2-point (mapcar '* (mapcar '+ tang_point arcpt3) '(0.5 0.5 0.5)))
  20. (setq arc_centerpoint (inters refrence2-point (polar refrence2-point
  21.      (+ (angle tang_point arcpt3) (* pi 0.5)) 5.0) arcpt3 or-arc-cen nil))
  22. (setq arc_r (distance arc_centerpoint tang_point))
  23. )
  24. (progn
  25. (setq arc_r (distance refrence-point arcpt3))
  26. (setq tang_point (polar refrence-point (angle arcpt3 or-arc-cen) arc_r ))
  27. (setq arc_centerpoint (polar arcpt3 (angle arcpt3 or-arc-cen) arc_r ))
  28. )
  29. )
  30. (progn
  31. (setq tang_point (inters linept1 linept2 arcpt3 (polar arcpt3 (angle arcpt3 or-arc-cen) 5.0) nil))
  32. (setq arc_r (/ (distance arcpt3 tang_point) 2.0))
  33. (setq arc_centerpoint (polar tang_point (angle tang_point or-arc-cen) arc_r))
  34. )
  35. )
  36. )
  37. )
  38. )
  39. (if (/= arc_centerpoint nil)
  40. (progn
  41. (if (and (>= (angle linept1 tang_point) (* pi 0.5))(< (angle linept1 tang_point) (* pi 1.5)))
  42. (if (equal (- (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  43. (progn
  44. (setq arc_star-ang (angle arc_centerpoint tang_point))
  45. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  46. )
  47. (progn
  48. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  49. (setq arc_end-ang (angle arc_centerpoint tang_point))
  50. )
  51. )
  52. (if (and (< (angle linept1 tang_point) (* pi 2.0)) (>= (angle linept1 tang_point) (* pi 1.5)))
  53. (if (equal (- (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  54. (progn
  55. (setq arc_star-ang (angle arc_centerpoint tang_point))
  56. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  57. )
  58. (progn
  59. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  60. (setq arc_end-ang (angle arc_centerpoint tang_point))
  61. )
  62. )
  63. (if (equal (+ (angle linept1 tang_point)(* pi 0.5))(angle arc_centerpoint tang_point) 0.00005)
  64. (progn
  65. (setq arc_star-ang (angle arc_centerpoint arcpt3))
  66. (setq arc_end-ang (angle arc_centerpoint tang_point))
  67. )
  68. (progn
  69. (setq arc_star-ang (angle arc_centerpoint tang_point))
  70. (setq arc_end-ang (angle arc_centerpoint arcpt3))
  71. )
  72. )
  73. )
  74. )
  75. (if (equal arc_r 0.00005)
  76. nil
  77. (list arc_centerpoint arc_r arc_star-ang arc_end-ang tang_point)
  78. )
  79. )
  80. nil
  81. )
  82. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 14:14:11 | 显示全部楼层
XDSoft 发表于 2014-9-6 12:59
没有白辛苦,这是你知识总结提高的过程。

谢谢大师的激励.

点评

没看懂LZ的算法,给你画个算法示意 inters ... nil  详情 回复 发表于 2014-9-6 14:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-9-6 14:36:43 | 显示全部楼层
lgx9612 发表于 2014-9-6 14:14
谢谢大师的激励.

没看懂LZ的算法,给你画个算法示意 inters ... nil
20140906143514.jpg

点评

画了一个示意图,望指点  详情 回复 发表于 2014-9-6 15:14
简化后的正是你图中所示方法计算的  详情 回复 发表于 2014-9-6 14:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 14:47:35 | 显示全部楼层
csharp 发表于 2014-9-6 14:36
没看懂LZ的算法,给你画个算法示意 inters ... nil

简化后的正是你图中所示方法计算的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 15:14:54 | 显示全部楼层
csharp 发表于 2014-9-6 14:36
没看懂LZ的算法,给你画个算法示意 inters ... nil

画了一个示意图,望指点
lgx.JPG

点评

一般应该指定线上一点,就像 Fillet 命令,使用 Trans 找出和指定点一边的 圆心  详情 回复 发表于 2014-9-6 15:52
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-9-6 15:52:34 | 显示全部楼层
lgx9612 发表于 2014-9-6 15:14
画了一个示意图,望指点

一般应该指定线上一点,就像 Fillet 命令,使用 Trans 找出和指定点一边的 圆心
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2014-9-6 15:55:55 | 显示全部楼层
楼主的几何学得极好啊。。。高手啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 146个

财富等级: 日进斗金

 楼主| 发表于 2014-9-6 16:31:52 | 显示全部楼层
考虑不周,如图的两种情况忽略了。4楼代码已修改。
lgx.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1094个

财富等级: 财源广进

发表于 2021-7-12 00:05:20 | 显示全部楼层
感谢楼主分享已知一个圆弧和一条直线,指定点于圆弧上一点,在不改变该点在圆弧上的切角求出相切...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 17:07 , Processed in 0.509942 second(s), 65 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表