kaefer 发表于 2011-8-1 02:36:34

多段线的IsPointInside

有各种解决方案来确定一个点是否位于曲线内,例如,在LE的PolyClass中,这些解决方案要么仅在直线上操作,要么涉及速度和精度之间的折衷。
我还没有看到使用CurveCurveIntersector的实现,它检查从所讨论的点延伸的光线的交点数量。这里是:
    public static class Extensions
    {
      public static bool IsPointInside(this Polyline pl, Point2d pt)
      {
            Curve2d[] ca = new Curve2d;
            for(int i = 0; i

LE3 发表于 2011-8-1 18:24:10


Jeff,在寻找了一段时间的最佳方法后,我认为你的作弊方法是一个复杂问题的简单解决方案。
谢谢您!

kaefer 发表于 2011-8-1 18:50:58


杰夫,在寻找一段时间的最佳方法之后,我决定你的作弊方式是解决复杂问题的一个很好的简单方法。
谢谢!
如果你没有欺骗你的ain没有尝试
谢谢

LE3 发表于 2011-8-1 19:15:25

韦尔普。杰夫,你是对的,selectionset方法对点的顺序(自交)非常讲究。我不能仅仅从多段线传递点(即使它没有交叉)并期望得到好的结果,提示结果会抛出一个错误标志。作弊逍遥法外就到此为止。
我没有解决作弊问题,而是利用AcMPolygonMGD实现了Giles解决方案。dll,它似乎工作得很好<贾尔斯:谢谢。
页: [1]
查看完整版本: 多段线的IsPointInside