找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 579|回复: 6

[求助]:求线相交问题

[复制链接]
发表于 2004-9-22 10:44:22 | 显示全部楼层 |阅读模式

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

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

×
怎么用flag=mdlIntersect_allBetweenElms(pInsO,pInsT,g_num,OneEdp,TwoEdp,NULL,0.00001);求复杂链相交时,得出的交点远远超过我在屏幕上所见的交点;另外如果交点为线上的点时,交点个数为偶数.真让人郁闷!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-22 11:00:44 | 显示全部楼层
这个函数我用过 没有问题 你的限差太小了把
因为咱们的地形图一般都是米做主单位 所以给1就已经很小了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-22 11:47:32 | 显示全部楼层
把你的参数定义以及构造OneEdp,TwoEdp这两个原素描述符的程序段也发上来让大家帮你分析分析。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-22 12:42:32 | 显示全部楼层
POS_S *qPos,*pPos;
        LOCATE_S *qLoc,*pLoc;
        int flag;
        Dpoint3d pInsO[101],pInsT[101],PL[101];
        int numO,numT,numVT,numVO,i,j,k,n,ba,ii;
        Dpoint3d *ptO,*ptT;
        MSElementDescr *OneEdp,*TwoEdp;
        int Value,Tflag,Oflag;
       
        g_pLocate=malloc(sizeof(LOCATE_S));
        g_pLocate->next=NULL;
        pLoc=g_pLocate;
       
        while(g_pPos->next!=NULL)
        {
                pPos=g_pPos->next;
                qPos=pPos->next;
                      
                       if(mdlElmdscr_read(&OneEdp,pPos->filePos,MASTERFILE,FALSE,NULL)==0L)
                       {
                               mdlDialog_openInfoBox("程序运行遇到错误");
                               return -1;
                       }
                while(qPos!=NULL)
                {       
                        if(mdlElmdscr_read(&TwoEdp,qPos->filePos,MASTERFILE,FALSE,NULL)==0L)
                               {
                                       mdlDialog_openInfoBox("程序运行遇到错误");
                                       return -1;
                               }
                               flag=mdlIntersect_allBetweenElms(pInsO,pInsT,g_num,OneEdp,TwoEdp,NULL,1);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-22 13:45:39 | 显示全部楼层
进入调试方式查看一下pPos->filePos、qPos->filePos的值是否是您所期望的?
另外,要适时地调用mdlElmdscr_freeAll ()去释放OneEdp和TwoEdp。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-9-22 15:27:17 | 显示全部楼层
交点个数为偶数?
是否求交的两线有一段重叠?
好像有重重叠时会返回两个交点(我有些记不清了)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-9 23:06 , Processed in 0.511753 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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