2013-03-27 16 views

回答

3

不確定在可可中是否可能。你可以嘗試自己解決這個問題,抓住起點,終點和一些中點座標,根據這些點創建兩個向量並找出三角形的有符號區域。數學見this document(搜索「實施CCW」)。

下面是一個簡單的函數:

int ccw(CGPoint a, CGPoint b, CGPoint c) 
{ 
    const int area2 = (b.x - a.x)*(c.y - a.y) - (b.y - a.y)*(c.x - a.x); 
    if (area2 < 0) return -1; // clockwise 
    if (area2 > 0) return +1; // counter-clockwise 
    return 0; // collinear 
} 

編輯:注意你的y軸可能會從最高點到底部,所以你可能需要切換結果的跡象或轉換的y座標傳遞給函數之前的點。

+0

只是試圖將它集成到我的代碼中......看起來像在工作!謝謝科迪! – 2013-03-28 18:21:37

相關問題