急:如何判断闭合区域??
各位大侠,我遇到了这么一个问题.平面上有n条B样条曲线,它们互相可能有交点,现在要把<BR>它们构成的闭区域找出来,如何判定?需要用到图论吗?不知AUTOCad里面是如何判定区域闭合的.谢谢各位.<BR> 用面域?! <P>如何交互生成面域对象<BR>代码:</P><P> AcDbObjectId eId;<BR> AcDbEntity * ent;<BR> ads_name en;<BR> int rc = acdbEntLast(en); //获取数据库中任意一个实体<BR> if (rc != RTNORM) <BR> {<BR> acutPrintf("the database has nothing.\n", rc);<BR> }<BR> if(!acedCommand(RTSTR,"-boundary",RTSTR,PAUSE,RTSTR,"",RTNONE))<BR> return; //调用命令生成边界<BR> for(;;) //边界可能是嵌套型的,也就是有孤岛,所以进行循环<BR> {<BR> int rc = acdbEntNext(en,en); //获取生成的边界<BR> if (rc != RTNORM) <BR> break; //已经没有边界实体,退出循环<BR> acdbGetObjectId(eId, en);<BR> acdbOpenObject(ent, eId,AcDb::kForRead);<BR> ent->close();<BR> if(ent->isKindOf(AcDbPolyline::desc())) //生成的应是AcDbPolyline实体<BR> //..................<BR> //create region object //这时就可以根据AcDbPolyline<BR> }; //的点的信息生成面域对象<BR></P> <P><A href="http://www.xdcad.net/forum/showthread.php?s=5e3054aa451b7f9a2af8244d101f1d4b&threadid=467666" target="_blank" >http://www.xdcad.net/forum/showthread.php?s=5e3054aa451b7f9a2af8244d101f1d4b&threadid=467666</A></P>
<P>这个程序中便用了面域来求面积!</P>
页:
[1]