hehao 发表于 2009-4-24 13:10:00

[求助]:点到封闭多段线的最短距离函数

点到封闭多段线的最短距离函数,点在封闭多段线内部为“-”值,否则为“+”值,请求高手帮俺源代码,谢谢

chenknight 发表于 2009-4-25 21:59:00

<p class="signature">先用AcDbCurve getClosestPointTo 取得线上最近点,</p><p class="signature">virtual Acad::ErrorStatus getClosestPointTo(const AcGePoint3d&amp; givenPnt,AcGePoint3d&amp; 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>

1o2y3j4f 发表于 2009-10-22 08:58:00

2楼的大哥,您好!可否说具体一点。谢谢啦!

1o2y3j4f 发表于 2009-10-22 09:02:00

我也想要此功能啊!

luowy 发表于 2009-10-22 19:10:00

<p>看似简单的问题,其实要分几步来实现</p><p>1,要判断这个点与封闭多线段的几何位置<br/>2,求点与线段之间的最短距离,这个最短,是要求这个点到该线段的垂线段长度么?<br/>3,使用多线段的内部迭代器,分别求,然后使用排序获得最短的距离</p>

danberlove 发表于 2010-1-17 21:52:00

<p>我倒遍过一个LISP程序用于判断点与多边形位置关系的,不过我估计你的问题是不是早就已经解决了。。。</p><p></p>
页: [1]
查看完整版本: [求助]:点到封闭多段线的最短距离函数