[求助]:点到封闭多段线的最短距离函数
点到封闭多段线的最短距离函数,点在封闭多段线内部为“-”值,否则为“+”值,请求高手帮俺源代码,谢谢 <p class="signature">先用AcDbCurve getClosestPointTo 取得线上最近点,</p><p class="signature">virtual Acad::ErrorStatus getClosestPointTo(const AcGePoint3d& givenPnt,AcGePoint3d& pointOnCurve,Adesk::Boolean extend = Adesk::kFalse) const;</p><p class="signature">作一条射线(AcDbRay<span class="code">AcDbRay)</span>,以givenPnt为起点,取向量(pointOnCurve-givenPnt)为方向,看该射线与多段线有无交点,有交点侧在封闭线内,无交点则在封闭线外</p><p class="signature"></p> 2楼的大哥,您好!可否说具体一点。谢谢啦! 我也想要此功能啊! <p>看似简单的问题,其实要分几步来实现</p><p>1,要判断这个点与封闭多线段的几何位置<br/>2,求点与线段之间的最短距离,这个最短,是要求这个点到该线段的垂线段长度么?<br/>3,使用多线段的内部迭代器,分别求,然后使用排序获得最短的距离</p> <p>我倒遍过一个LISP程序用于判断点与多边形位置关系的,不过我估计你的问题是不是早就已经解决了。。。</p><p></p>
页:
[1]