Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Кирилл Захаров от 15-08-2018, 13:54:53
-
Есть ли в API AutoCAD какой-нибудь метод который позволяет рассчитать пересечения множества линейных отрезков, но при этом чтобы сложность этой процедуры была не квадратичной. Например, как в алгоритме Бентли-Оттмана (http://geomalgorithms.com/a09-_intersect-3.html).
-
API не должно решать подобных задач - у него задача дать Вам доступ для работы с объектами автокада. А вот реализация таких алгоритмов (что является частным случаем) - это уже ваша задача
-
API не должно решать подобных задач - у него задача дать Вам доступ для работы с объектами автокада.
В целом - да. Но если какие-то механизмы используются для внутренних задач AutoCAD, то они могут быть вынесены и в API.
Есть ли в API AutoCAD какой-нибудь метод который позволяет рассчитать пересечения множества линейных отрезков
Конкретно в этом случае, насколько мне известно, ничего такого нет.
-
что является частным случаем
Попробую сформулировать более общую проблему:
Есть множество любых примитивов, и стоит задача найти пересечения между всеми ними.
Можно ли это сделать более эффективно чем искать пересечения каждого с каждым с помощью метода IntersectWith?
-
Про API ничего не скажу, не встречал, но Вашу задачу можно решить и без API, поищите по форуму слово "RTree" и дальше по ссылкам.
-
Спасибо, Владимир Шу.
Я немного знаком с тем что такое RTree. В частности я использовал библиотеку RBush на C# вот отсюда https://github.com/viceroypenguin/RBush.
Это может помочь, хотя не совсем то, что нужно вроде бы.