Ich möchte etwas schreiben, das endliche Automaten zeichnen wird. Kennt jemand irgendwelche Algorithmen, die damit verbunden sind?
EDIT: Ich sollte erwähnen, dass ich über Graphviz weiß. Ich möchte mein eigenes Zeichenprogramm / meine eigene Zeichenfunktion erstellen, also suche ich nach mehr theoretischem Zeug / Pseudocode für Algorithmen.
Das Zeichnen von Graphen ist ein ziemlich komplexes Thema, da verschiedene Graphen auf verschiedene Arten gezeichnet werden müssen - es gibt keinen Algorithmus, der für alle Ansätze geeignet ist.
Darf ich die folgende Ressource vorschlagen:
Es sollte ein guter Ausgangspunkt sein, Seite 14 bietet eine Reihe von Links und Büchern, die man weiterverfolgen kann.
Um mit Graphenzeichnungsalgorithmen zu beginnen, sehen Sie sich dieses berühmte Papier an:
Er beschreibt den Algorithmus, der von dot
, einem GraphViz-Zeichenprogramm, verwendet wird. Auf der verlinkten Seite finden Sie viele weitere Referenzen. Sie werden auch einige weitere Artikel finden, wenn Sie nach "Zeichnen gerichteter Grafiken" googlen.
Außerdem finden Sie möglicherweise OpenFst ein praktisches Toolkit für endliche Automaten. Es hat eine Binärdatei namens fstrdraw , die eine endliche Maschine in einem Format ausgibt, das von dot
gelesen werden kann.
Schau dir Graphviz an. Es ist eine Open-Source-Grafikvisualisierungssoftware.
EDIT: Überprüfen Sie den Dokumentationsabschnitt , der zu einigen der verwendeten Layoutalgorithmen führt.
Tags und Links algorithm graph finite-automata