将两个SKShapeNode多边形合并为一个

时间:2014-12-06 04:52:25

标签: algorithm swift sprite-kit polygon intersection

我在精灵工具包图层上有多个多边形(SKShapeNodes)。所有这些都是非自相关的多边形。我想知道:

1)如果我引入一个新的,它是否与之前的任何一个相交:

SKNode' func intersectsNode(_ node:SKNode) - >布尔"提供这样做的手段?如何迭代节点树以检查所有现有的SKShapeNodes?

2)他们交叉的区域:

如果新多边形与现有多边形相交,我需要计算交点的面积(例如下图中的红色区域)。有人可以为此提出一个简单的算法吗?

3)将两个多边形合并到一个新的SKShapeNode多边形中,并从SKNode树中删除两个先前的多边形。

因此,在引入了与先前存在的多边形B相交的新多边形A之后,我想从sprite kit的节点树中删除现有的多边形A和B,并引入一个新的多边形C,其路径为是多边形A和B的路径合并(下图中的橙色)

我对Sprite Kit和图形编程相对较新,也不太适合欧几里德几何。关于如何处理这些任务的方法的所有建议都非常赞赏!!!

enter image description here

0 个答案:

没有答案