让我解释一下我的问题:
我有一个黑色矢量形状(假设它现在是一系列连接的直线,但如果我也可以支持二次曲线会很好)。
我还有一个预定义宽度和高度的矩形。我将把它放在黑色形状的顶部,然后将两者结合起来。
我的第一个问题是我不知道如何快速提取向量并集,但我认为有一个定义明确的公式我可以自己弄清楚。
我的第二个也是更棘手的问题是如何有效地检测矩形需要所处的位置(即矩阵需要什么平移和旋转),以便最大化黑色,在联合之后剩余(见下图)。
下面的红色轮廓形状是约 33% 的黑色;绿色大约是 85%;并且有这种形状和矩形的位置,其中任何一个都可以有 100% 的覆盖率。
显然,我可以通过对矩形的至少一部分接触黑色形状的每个点尝试每个平移和旋转值来强制执行此操作,然后跟踪具有最多黑色覆盖的那个。问题是,我只能尝试有限数量的位置(因此可能会错过最大值)。除此之外,感觉非常低效!
你能想出一种更有效的方法来解决这个问题吗?
我大学时代的一些事情告诉我,傅里叶变换可能会提高这里的效率,但我不知道如何用矢量形状做到这一点!