明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2349|回复: 7

今天学习程序时碰到一个椭圆算法不会,请教各位朋友.

[复制链接]
发表于 2007-7-10 16:02 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-7-10 16:03:58 编辑

如图所示,怎么取出一个椭圆的最左边点、最下边点、最右边点、最上边点呀?

本帖子中包含更多资源

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

x
发表于 2007-7-10 17:52 | 显示全部楼层

如果您要的只是最大外框 ==> acet-ent-geomextents

那两个小圆是 Focus

本帖子中包含更多资源

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

x
发表于 2007-8-15 15:24 | 显示全部楼层

这是解法,我没来得及写lisp程序,如果是C++,知道了这个算法应该不难写程序了。

本帖子中包含更多资源

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

x
发表于 2007-8-15 15:31 | 显示全部楼层
此法是不用intersectwith函数,直接算出来的,应该比较快。
发表于 2007-8-15 18:22 | 显示全部楼层

作图法:

将已知椭圆水平复制一个,用构造线作其上、下公切线,就得到最上、最下点。同样地,垂直复制,可得到最左、最右点。

 楼主| 发表于 2007-8-16 08:19 | 显示全部楼层

方法很好!

发表于 2007-8-16 10:31 | 显示全部楼层

这是我的lisp程序,从中看出这个算法的确比"首先用GetboundingBox获得最大最小点,再建立四条线用IntersectWith求交点",甚至比后面的方法的第一步都快上仅一倍。

本帖子中包含更多资源

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

x
发表于 2007-8-16 10:34 | 显示全部楼层
可见复杂的方法并不一定速度慢,在编程过程中能少用ActiveX的方法就尽量避免用,而用纯lisp(不包括command)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 14:30 , Processed in 0.192782 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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