找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 628|回复: 6

[求助]:如何求两条曲线的交点?

[复制链接]
发表于 2004-6-9 18:55:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
我用三个点构造了AcDbPolyline对象,又用两个点构造了AcDbLine对象,请问用intersectwith()函数能否实现,或者有没有其他方法,另外用AcGe类能否实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-6-9 19:19:36 | 显示全部楼层
用以下函数试一试:
int acdbInters(const ads_point from1,const ads_point to1,const ads_point from2,const ads_point to2,
                       int teston,ads_point result);
依次取polyline的两个点与直线求交点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-9 19:27:01 | 显示全部楼层
acdbInters只能求两个直线交点,对由多个点构成的AcDbPolyline对象与直线相交可能不行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-9 19:53:06 | 显示全部楼层
对,但我依次取polyline的两个点来与直线求解,如果有n(n>=2)个点的polyline,则要计算n-1次。
这就可以求出直线与polyline每一段(圆弧除外,如要求解需另外的算法)的所有交点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3532个

财富等级: 富可敌国

发表于 2004-6-9 21:02:07 | 显示全部楼层
用intersectWith吧!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2004-6-11 04:03:42 | 显示全部楼层
最初由 xunix 发布
[B]对,但我依次取polyline的两个点来与直线求解,如果有n(n>=2)个点的polyline,则要计算n-1次。
这就可以求出直线与polyline每一段(圆弧除外,如要求解需另外的算法)的所有交点。 [/B]


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

使用道具 举报

发表于 2004-6-11 11:58:55 | 显示全部楼层
intersectWith()当然可以实现,我只是提出其它的方法给楼主参考,用不着这么死板!
intersectWith()只是求出了交点而已,如我要求出该点与polyline的哪段相交,方法可能很多,看你要达到什么功能和要求,具体问题具体分析。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 20:24 , Processed in 0.410700 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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