明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: HRQ28

[求助]LISP能求出双椭圆公切线端点吗?

  [复制链接]
发表于 2010-9-1 11:06 | 显示全部楼层
本帖最后由 作者 于 2010-9-2 8:33:58 编辑

别这样夸我。我会飘飘然的。明经上高人多的是。呵呵,这就是我为什么喜欢来这里的缘故。
你说的竖椭圆,实际上是椭圆的长轴旋转了90度。
  1. (vl-load-com)
  2. (prompt "\n选取两个椭圆,第一个椭圆必须正置放.")
  3. (defun c:ccc (/ A1 B1 C1 CEN D1 D2 DIV E1 E2 EPS O1 O2 SOL MAJ)
  4.   (setq eps 1e-8)
  5.   (setq e1 (car (entsel)))
  6.   (setq e2 (car (entsel)))
  7.   (if (and e1
  8.     e1
  9.     (setq d1 (entget e1))
  10.     (setq d2 (entget e2))
  11.     (= (cdr (assoc 0 d1)) "ELLIPSE")
  12.     (= (cdr (assoc 0 d2)) "ELLIPSE")
  13.       )
  14.     (progn
  15.       (setq d1 (entget e1))
  16.       (setq d2 (entget e2))
  17.       (setq a1 (distance '(0 0 0) (cdr (assoc 11 d1))))
  18.       (setq b1 (* a1 (cdr (assoc 40 d1))))
  19.       (setq cen (cdr (assoc 10 d1)))
  20.       (setq maj (cdr (assoc 11 d1)))
  21.       (setq maj (mapcar '/ maj (list a1 a1 a1)))
  22.       (setq ang (angle '(0 0 0) maj))
  23.       (setq nor (cdr (assoc 210 d1)))
  24.       (setq o1 (vlax-ename->vla-object e1))
  25.       (setq o2 (vlax-ename->vla-object e2))
  26.       (if (or (equal (angle '(0 0) maj) (* pi 0.5) eps)
  27.        (equal (angle '(0 0) maj) (* pi 1.5) eps)
  28.    )
  29. (setq c1 a1
  30.        a1 b1
  31.        b1 c1
  32. )
  33.       )
  34.       
  35.       (setq div 50)
  36.       (setq sol (find o2 a1 b1 cen div))
  37.       (foreach n sol
  38. (bsol (car n) (cdr n) o2 a1 b1 cen eps mat)
  39.       )
  40.     )
  41.   )
  42.   (princ)
  43. )

关于第一种方法,有几个错误,我已经做了修正。请重新下载附件

发表于 2010-9-2 22:22 | 显示全部楼层

给出最后的程序。即使两个椭圆是旋转的,或者在UCS下,也能正确给出答案。

实际上本程序给出的思路也可求一般曲线的公切线。

没有严格出错处理,有需要的请自行加上.

本帖子中包含更多资源

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

x
 楼主| 发表于 2010-9-4 10:15 | 显示全部楼层
highflybird大师您的程序真是很伟大,我试用了感谢无比的佩服。
有个想法请您看看,如再略改一下,在目前可通用于两个椭圆的情况下,也改为可通用于两个圆或一个椭圆另一个为圆。这样是不是就应用起来很方便了。
请您再试试看。
发表于 2010-9-9 11:20 | 显示全部楼层

[原创]两条曲线的公切线的求法

本帖最后由 作者 于 2010-9-10 14:45:06 编辑

 

修改了一下,没来得及测试,应该可以用于椭圆和圆,

 

 

呵呵,测试一下如何在发帖中用明经的金钱规则。

本帖子中包含更多资源

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

x
发表于 2010-9-9 13:56 | 显示全部楼层
谢谢了,很厉害啊@
发表于 2010-9-12 18:05 | 显示全部楼层
还有数学几何的,好深奥啊?
发表于 2011-5-14 21:07 | 显示全部楼层
高飞大师,我一直关注你的贴子,请多多发贴哦
发表于 2012-3-13 17:30 | 显示全部楼层
本帖最后由 690994 于 2012-3-13 17:30 编辑

高飞大师确是高人,艺高德更高,
发表于 2015-12-18 08:21 | 显示全部楼层
都是高手!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 12:57 , Processed in 0.219840 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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