Avast那里的程序员!
我有以下问题:
我有两个重叠的矩形,如下图所示.
我想弄清楚由点ABCDEF组成的多边形.
替代圣诞节描述:红色饼干切割器正在切掉一些黑色饼干.我想计算黑色饼干.
每个矩形是具有4个2d顶点的数据结构.
实现这一目标的最佳算法是什么?
这是一般2D多边形裁剪的特例.一个好的起点是Weiler-Atherton算法. 维基百科有一个摘要和原始论文的链接.该算法似乎与您描述的数据结构非常匹配.
请注意,你最终可能会得到一个带孔的矩形(如果红色的那个完全在黑色的内部)或者甚至是两个矩形(例如,如果红色比黑色更高,更瘦).如果您确定黑色内部只有红色矩形的一个角,那么解决方案应该更加简单.