Zatoichi
05-01-2005, 00:20
Hallo! Ich habe Probleme bei einem Beispiel mit dem Titel Konvneck:
Aufgabenstellung:
Koordinatenpaare einlesen, die ein Vieleck bilden und herausfinden, ob das Vieleck konvex oder konkav ist oder ob sich Kanten des Vielecks schneiden.
Das mit dem Einlesen funktioniert, und die Konvex-/Konkavüberprüfung habe ich mit Hilfe des mitgebrachten Beispiels aus der ersten Runde auch schon hinbekommen(wenn alle Punkte "links" oder "rechts" von der Gerade liegen=> konvex, sonst konkav).
Bei der Schnittüberprüfung stehe ich aber an.
Ich hab mir schon Codes von anderen Leuten angesehen, die dieses Beispiel programmiert haben, aber irgendwie komme ich da nicht mit, hab grad erst mit Java angefangen.
Die meisten haben so Line2D Zeug verwendet, wie z.b. hier:
http://eprog.sourceforge.net/eprog/3154/0126697/Konvneck.java
Ich schaffs aber nicht, das in mein Programm umzumünzen, weil ich die Vorgänge nicht ganz verstehe.
Kann mir vielleicht jemand GENAU erklären, wie ich jede Linie in meinem Programm mit jeder anderen zu dieser "intersectLine" Überprüfung bringe?
Oder gibt es noch eine andere Möglichkeit zur Überprüfung ob sich Kanten schneiden?
Bin für jede Hilfe dankbar.
Aufgabenstellung:
Koordinatenpaare einlesen, die ein Vieleck bilden und herausfinden, ob das Vieleck konvex oder konkav ist oder ob sich Kanten des Vielecks schneiden.
Das mit dem Einlesen funktioniert, und die Konvex-/Konkavüberprüfung habe ich mit Hilfe des mitgebrachten Beispiels aus der ersten Runde auch schon hinbekommen(wenn alle Punkte "links" oder "rechts" von der Gerade liegen=> konvex, sonst konkav).
Bei der Schnittüberprüfung stehe ich aber an.
Ich hab mir schon Codes von anderen Leuten angesehen, die dieses Beispiel programmiert haben, aber irgendwie komme ich da nicht mit, hab grad erst mit Java angefangen.
Die meisten haben so Line2D Zeug verwendet, wie z.b. hier:
http://eprog.sourceforge.net/eprog/3154/0126697/Konvneck.java
Ich schaffs aber nicht, das in mein Programm umzumünzen, weil ich die Vorgänge nicht ganz verstehe.
Kann mir vielleicht jemand GENAU erklären, wie ich jede Linie in meinem Programm mit jeder anderen zu dieser "intersectLine" Überprüfung bringe?
Oder gibt es noch eine andere Möglichkeit zur Überprüfung ob sich Kanten schneiden?
Bin für jede Hilfe dankbar.