标签: algorithm geometry collision-detection intersection
我正在寻找一种算法来查找多个重叠矩形的外边和角点。
给出了许多矩形,它们与轴平行,由以下定义: x , y , width < / strong>和身高。
通缉新兴形状的角点,定义如下: x , y 和2个相邻角点
通缉也是边缘,定义为:2 cornerpoints 和方向 (北,东,南,西)
如果矩形完全在其他内容中,则可以忽略它。
算法不必非常优化,内存也不是问题。
答案 0 :(得分:0)
这可以通过使用多边形裁剪算法来解决;例如,Vatti或Martinez建议的那些。使用这种技术:
但是,如果生成的形状形成一个洞,则有一个角落的情况。这通常与其他形状的方向相反:
我不知道这是否重要,但如果确实如此,则需要反转任何孔的方向,并从形状和孔中重新计算联合,直到不再出现任何孔。
要获得边缘方向,多边形限幅器实现需要在剪切它们时保存边缘信息(在本例中为边缘方向)。