【发布时间】:2010-11-30 23:46:23
【问题描述】:
所以我在 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))
所以通常我需要说明哪条线与哪条线共线,哪条线与另一条线几乎平行。
我需要在 c++ 中使用 boost 和所需的任何开源库来完成。我在visual studio 2010的windows下做。
什么库及其部分可以帮助我为我的数据组织快速计算?例如 boost graph lib 会有帮助吗?我的意思是通常我需要执行一些线程/处理器优化以加快速度。而且我不会有任何花哨的视频卡来执行所有这些......
【问题讨论】:
-
顺便提一下,10k 行远没有您开始担心性能所需的那么多。
标签: c++ visual-studio optimization boost graph