我正在搜索多边形算法内部或外部的点。到目前为止,我找到了一些算法(甚至是规则算法),如果我通过了多边形点,该算法将成功运行。但是我在执行此操作时遇到了一个问题(用于计算点)。问题是,如果多边形仅包含数据的行进和行进(例如,如果多边形是矩形或八边形等),则可以轻松计算出绘制多边形的点。但是我有一些多边形,可以使用弧线数据以及向数据线和向数据线移动来进行绘制。所以在这种情况下,我被困于以通用方式检查多边形内部或外部的点。

我在这里附加一些多边形图像。



您可以看到上面的图像,这些图像使用线绘制,移动到弧数据。因此,在这种情况下,我无法检查。

请提供一些想法,如何检查这种多边形内部或外部的点?

(对于绘制多边形,我有类似这样的数据:

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)

这是近似数据。

谢谢。

最佳答案

自从您提出想法以来,您可以想到以下选项:

  • 按照Raniz的建议进行。这是最好的。
  • 创建使用直线线段近似曲线的临时多边形,然后使用现有算法。这不是最理想的方法,但是根据您的具体情况,这可能是一种实用的方法。
  • 使用不同的前景色和背景色栅格化形状,然后仅检查该点下像素的颜色。这是次优的选择,但是如果有可能已经对这些形状进行了栅格化处理以显示它们,那么您已经拥有了实现这种真正快速效果的全部能力。
  • 10-06 16:04