Polygone als Usereingabe < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Bin grade dabei ein bisschen mit Polygonen und der Eingabe via Maus zu experimentieren.
Jetzt hab ich das Problem, dass der "dumme" User (in dem Fall ich ) die Punkte nicht in der richtigen Reihenfolge eingibt sondern beispielsweise bei einem Viereck, in der Reihenfolge ACBD, wobei ABCD die Ecken im Gegenuhrzeigersinn sind.
Dabei entstehen jetzt beim verbinden der Punkte auf dem grafischen "Kreuzungen"
hab mir schon überlegt, dass bei einer Kreuzung nur die zwei Punkte vertauscht werden müssen und dann passt es wieder, also im Beispiel ACBD Tausche ich CB und habe wieder ABCD.
Ok ob das bei mehr als viereckigen Poylgonen noch funktioniert weis ich nicht. Das wäre noch ne zweite Frage.
Mein hauptsächliches Problem ist rechnerische ermittlung einer "Kreuzung". Ok ich könnte einfach Geraden durch die Punkte legen und dann überprüfen ob diese sich innerhalb der Polygons schneiden. Aber gibt es vielleicht noch eine andere Möglichkeit???
Die Punkte liegen jeweils in karthesischer Koordinatenform vor.
Danke
|
|
|
|
Hallo SM,
es gibt noch fiesere Fälle. Ich habe auf dem Papier vor mir eine Skizze eines konkaven Vierecks, das durch vertauschen zweier Ecken wieder zu einem konkaven Viereck ohne Kreuzung wird, auf zwei verschiedene Arten. Wie willst du das denn erkennen? Und welche Version ist die richtige? letztendlich muss der Benutzer entscheiden, was richtig ist. Mehr tun als bei überkreuzenden Seiten den benutzer zu warnen kannst du m.E. nicht sinnvollerweise tun.
Tschoe
Stukkateur
|
|
|
|
|
Ok, danke erst mal für die Antwort.
Hab grade leider nicht so viel Zeit an dem Projekt weiter zuarbeiten,
werd mich mal wieder melden, wenn ich da was neues dazu hab.
Hab mal überlegt, wenn ich immer nur den letzten Punkt auf eine überkreuzung checke müsste ich vielleicht irgendetwas hinbekommen. (ist noch nicht ganz fertig gedacht)
Aber eigentlich müsste ein Viereck durch 4Punkte doch eigentlich eindeutig sein, oder???
|
|
|
|