1

グラフに一連のノードがあります。ノードは、ユーザーによって特定の場所に配置されます。ノードはオーバーラップしないことが保証されており、実際、ノード間にスペースのバッファーがあります。これらのノードは接続されており、各エッジは特定のポイントでノードに結合します。エッジが次のようになるように、ノード間にエッジを描画する必要があります。

  • (必須)親ノードとオーバーラップしない
  • (理想的には)どのノードともオーバーラップしません

エッジの交差は気になりません。これがJavascriptに実装されている場合は、ボーナスポイントがあります。Javascript以外のライブラリを使用できません。

4

2 に答える 2

0

C#と.NETに精通している場合は、ILSpyを介してMicrosoft.GLEEライブラリ(説明はここここにあります)を探索するか、理論的にはこのソースを.csprojに保存し、Script#を使用してJavaScriptに再コンパイルします。

于 2012-11-10T12:58:25.687 に答える
0

1つの解決策は、ベジェ曲線を使用することです。

「ベジェ曲線は、一連の制御点P0からPnによって定義されます。ここで、nはその次数と呼ばれます(線形の場合はn = 1、2次の場合は2など)。 最初と最後の制御点は常に曲線;ただし、中間制御点(存在する場合)は通常、曲線上にありません。」

したがって、基本的な考え方は、親ノードを中間制御点として使用することです。エッジのオーバーラップを回避するために、エッジのポイントを中間制御ポイントとして使用することもできます。

ウィキの記事では、それを説明する素晴らしいアニメーションを見つけることができます。

javascriptの実装については、次のライブラリを確認しました。

しかし、「javascriptベジェライブラリ」をグーグルで検索すると、さらに多くの情報を見つけることができます。

于 2012-11-12T16:32:41.237 に答える