乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 3

多段线的IsPointInside

[复制链接]

3

主题

28

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2011-8-1 02:36:34 | 显示全部楼层 |阅读模式
有各种解决方案来确定一个点是否位于曲线内,例如,在LE的PolyClass中,这些解决方案要么仅在直线上操作,要么涉及速度和精度之间的折衷。
我还没有看到使用CurveCurveIntersector的实现,它检查从所讨论的点延伸的光线的交点数量。这里是:
[code]    public static class Extensions
    {
        public static bool IsPointInside(this Polyline pl, Point2d pt)
        {
            Curve2d[] ca = new Curve2d[pl.NumberOfVertices];
            for(int i = 0; i
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2011-8-1 18:24:10 | 显示全部楼层

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

使用道具 举报

3

主题

28

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2011-8-1 18:50:58 | 显示全部楼层

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

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2011-8-1 19:15:25 | 显示全部楼层
韦尔普。杰夫,你是对的,selectionset方法对点的顺序(自交)非常讲究。我不能仅仅从多段线传递点(即使它没有交叉)并期望得到好的结果,提示结果会抛出一个错误标志。作弊逍遥法外就到此为止。
我没有解决作弊问题,而是利用AcMPolygonMGD实现了Giles解决方案。dll,它似乎工作得很好<贾尔斯:谢谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 14:59 , Processed in 0.165015 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表