gpt4 book ai didi

java - 检查点内部形状

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:13 24 4
gpt4 key购买 nike

我正在搜索多边形算法内部或外部的点。到目前为止,我发现了一些算法(奇偶规则算法),如果我通过了多边形点,它就会成功运行。但是我这样做时遇到了一个问题(用于计算分数)。问题是如果多边形只包含移动到数据和线到数据(例如,如果多边形是矩形或八边形..等),那么我可以轻松计算绘制多边形的点。但是我有一些多边形可以使用弧数据以及线和移动到数据进行绘制。所以在这种情况下,我无法以通用方式检查多边形内部或外部的点。

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

enter image description here enter image description here

您可以看到上面的图像使用线到、移动到以及圆弧数据绘制。所以在那种情况下我无法检查。

请告诉我如何检查这种多边形内部或外部的点?

(为了绘制多边形,我有类似的数据:

移动到:坐标: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 )

这是近似数据。

谢谢。

最佳答案

既然你征求了意见,你有以下我能想到的选择:

  1. 按照拉尼兹的建议去做。这是最好的。

  2. 使用直线段创建近似曲线的临时多边形,然后使用您现有的算法。这是次优的,但根据您的具体情况,这可能是一种务实的方法

  3. 使用不同的前景色和背景色栅格化形状,然后只检查点下方像素的颜色。这是非常次优的,但如果您已经对这些形状进行光栅化以显示它们,那么您已经具备了实现这一真正快速所需的一切条件。

关于java - 检查点内部形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com