[#] Маршрутизация ортогональных соединений в редакторах диаграмм
habrabot(difrex,1) — All
2016-12-29 16:30:04


# Маршрутизация ортогональных соединений в редакторах диаграмм {#marshrutizaciya-ortogonalnyh-soedineniy-v-redaktorah-diagramm}



В данной статье я покажу, как решить проблему маршрутизации соединений в редакторе диаграмм типа MS Visio. Здесь будет минимум теории и максимум практики. Если вам нужно быстро реализовать маршрутизацию соединений в двумерной сцене, и вы первый раз сталкиваетесь с подобной проблемой — то эта статья для вас.



![lead][1]



## Проблематика {#problematika}



К данной проблеме я пришел в процессе разработки своего хобби-проекта [ultra\_outliner][2]. Грубо говоря, в нем есть двумерная сцена, в которой находится много прямоугольных карточек, которые могут быть связаны между собой. И соединений может быть довольно много — а значит их нужно маршрутизировать, чтобы сегменты не накладывались, не пересекали карточки и др.



Многие из вас работали с Microsoft Visio, и конечно же оценили, как красиво автоматически маршрутизируются стрелочки. Конечно, и Visio не всегда справляется, и для таких случаев есть возможность ручной подгонки. Но тем не менее, не рассматривая крайние ситуации — мне захотелось это повторить. Действительно, ведь там все этим проблемы достаточно неплохо решены.


[Читать дальше →][3]

[1]: https://www.dropbox.com/s/x31twgv26dhv14e/lead.png?raw=1 "lead"
[2]: http://ultraoutliner.com
[3]: https://habrahabr.ru/post/318722/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut