システムでは、通常のグラフのように接続されているノードのリストがあります。私たちはシステム全体とそれらのすべての接続を知っており、開始点も持っています。すべてのエッジには方向があります。
ここで、これらすべてのノードとエッジを自動的に描画したいと考えています。問題は実際の描画ではなく、(x,y) 座標の計算です。基本的には、見栄えがするようにこのグラフ全体を描きたいと思います。
私のデータ構造は次のようになります。
class node:
string text
List<edge> connections
この問題にはよく知られたアルゴリズムがいくつかあるはずですか? 何も見つかりませんでしたが、間違ったキーワードを使用している可能性があります。
私の考え:
1 つの方法は、開始ノードを (0,0) に配置し、「距離」という定数を設定することです。次に、隣接するノードごとに距離を y 位置に追加し、隣接するノードごとに x= 距離 * n を設定します。
しかし、これは実際には多くの問題を引き起こします。