Я создаю приложение, которое внешне похоже на Visio, поэтому мне нужно иметь возможность соединять объекты вместе соединителями. Я хочу, чтобы соединители имели несколько горизонтальных и вертикальных сегментов и могли перетаскивать угол соединителей, чтобы они «разумно» добавляли новые углы или сливались с существующими частями соединителя по мере их перетаскивания. Также было бы неплохо, если бы соединители огибали другие объекты, а не пересекали их.
Я полагаю, по крайней мере, это должен быть алгоритм для этого, и, если мне действительно повезет, какой-нибудь хороший код на C #!
Есть идеи?