明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1204|回复: 7

[几何作图] 求教一个几何作图题

[复制链接]
发表于 2021-3-28 17:55 | 显示全部楼层 |阅读模式
求教一个几何作图题

本帖子中包含更多资源

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

x
 楼主| 发表于 2021-3-28 17:58 | 显示全部楼层
这个题目如果用有几何约束的Solidworks等做,非常简单,但纯CAD作图,颇有难度,故求教。
 楼主| 发表于 2021-3-30 14:36 | 显示全部楼层
题中射线OA和水平线DB为定直线,就是说角度ADB是已知的。有网友提示设OA=OB=r,在三角形ADB中用余弦定理解出r,可我还是不会。
发表于 2021-4-5 13:53 | 显示全部楼层
在O点画一个直径为AB的圆,由A点向圆做切线(捕捉切点),然后复制切线到O点。完成
 楼主| 发表于 2021-4-6 12:08 | 显示全部楼层
本帖最后由 dickchenlm 于 2021-4-6 12:23 编辑
zhy307501169 发表于 2021-4-5 13:53
在O点画一个直径为AB的圆,由A点向圆做切线(捕捉切点),然后复制切线到O点。完成

谢谢回答!但A点怎么确定呢?OA为定直线,OA方位已知,但OA长度是未知的。
发表于 2021-5-14 09:39 | 显示全部楼层
解出来也不是可尺规作图的。
发表于 2021-5-18 21:53 | 显示全部楼层
本帖最后由 highflybird 于 2021-5-18 22:01 编辑

诚如chenjun_nj所说,此问题的一般解是不可尺规作图解,因为得到一个一元四次方程:
下面是我用LISP解的结果。(把代码拷贝到LISP编辑器或者文本中,加载运行)

  1. ;;; 问题来源:http://bbs.mjtd.com/thread-183200-1-1.html        
  2. ;;; 输入条件输出解,并画出图形。                                
  3. (defun c:tt (/ p q l h m i j x y sx sy px dd an pp)
  4.   (initget 9)
  5.   (setq p (getpoint "\n定点O位置:"))
  6.   (initget 9)
  7.   (setq q (getpoint p "\n射线OA的另一点:"))
  8.   (initget 15)
  9.   (setq L (getdist q "\n输入线段AB的定长:"))
  10.   (initget 9)
  11.   (setq h (getpoint "\n点取水平线DB位置:"))
  12.   (setq m (polar h 0 1000))
  13.   (if (setq i (inters h m p q nil))
  14.     (progn
  15.       (setq j (mapcar '- p i))
  16.       (setq x (abs (car j)))
  17.       (setq y (abs (cadr j)))
  18.       (foreach s (GetSolutions x y L)
  19.         (setq sx (car s))
  20.         (setq sy (cadr s))
  21.         (if (and (equal sy 0 1e-8) (> sx 0))
  22.           (progn
  23.             (setq px (polar i 0 sx))
  24.       (setq dd (distance p px))
  25.       (setq an (angle p q))
  26.       (setq pp (polar p an dd))
  27.       (ent:make_line (trans p 1 0) (trans q 1 0))
  28.       (ent:make_line (trans px 1 0) (trans pp 1 0))
  29.       (ent:make_Xline (trans h 1 0) (trans '(1 0 0) 1 0 T))
  30.           )
  31.   )
  32.       )
  33.     )
  34.     (alert "你输入了无效的条件!")
  35.   )
  36.   (princ)
  37. )

  38. ;;;-------------------------------------------------------------
  39. ;;; 通过定点相对坐标和定长得到一元四次方程。此方程的解为问题解。
  40. ;;; 关于一元四次方程的解及其相关函数,请参见下面的链接:         
  41. ;;; http://bbs.mjtd.com/forum.php?mo ... hlight=%B8%B4%CA%FD
  42. ;;;-------------------------------------------------------------
  43. (defun GetSolutions (x y L / xx yy xy k B C D E)
  44.   (setq xx (* x x))
  45.   (setq yy (* y y))
  46.   (setq xy (+ xx yy))
  47.   (setq k (/ (* xy l l) yy))
  48.   (setq B (+ x x))
  49.   (setq C (- xy k))
  50.   (setq D (* -2 x k))
  51.   (setq E (* K (- (* 0.25 L L) xy)))
  52.   (Math:quartic_Equation 1 B C D E)
  53. )

  54. ;;;-------------------------------------------------------------
  55. ;;;创建一条直线段                                         
  56. ;;;输入: 两个三维或者二维的点                             
  57. ;;;输出: 线段实体的图元名                                 
  58. ;;;-------------------------------------------------------------
  59. (defun Ent:make_line (p q)
  60.   (entmakex
  61.     (list
  62.       '(0 . "LINE")
  63.       (cons 10 p)
  64.       (cons 11 q)
  65.     )
  66.   )
  67. )

  68. ;;;-------------------------------------------------------------
  69. ;;; 创建一条射线                                          
  70. ;;; 输入: 射线通过的基点和方向矢量                              
  71. ;;; 输出: 创建后的射线图元名                                 
  72. ;;;-------------------------------------------------------------
  73. (defun Ent:make_xline (p v)
  74.   (entmakex
  75.     (list
  76.       '(0 . "XLINE")
  77.       '(100 . "AcDbEntity")
  78.       '(100 . "AcDbXline")
  79.       (cons 10 p)
  80.       (cons 11 v)
  81.     )
  82.   )
  83. )

  84. (vl-load-com)
  85. (princ "\n运行命令: tt.")
  86. (princ)

发表于 2021-5-18 21:55 | 显示全部楼层
关于一元四次方程的解及其函数请参考如下链接:
http://bbs.mjtd.com/forum.php?mo ... hlight=%B8%B4%CA%FD
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-20 19:58 , Processed in 0.181211 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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