/ / c # narysuj (połącz) linie bez przekraczania żadnej innej linii - algorytm, rysunek, linie

c # narysuj (połącz) linie bez przekraczania żadnej innej linii - algorytm, rysunek, linie

Mam mały problem z nawiązaniem połączeniapokaz. Musi być dynamiczny, więc nie mogę używać farby: P. Powiedzmy, że mam jakieś złącza po lewej stronie i inne po prawej stronie, jak mogę narysować linie między nimi bez przekraczania jakichkolwiek innych linii.

Uwaga: możliwe jest uzyskanie więcej niż 2 linii złączy takich jak:

┌---------------------------┐
| o------------o            o
└-o            o            o
o            o            o
o            o            o

ktoś ma jakieś pomysły? thnx!

stefan

Odpowiedzi:

3 dla odpowiedzi № 1

Jest to możliwe tylko wtedy, gdy sieć połączeń pokazuje planarny wykres

może to ci pomoże: http://www.cs.brown.edu/~rt/papers/gd-tutorial/gd-constraints.pdf


1 dla odpowiedzi nr 2

Myślę, że będziesz rozczarowany - w ogólnym przypadku nie można tego zrobić nawet z dwoma liniami łączników, na przykład:

┌────────────────┐
│ o*           o─┘
|              |
| o────────────o
| |
└─o            o*

(Zaktualizowany w odpowiedzi na komentarz)

W jaki sposób podłączyć dwa złącza oznaczone symbolem * bez przekraczania istniejących linii?

Po prostu wymyśl sposób reprezentowania linii, które przecinają się bez przecinania.