当我计算彼此接触的两个形状之间的差异时(例如,在矩形A中具有孔的较大矩形B中的矩形A)和剪辑形状(矩形C),两个触摸形状被合并,因为它们的共享相同的边缘,然后执行剪裁。
剪裁时是否可以避免合并触摸形状?
以下是两个形状(A为绿色,B为红色)和一个剪辑(操作为:A& B-Clip)之间的差异示例,它返回蓝色形状:
我希望有两种形状,而不是蓝色矩形:
交叉点会给出:
这会给我四个我想要的形状:
我知道我可以分别对每个形状进行操作,但恐怕会更贵。
注意
以下是XOR的结果:
答案 0 :(得分:0)
在手中我自己计算操作:
这是足够有效的,但我需要一个空间分区数据结构来对边缘进行排序并快速交叉。