只需一步,快速开始
9楼的办法就是计算麻烦点,不过转换程序倒不麻烦。谢谢先。
使用道具 举报
有一个简单的方法:将直线作为边界来剪切椭圆,然后检查椭圆是否发生了改变(如起点及终点角度是否与原来不一样),如果改变了,说明有交点,然后再undo回去.也可以将椭圆作为边界来剪切直线,然后检查直线长度是否发生了变化.
但这种方法检查不出相切的情况
方法倒是挺独特的,但是如果线和椭圆只有一个交点的情况就不行了(不相切但穿过一条边)
晕晕中
汗!
办法真是千奇百怪又好玩.
但,如果线的端点正好在椭圆上延伸就不好使了吧?
尽管这个题可以用各种方法,用vla-intersectwith最简单,核心代码仅仅几行。用Command的方法可以完成。但耗时多。
我上面提供了用计算几何方式的做法,经测试,编译后其速度比用vla-intersectwith快5-10倍。
虽然用计算几何的步骤麻烦,但如果是大量运算的话,其优势体现出来了。
不过每个方法都有优缺点。不知道楼主究竟是在什么情况下要求这个算法?
您需要 登录 才可以下载或查看,没有账号?注册
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-14 14:28 , Processed in 1.021772 second(s), 19 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.