我有一个构成路径的NSArray积分。我可以检测到它自相交的时间。当发生这种情况时,我会尝试填补这条路。
首先我使用了CoreGraphics,现在我使用openGl绘制一个三角形数组。如图所示,效果不佳。
如何仅在留下“尾巴”时仅填充圆形区域?我正在考虑反向填充,但不认为CG有任何API函数...
答案 0 :(得分:0)
也许不是实际绘制路径,而是可以近似路径的直径并用近似值绘制圆圈。
以下是一些检测iPhone上的圆形手势的代码: http://www.mobileorchard.com/iphone-circle-gesture-detection/
答案 1 :(得分:0)
记录双向链表中的所有点。当需要填充时,从头开始遍历列表并找到最接近结束的点。然后,lineto到那一点,然后以相反的顺序到每个点,用列表中的第二个点停止。填充将隐式关闭路径,该路径将从您离开的位置(第二个点)跳回到开始(第一个)点。
这只是我的头脑;你可以玩这几个变化,看看什么效果最好。您可能会在每个节点中记录最接近的先前节点,但对于许多节点而言,这可能会变得很昂贵。