Language agnostic 计算多边形和光栅图像之间的交点

Language agnostic 计算多边形和光栅图像之间的交点,language-agnostic,polygon,intersection,raster,Language Agnostic,Polygon,Intersection,Raster,如果我有一个二值图像和一个不规则的凸多边形,我如何计算它们是否相交?多边形的坐标是根据图像来描述的 从碰撞检测或填充算法的角度来看,我对此有一些想法,但我认为两者都不是最优的。我确信有一种经过尝试和测试的方法可以做到这一点,但我想不出关键词 以下是我的意思的一个例子: 在这种情况下,它应该返回true。我建议使用以下算法: 对每条线使用Bresenham算法遍历多边形的边界,并在每个像素处对光栅进行采样。如果它是您接受为可见的颜色,例如非零alpha,则报告一个交点 这样做的优点是只处理多边形

如果我有一个二值图像和一个不规则的凸多边形,我如何计算它们是否相交?多边形的坐标是根据图像来描述的

从碰撞检测或填充算法的角度来看,我对此有一些想法,但我认为两者都不是最优的。我确信有一种经过尝试和测试的方法可以做到这一点,但我想不出关键词

以下是我的意思的一个例子:


在这种情况下,它应该返回true。

我建议使用以下算法:

对每条线使用Bresenham算法遍历多边形的边界,并在每个像素处对光栅进行采样。如果它是您接受为可见的颜色,例如非零alpha,则报告一个交点

这样做的优点是只处理多边形的边,因此不需要迭代多边形内的所有像素