0
我對objective-c和cocoa開發比較陌生,我很好奇,如果有一個相對簡單的方法來檢測順時針或逆時針鼠標/光標拖動?如何在可可(osx)中檢測順時針/逆時針鼠標/光標拖動?
我對objective-c和cocoa開發比較陌生,我很好奇,如果有一個相對簡單的方法來檢測順時針或逆時針鼠標/光標拖動?如何在可可(osx)中檢測順時針/逆時針鼠標/光標拖動?
不確定在可可中是否可能。你可以嘗試自己解決這個問題,抓住起點,終點和一些中點座標,根據這些點創建兩個向量並找出三角形的有符號區域。數學見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座標傳遞給函數之前的點。
只是試圖將它集成到我的代碼中......看起來像在工作!謝謝科迪! – 2013-03-28 18:21:37