找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: aeo

[求助] [求助]:已知三点求外接圆的圆心和半径

[复制链接]

已领礼包: 488个

财富等级: 日进斗金

 楼主| 发表于 2003-4-27 10:56:24 | 显示全部楼层
最初由 四季豆 发布
[B]

我前面已经说过了。说详细一点吧,如图... [/B]


好象不完全.比如角度为-30 度,这方法就不行了.
我说要通用.

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

使用道具 举报

发表于 2003-5-1 22:01:31 | 显示全部楼层
写程序我不会丫。
不过,我认为知道了怎么做,写程序只不过是程序化的事情了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-1 23:48:09 | 显示全部楼层

Re: [求助]:已知三点求外接圆的圆心和半径

最初由 aeo 发布
[B]有没有很简洁的写法.
帮我写一下吧. [/B]

  1. cbx老师看来最近比较忙,没来。我来
  2. 说说bx老师的看法:   :D

  3. (defun c:qcr()
  4.   (setq e0(entlast))
  5.   (prompt "\n选择共圆的三点,如程序意外出错,表示三点共线.\n")
  6.   (command "circle" "3p" pause pause pause)
  7.   (setq e1(entlast))
  8.   (if (/= e0 e1)(progn
  9.     (setq en1(entget e1)
  10.           r(dxf 40 en1)
  11.           p1(dxf 10 en1))
  12.     (entdel e1)
  13.     (princ (strcat "\n三点圆半径=" (rtos r 2 2) ",圆心为"))
  14.     (princ p1)(princ)
  15.     )
  16.   )
  17. )


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

使用道具 举报

发表于 2003-5-2 00:11:56 | 显示全部楼层
最初由 梦断江南 发布
[B]
另外:
;;点是否在LINE上
  (Defun ponln (p p1 p2 / l)
    (foreach x (list p1 p2 p)
      (setq l (c... [/B]


  1. (defun left(p1 p2 p3 / p c B C P)    ;;;p3点位于p1p2的关系
  2.   (setq p p3)
  3.   (apply '+ (mapcar '(lambda (b)
  4.     (setq c(- (* (car p) (cadr b)) (* (cadr p) (car b))) p b )c )
  5.     (list p1 p2 p3)))
  6. )
  7. (defun cy_left(p1 p2 p3 / k p c B C P);;;p3点位于p1p2的关系
  8.   (setq p p3)
  9.   (setq k(apply '+ (mapcar '(lambda (b)
  10.     (setq c(- (* (car p) (cadr b)) (* (cadr p) (car b))) p b )c )
  11.     (list p1 p2 p3))))
  12.   (cond
  13.     ((equal k 0.0 0.000001) 0.0);;上,此精度太小会出错
  14.     ((> k 0) 1);;左
  15.     (t -1);;右
  16.   )
  17. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

 楼主| 发表于 2003-5-2 12:39:35 | 显示全部楼层
用几何求很简单.
(inters p3(polar(xdrx_midp p1 p2)(+ 1.757(angle p1 p2))1e-9)
(polar p1(angle p1 p2)1e99) (polar p2(angle p2 p1)1e99)  )

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 22:39 , Processed in 0.269828 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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