Erstellen Sie nicht-schneidende polygon Durchgang durch alle Punkte gegeben

Angenommen ich habe ein array von Punkten in zufälliger Reihenfolge, und ich muss ein polygon (durch Sortieren, so dass jedes benachbarte paar stellt eine Seite), die durch alle der Punkte, und seine Seiten sind nicht-schneidende natürlich.

Habe ich versucht zu tun, indem Sie einen Punkt, und die addition aller Punkte der final-array, die unter ihm sind, sortiert von Links nach rechts. Dann addiert man alle Punkte, die sind oben, sortiert von rechts nach Links.

Ich habe gesagt, dass, ich kann hinzufügen, ein weiterer Punkt Sortieren und natürlich zu vermeiden, selbst-Kreuzungen.. ich bin nicht in der Lage, herauszufinden, dass, obwohl. Was ist ein einfacher Weg, dies zu tun?

  • Klingt wie das "Travelling Salesman Problem"
  • Außer, dass die OP scheint nicht zu suchen den kürzesten Weg, aber für alle nicht selbst schneidet, ein. Ich glaube nicht, dass eine Optimierung nötig ist.
  • Ich habe deutliche änderungen meiner Antwort. E-Mail mich, wenn Sie wollen, dass der Mathematica-code.
  • hast u verwalten, um dieses Problem zu lösen?
  • ich möchte, um Ihre Berechnungen. Wie kann ich Sie Kontaktieren?
  • codie dot codemonkey bei gmail.

InformationsquelleAutor Max | 2013-01-10
Schreibe einen Kommentar