Dr.Doom
2008-04-02, 11:44:15
Howdy,
ich bastle immernoch/wieder an meinem Grapheditor (Java).
http://mitglied.lycos.de/bratworscht/bilder/graph.jpg
Zwischen Knoten kann ich Kanten ziehen: wo der Start- bzw Endpunkt einer Kante ist, habe ich bereits berechnet (siehe Grafik bei 1, rote Markierungen).
Mittelpunkt Knoten 1 (s1x,s1y)
Mittelpunkt Knoten 2 (e1x,e1y)
Startpunkt Kante (s2x,s2y)
Endpunkt Kante (e2x,e2y)
Mit diesen Informationen kann ich eine Kante von Knoten 1 nach Knoten 2 zeichnen (siehe Bild bei 2).
Das Problem ist nun noch, wenn es auch eine Kante zwischen Knoten 2 und Knoten 1 gibt, dann liegen beide Kanten gezeichnet genau übereinander (siehe Bild bei 3). D.h. wenn es zwischen zwei Knoten zwei Kanten gibt, müssen diese in diesem Fall etwas auseinandergezogen werden. (siehe Bild 3, graue Skizzierungen).
Ich weiss nun leider nicht, wie ich für diesen Fall der zwei Kanten zwischen Knoten neue Werte für den Start- und Endpunkt einer Kante berechnen kann, so wie es im Bild bei 4 angedeutet ist!
Kann mir da bitte jemand unter die Arme greifen?
ich bastle immernoch/wieder an meinem Grapheditor (Java).
http://mitglied.lycos.de/bratworscht/bilder/graph.jpg
Zwischen Knoten kann ich Kanten ziehen: wo der Start- bzw Endpunkt einer Kante ist, habe ich bereits berechnet (siehe Grafik bei 1, rote Markierungen).
Mittelpunkt Knoten 1 (s1x,s1y)
Mittelpunkt Knoten 2 (e1x,e1y)
Startpunkt Kante (s2x,s2y)
Endpunkt Kante (e2x,e2y)
Mit diesen Informationen kann ich eine Kante von Knoten 1 nach Knoten 2 zeichnen (siehe Bild bei 2).
Das Problem ist nun noch, wenn es auch eine Kante zwischen Knoten 2 und Knoten 1 gibt, dann liegen beide Kanten gezeichnet genau übereinander (siehe Bild bei 3). D.h. wenn es zwischen zwei Knoten zwei Kanten gibt, müssen diese in diesem Fall etwas auseinandergezogen werden. (siehe Bild 3, graue Skizzierungen).
Ich weiss nun leider nicht, wie ich für diesen Fall der zwei Kanten zwischen Knoten neue Werte für den Start- und Endpunkt einer Kante berechnen kann, so wie es im Bild bei 4 angedeutet ist!
Kann mir da bitte jemand unter die Arme greifen?