Линии внутри полилинии

Автор Тема: Линии внутри полилинии  (Прочитано 8889 раз)

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

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

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Линии внутри полилинии
« : 08-10-2014, 12:59:07 »
Добрый день. Во вложении есть пример. Есть контур поллинии внутри него надо нарисовать линии, от границы до границы. Первая мысль была штриховка, однако как выяснилось нельзя (будут проблемы при трансляции в MapInfo), сказали нарисовать линиями.
Собственно я в тупике, может у кого есть мысли куда смотреть?



« Последнее редактирование: 08-10-2014, 13:02:28 от Александр Ривилис »

Отмечено как Решение Александр Ривилис 08-10-2014, 13:45:26

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Линии внутри полилинии
« Ответ #1 : 08-10-2014, 13:00:49 »
может у кого есть мысли куда смотреть
Создать штриховку и затем её взорвать (Explode).
« Последнее редактирование: 08-10-2014, 13:02:42 от Александр Ривилис »

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

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: Линии внутри полилинии
« Ответ #2 : 08-10-2014, 13:03:54 »
Андрей, можно по подробнее, я так понимаю будет преобразование?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Линии внутри полилинии
« Ответ #3 : 08-10-2014, 13:07:26 »
Андрей, можно по подробнее, я так понимаю будет преобразование?

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

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: Линии внутри полилинии
« Ответ #4 : 08-10-2014, 13:40:28 »
Андрей Спасибо!!!! Даже с моими кривыми руками все получилось как надо! А я уже думал геометрией заняться...

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Линии внутри полилинии
« Ответ #5 : 08-10-2014, 13:43:07 »
А я уже думал геометрией заняться...
Андрей предложил самое простое и быстрое решение. Хотя повозится с геометрией программисту было бы интересней. Мне так кажется.  ;)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: Линии внутри полилинии
« Ответ #6 : 08-10-2014, 14:39:02 »
Опять уперся в камень. В качестве примера проверки убеждения брал пример от http://adn-cis.org/shtrixovka-pri-pomoshhi-autocad-.net-api.html и травил его. Все отработало на ура. Однако в проекте я должен залить замкнутую поллинию (Polyline), собственно получаю постоянно ошибку. Я так понимаю её надо во что то преобразовать?

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 475
  • Карма: 63
Re: Линии внутри полилинии
« Ответ #7 : 08-10-2014, 14:52:47 »
Цитировать
будут проблемы при трансляции в MapInfo
Бред, а что сразу в tab/mif не сделать?
Или использовать MPolygon? Его для того и придумали!

Цитировать
её надо во что то преобразовать?
Засунуть в ObjectIdCollection

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

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: Линии внутри полилинии
« Ответ #8 : 08-10-2014, 15:18:19 »
trir спасибо за подсказку. Не судите строго, за глупые вопросы, не везде с ходу могу сообразить. Все получилось.

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Re: Линии внутри полилинии
« Ответ #9 : 10-10-2014, 23:45:30 »
Берете габариты контура, проводите "временные" линии и вычисляете точки пересечения их с контуром (их всегда будет четное количество если контур имеет рациональную площадь) - соединив точки через пару (1-2; 3-4; 5-6,..) - вы получите линии внутри контура. Похожий алгоритм реализовывался здесь http://adn-cis.org/forum/index.php?topic=750.0 для разделение площади на "клетки".
Можно и без временных линий - но здесь надо будет поиграть с математикой (или упростить задачу только до линейных отрезков контура).

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Линии внутри полилинии
« Ответ #10 : 11-10-2014, 01:38:45 »
их всегда будет четное количество если контур имеет рациональную площадь
Не совсем так. Есть еще вырожденные пересечения, которые необходимо отдельно обрабатывать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение