Как рассечь замкнутый сплайн?

Автор Тема: Как рассечь замкнутый сплайн?  (Прочитано 14984 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как рассечь замкнутый сплайн?
« Ответ #30 : 05-05-2017, 21:32:06 »
Я так полагаю сие возможно только в случае взаимопересекающихся кривых?
Не понял вопроса.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: Как рассечь замкнутый сплайн?
« Ответ #31 : 05-05-2017, 21:37:34 »
Не понял вопроса.
Ну то есть если у кривой нет взаимопересечений то метод numIntPoints() всегда будет возвращать 0...

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как рассечь замкнутый сплайн?
« Ответ #32 : 05-05-2017, 21:39:13 »
Ну то есть если у кривой нет взаимопересечений то метод numIntPoints() всегда будет возвращать 0...
Теоретически - да. Обрати внимание, что возможно еще и касание в точке. Не зря в коде есть проверка:
Код - C++ [Выбрать]
  1. if (cci3d.isTangential(i)) continue;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как рассечь замкнутый сплайн?
« Ответ #33 : 06-05-2017, 06:33:26 »
Цитировать
1. треугольники пересекаются по линии а не в одной точке
пересечение треугольников это полигон

Цитировать
2. каким образом из линий пересечения треугольников получаются ПОЛИЛИНИИ кусочков сплайна?
получаем сплайн как поллинию, запихиваем полученные отрезки в r-дерево и ищем нужные по области пересечения треугольников (или можно использовать меньший треугольник) - всяко лучше выйдет, чем искать пересечение все со всеми

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

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Re: Как рассечь замкнутый сплайн?
« Ответ #34 : 06-05-2017, 21:06:14 »
получаем сплайн как поллинию, запихиваем полученные отрезки в r-дерево...
Успокойтесь, trir, хватит удалять зуб через задний проход. Решение уже найдено - смотри ответ Александра Ривилиса обведённый в зелёную рамочку.