多边形特例中的点

Posted

技术标签:

【中文标题】多边形特例中的点【英文标题】:Point in polygon special case 【发布时间】:2018-12-07 18:36:41 【问题描述】:

多边形测试方法中最常见的两个点(光线投射法和绕组数法)在我的情况下不起作用,当多边形如下所示时: 如您所见,多边形被坐标系的边界分割。点 AB 位于 内侧C 位于 外侧。对于此类多边形,其他线程中发布的所有方法均失败。有什么想法或好的算法吗?一个有效的 C# 实现将非常有帮助!

【问题讨论】:

【参考方案1】:

与此同时,我已经找到了解决方案。

但首先要更好地可视化问题,下面是显示在圆柱体表面上的多边形,其中垂直虚线表示 X 坐标值范围的开始和结束:

原始多边形必须被坐标系边界“线”分成2个子多边形,并且必须对这2个子多边形执行算法。

对于绘图或任何可视化,仍然必须使用原始多边形。

【讨论】:

以上是关于多边形特例中的点的主要内容,如果未能解决你的问题,请参考以下文章

sp::over() 用于多边形分析中的点

在多边形查询中的点上缓冲多边形

多边形算法中的点有时会给出错误的结果[关闭]

当测试点位于多边形边缘时,多边形算法中的点返回真

斯威夫特:多边形中的点?如何检查用户的位置是不是在 Geo-JSON 多边形内?

SQL Server 的多边形算法中的点