В настоящее время я работаю над определением, пересекаются ли два полигона друг с другом. Я нашел пример на веб-странице документации CGAL: http://doc.cgal.org/latest/Boolean_set_operations_2/Boolean_set_operations_2_2do_intersect_8cpp-example.htmlИмеет ли код пересечения многоугольника в CGAL всегда использовать библиотеку рациональных чисел GMP?
Однако в этом коде используется библиотека рациональных номеров GMP, поэтому она относительно медленная. В моей проблеме мне нужно определить пересечение многоугольников в тысячи раз. Поэтому мне интересно, есть ли альтернатива, которая использует только арифметику с плавающей запятой, чтобы она могла работать намного быстрее? Большое спасибо.
Я не знаю этот пакет, в частности, но большинство операций с участием Epeck ленивы, то есть они сначала выполняются с интервалами в два раза и только превращаются в GMP в тех немногих местах, где это необходимо. Это, конечно, медленнее, чем нечто основанное на Эпике, но не так медленно, как все вычисления непосредственно с рациональными (Simple_cartesian). –