【发布时间】:2015-07-11 01:12:22
【问题描述】:
我正在搜索多边形算法内部或外部的点。到目前为止,我找到了一些算法(奇偶规则算法),如果我通过了多边形点,它就会成功运行。但是我在这样做时遇到了一个问题(用于计算积分)。问题是如果多边形只包含移动到数据和线到数据(例如,如果多边形是矩形或八边形等),那么我可以轻松计算绘制多边形的点。但是我有一些多边形可以使用弧线数据以及线和移动到数据来绘制。所以在这种情况下,我被困在以通用方式检查多边形内部或外部的点。
我在这里附上一些多边形图像。
您可以看到上面的图像使用直线绘制,移动到以及弧数据。所以在那种情况下我无法检查。
请告诉我如何检查此类多边形内部或外部的点?
(为了绘制多边形,我有类似的数据:
MoveTo:坐标:424.941955, 626.04046,
LineTo:坐标:428.941955、626.04046、
ArcTo:坐标:431.941955、633.04046 - 中心点:坐标:433.941955、628.04046 - 角度:-1.5707963267948966,
LineTo:坐标:431.941955、639.04046、
ArcTo:坐标:428.941955、646.04046 - 中心点:坐标:433.941955、644.04046 - 角度:-1.5707963267948966,
LineTo:坐标:424.941955、646.04046、
ArcTo:坐标:421.941955、639.04046 - 中心点:坐标:419.941955、644.04046 - 角度:-1.5707963267948966,
LineTo:坐标:421.941955、633.04046、
ArcTo:坐标:424.941955、626.04046 - 中心点:坐标:419.941955、628.04046 - 角度:-1.5707963267948966)
这是近似数据。
谢谢。
【问题讨论】:
-
那么,到目前为止你的方法是什么?
-
首先我计算了 line to 和 move to 的点,然后我尝试检查弧的内部还是外部。对于圆弧,我有起点角度、起点和半径。但我没有得到正确的结果。
-
(顺便说一句,这些形状不是多边形)