Стратегія з'єднання 2 точок без перетину раніше накреслених відрізків кривих


9

Я повинен з'єднати точкові пари без перетину. Скажімо, у мене є дві задані точки, які я з'єдную з відрізком кривої. Потім знову вибираються дві нові кінцеві точки, і ці нові точки також повинні бути з'єднані, проте не перетинаючи попередньо накреслені криві і так далі для будь-якої кількості заданих точкових пар.

Який найпростіший спосіб знайти та намалювати ці відрізки кривих?


Рядки або відрізки ліній?
Мокоша

Важливо лише, щоб дві нові точки були з’єднані, тому сегменти кривих також добре. Питання відредаговано.
user36552

2
Ви можете переглянути алгоритми пошуку шляхів для цього. Використовуйте наявні сегменти як перешкоди та знайдіть шлях між двома новими кінцевими точками. Можливо, застосуйте трохи згладжування до отриманого контуру, щоб зробити його кривою красивішого вигляду.
Натан Рід

Відповіді:


6

Загальна проблема називається нанесенням графіків і не є легкою проблемою.

Графіки, які можна намалювати на площині без перетинів, називають площинними , але не всі графіки є площинними: типові графіки, які не є площинними, є повним графіком на5 вершин K5 і повний двосторонній графік на 6 вершин K3,3, відомий через проблему трьох комунальних послуг .

Ви можете спробувати Graphviz - Software Visualization Software для отримання приємних малюнків.

Дивись також

Szirmay-Kalos, László, алгоритм динамічного компонування для відображення загальних графіків , у графічному графіку Gems IV , 1994. код

Rosati, Claudio, Простий алгоритм підключення для дводенного малювання, Graphics Gems III , 1992, код .


Інші інструменти включають yEd (Безкоштовний у використанні, але без вільних вошей), гефі ... це проблема NP Hard.
joojaa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.