Frage

Gibt es eine triviale oder zumindest einigermaßen einfache Möglichkeit, Gebietskarten zu erstellen (z. B.Risiko)?

Ich habe in der Vergangenheit nachgeschaut und das Beste, was ich finden konnte, waren vage Hinweise auf Voronoi-Diagramme.Ein Beispiel für ein Voronoi-Diagramm ist dieses:

here.

Diese sind vielversprechend, aber ich glaube, ich habe keine einfachen Möglichkeiten gesehen, sie darzustellen, geschweige denn sie in irgendeiner Form von Datenstruktur zu speichern, um jedes Gebiet als Objekt zu behandeln.

Ein weiterer vielversprechender Ansatz ist die Flutfüllung, aber auch hier bin ich mir nicht sicher, wie ich mit diesem Ansatz am besten beginnen soll.

Für jeden Rat wäre ich sehr dankbar.

War es hilfreich?

Lösung

Die beste Referenz, die ich auf ihnen gesehen habe, ist Computergeometrie:Algorithmen und Anwendungen, das Voronoi-Diagramme, Delaunay-Triangulationen (ähnlich den Voronoi-Diagrammen und beide können ineinander umgewandelt werden) und andere ähnliche Datenstrukturen abdeckt.

Sie sprechen über alle Datenstrukturen, die Sie benötigen, geben Ihnen jedoch nicht den Code, der zur Implementierung erforderlich ist (was eine gute Übung sein kann).In Bezug auf den Code zeigt eine Amazon-Suche das Buch Computergeometrie in C, der vermutlich mit dem Code geliefert wird (obwohl es Ihnen, da Sie in C stecken bleiben, auch etwas ausmacht, sich den anderen zu besorgen und ihn in der gewünschten Sprache zu implementieren).Ich habe auch keine Erfahrung mit diesem Buch, nur mit dem ersten.

Leider gibt es nur empfehlenswerte Bücher!Die einzigen anständigen Online-Ressourcen, die ich über sie gesehen habe, sind die beiden Wikipedia Artikel, was Ihnen keine wirklichen Implementierungsdetails verrät. Dieser Link kann aber hilfreich sein.

Andere Tipps

Warum nicht eine Karte mit Grundelementen (Dreiecke, Quadrate) verwenden, die Startpunkte für die Länder (die „Hauptstädte“) verteilen und dann die Länder zufällig erweitern, indem dem Land ein zufälliges angrenzendes Grundelement hinzugefügt wird?

CGAL ist eine C++-Bibliothek mit Datenstrukturen und Algorithmen, die in der Computergeometrie verwendet werden.

Eigentlich beschäftige ich mich mit genau solchen Dingen für das Videospiel meiner Firma.Die nützlichsten Informationen, die ich gefunden habe, finden Sie unter diesen beiden Links:

Paul Bourke's Seite an der UWA, mit seinem Aufsatz über Delaunay aus dem Jahr 1989 und einer Reihe von Links zur Implementierung.

A Tolle Erklärung des Psudocodes und eine visuelle Darstellung Delaunay bei codeGuru.com zu machen.

Was das Rendern dieser Implementierungen betrifft, müssen die meisten Implementierungen, die ich gefunden habe, massiert werden, um das zu erhalten, was Sie möchten. Da die Verwendung dieser Implementierung für eine Spielkarte jedoch zu einer Reihe von Punkten und Linien dazwischen führen würde, könnte dies sehr schwierig sein Es ist ganz einfach, dies auf dem Bildschirm darzustellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top