Аналитический Boundary

Автор Тема: Аналитический Boundary  (Прочитано 5561 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Аналитический Boundary
« : 12-09-2017, 08:46:13 »
Всем привет, стояла задача, разбить замкнутую область(полилинию) на несколько замкнутых областей другой секущей полигинией.

Как бы решение не сложное, находим пересечение, добавляем вершины из исходных полилиний м\у этими пересечениями и получаем новые контуры.
Но в 5% случаях исходная картина бывает сложнее







И со всеми случаями кроме последнего штатная Boundary отлично справляется.

Вот и думаю как быть, сидеть анализировать все возможные варианты и описывать алгоритм действия при них, или пытаться их Boundary скормить, а может где-то уже есть готовое решение хотя бы похожей задачи?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аналитический Boundary
« Ответ #1 : 12-09-2017, 10:24:26 »
Думаю, что писать самому. Так как в последнем варианте (1-8) пересечения нет вообще, то как ты рассчитываешь оно будет сечь? Задача совсем неоднозначная.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Аналитический Boundary
« Ответ #2 : 12-09-2017, 11:00:25 »

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Аналитический Boundary
« Ответ #3 : 12-09-2017, 11:13:41 »
DE-9IM
Картинки похожи, на этом всё  :-\  больше я ни чего понял  :D
Но всё равно спасибо.
Думаю, что писать самому.
Безусловно задача для меня посильная, но последнее время мне не нравится мой код, корявый он, и весь на костылях, в том числе и из-за не понимания многих вещей, например  r-tree, или вот DE-9IM
Если вдруг кому-то задача не кажется особо нудной готов перекинуть её в "Работа для разработчиков"
« Последнее редактирование: 12-09-2017, 11:44:29 от Geobuilder »

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Аналитический Boundary
« Ответ #4 : 12-09-2017, 11:16:14 »
А вот с таким справится? Если да, то можно привести 1-8 к этой ситуации и "скормить" Boundary.

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Аналитический Boundary
« Ответ #5 : 12-09-2017, 11:33:22 »
А вот с таким справится? Если да, то можно привести 1-8 к этой ситуации и "скормить" Boundary.
Да но по сути зеленую линию можно провести вообще по любому правилу главное получить два замкнутых контура вместо одной области с отверстием внутри, но при этом красную зону делить не нужно, а в твоём случаи она тоже делится.
Ну и с Boundary всю картину портит указание точки внутри контура... а это задача не многим проще   ;)

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: Аналитический Boundary
« Ответ #6 : 12-09-2017, 12:55:51 »
Помню в детстве любил искать отличия на двух картинках. Куда девалась заштрихованная область?:

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Аналитический Boundary
« Ответ #7 : 12-09-2017, 13:10:43 »
Куда девалась заштрихованная область?:
:D потерялась где-то

Debalance, безусловно все мы знаем что ты у нас самый большой специалист в СуперКонтурах, хотелось бы услышать твои мысли.

Оффлайн Debalance

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: Аналитический Boundary
« Ответ #8 : 12-09-2017, 13:33:01 »
Debalance, безусловно все мы знаем что ты у нас самый большой специалист в СуперКонтурах, хотелось бы услышать твои мысли.
А какие тут могут быть мысли? Рыцарь уже всё сказал (с учетом случая №8):
Думаю, что писать самому...
А если данный случай отбросить, то классическая BOUNDARY "разруливает" с успехом всё - контуры-то не сложные. Я бы тебе мог посоветовать свою SuperBoundary - в режиме BUILD ALL она бы рассекла всё без указания точек, но у неё нет (пока) возможности работы только с командной строкой. Поэтому слить её с лисп-кодом на данном этапе не получится.