所以我在2d平面上定義了10 000行,以便每行顯示爲(A1,A2,B1,B2)(A,B點)。我的函數數組我需要在每對線進行:在二維線對上執行操作的最佳方法是什麼?
Angle(A,B)
return Atan((B.y-A.y)/(B.x-A.x))
NearlyParallel(angle1, angle2)
delta = Abs(angle1-angle2)
return (delta < threshold) or (delta > Pi-threshold)
Collinear(A,B, C,D)
return NearlyParallel(Angle(A,C), Angle(B,D)) and NearlyParallel(Angle(A,D), Angle(B,C))
所以一般我需要說哪一行是共線,其和哪一個是NearlyParallel到另一個的每一行。
我需要在C++中使用boost和任何所需的開源庫來完成它。我在Visual Studio 2010的窗口下執行。
什麼庫及其部分可以幫助我組織快速計算數據?將例如提升圖形庫有幫助?我的意思是通常我需要執行一些線程/處理器優化來加速。我不會有任何花哨的視頻卡來執行這一切...
只需要提一下,10k線的距離不會太多,因爲您需要開始擔心性能。 – Puppy 2010-12-01 00:21:39