私は、各行が(A1、A2、B1、B2)(A、B点)として表示されるように、2次元平面上に定義された10000行を持っています。私は同一直線上にあるどのライン言う必要があるので、一般的に2d行のペアで操作を実行する最適な方法は何ですか?
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あるに:私は、私はラインの各ペアに対して実行する必要がある関数の配列を持っています。
私はboostと、必要なopensourceライブラリを使ってC++で行う必要があります。私はビジュアルスタジオ2010のウィンドウの下でそれを行います。
私のデータの高速計算を整理するのに役立つライブラリとその部分は何ですか?例えば、グラフを大きくすることは役に立ちますか?私は一般的にスピードアップのためにいくつかのスレッド/プロセッサの最適化を実行する必要があることを意味します。そして、私はそのすべてを実行するためのファンシービデオカードを持っていません...
言い換えれば、10k行は、パフォーマンスについて心配する必要があるほど多くはありません。 – Puppy