今天学习程序时碰到一个椭圆算法不会,请教各位朋友.
本帖最后由 作者 于 2007-7-10 16:03:58 编辑 <br /><br /> <p>如图所示,怎么取出一个椭圆的最左边点、最下边点、最右边点、最上边点呀?</p> <p>如果您要的只是最大外框 ==> acet-ent-geomextents</p><p>那两个小圆是 Focus</p><p></p> <p></p><p>这是解法,我没来得及写lisp程序,如果是C++,知道了这个算法应该不难写程序了。</p> 此法是不用intersectwith函数,直接算出来的,应该比较快。 <p>作图法:</p><p>将已知椭圆水平复制一个,用构造线作其上、下公切线,就得到最上、最下点。同样地,垂直复制,可得到最左、最右点。</p> <p>方法很好!</p> <p></p><p>这是我的lisp程序,从中看出这个算法的确比"首先用GetboundingBox获得最大最小点,再建立四条线用IntersectWith求交点",甚至比后面的方法的第一步都快上仅一倍。</p> 可见复杂的方法并不一定速度慢,在编程过程中能少用ActiveX的方法就尽量避免用,而用纯lisp(不包括command)
页:
[1]