您可以执行各种技巧来减少必须执行的这些计算的数量 – 例如,您可以在对象周围绘制一个矩形,并假设如果两个对象的矩形不相交,则它们本身不相交. (这更容易,因为检查这些盒子的交叉点的计算成本较低,而且通常非常直观.)
凹面多边形更难.我认为您可以将多边形分解为一组凸多边形,并尝试检查每个交叉的组合,但我不认为自己在这方面有足够的技巧来尝试它.