2009-09-02 40 views
1

我有構成路徑的點的NSArray。我可以檢測它何時自相交。當發生這種情況時,我試圖填補路徑。使用OpenGL或CoreGraphics填充CGPoints的觸摸繪製路徑

首先,我使用CoreGraphics中,現在,我使用的OpenGL來繪製三角形陣列。在圖像中看不到效果。 alt text http://i28.tinypic.com/1449zti.jpg

如何僅填充圓形區域而僅留下「尾部」?我在想一個反向的洪水填充,但不認爲CG有這方面的任何API函數...

回答

0

也許,而不是實際繪製路徑,你可以只是近似路徑的直徑畫一個圓,你逼近。

下面是一些代碼來檢測在iPhone上一個圓圈手勢:在雙向鏈表 http://www.mobileorchard.com/iphone-circle-gesture-detection/

+0

形狀不一定會甚至接近圈雖然...他們可以是任何觸摸繪製形狀。 – user162400 2009-09-02 23:51:23

0

記錄所有的點。當需要填寫時,從頭開始列表並找到最接近結束的點。然後,lineto該點,然後按相反順序排列每個點,停止列表中的第二個點。填充將隱式關閉的路徑,這將跳轉從你離開的地方(第二點)返回到開始(第一)點。

這只是我的頭頂;你可以玩一些變化來看看哪些效果最好。您可能會記錄每個節點中最近的前一個節點,但對於許多節點而言,這可能會變得很昂貴。