Итак, у меня есть 10 000 линий, определенных на 2-й плоскости, так что каждая линия представлена как (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 и любую необходимую библиотеку с открытым исходным кодом.Я делаю это под Windows в Visual Studio 2010.
Какая библиотека и ее часть могут помочь мне в организации быстрых вычислений для моих данных?будет ли полезен, например, повышение графа lib?Я имею в виду, как правило, мне нужно выполнить некоторые оптимизации потоков / процессоров для ускорения.И у меня не будет какой-нибудь красивой видеокарты для всего этого ...