Тема: Пересечение ломаных

Задачка. Даны две ломаных линии. Извесны координаты точек излома. Эти точки соеденины из отрезков. Надо найти количество и координаты точек пересечения этих линий. Вариан расчета пересечения всех отрезков не приемлем - слишком долго. Может кто знает более оптимальный алгоритм?

Re: Пересечение ломаных

Почему неприемлем?
Меня например неудовлетворил Overkill  и написал свой макрос по анализу линий на наложение, отклонение, пересечение (а также текстов и блоков).
Работает минуту на 1000 объектах.
Но я  не код не оптимизировал. Так себе. Но у меня обычно исследуемый конгломерат до 200 линий. А какое кол-во отрезков у тебя?

Re: Пересечение ломаных

А просто IntersectWith не подходит?

Re: Пересечение ломаных

порядка 10000, в минимальном случае. И это только часть задачи.

Re: Пересечение ломаных

А на счет IntersectWidth... Я пишу не совсем под автокад. Я пишу под МХ. У МХ есть интерфейс для автокада, но автокад не понимает свойств объектов МХ, а отрезки состоят в струне, что является объект МХ

Re: Пересечение ломаных

Если ты работаешь в МХ , то почему не воспользоваться командой SECTION (команда  МХ ,можно вызвать и через VB).
Она именно для этого и преднзначена - возвращает новый STRING (струну) с информацией о всех точках пересечения.

Re: Пересечение ломаных

Arkady, А это мысль. Дело в том, что я плохо знаю командный язык MX поэтому как-то сразу об этом не подумал, я все через файл модели хотел вытащить (так удобней и MX открытым постоянно держать не надо, а то лицензий маловато)