以前に描いた曲線のセグメントを交差させずに2点を接続する方法


9

交差せずにポイントペアを接続する必要があります。曲線のセグメントに接続する2つの特定のポイントがあるとします。次に、2つの新しいエンドポイントが再び選択され、これらの新しいポイントも接続する必要がありますが、以前に描画されたカーブと交差せずに、任意の数のポイントペアについて同様に接続します。

これらの曲線のセグメントを見つけて描画する最も簡単な方法は何ですか?


線または線分?
Mokosha 2015年

重要なのは、2つの新しい点が接続されていることだけです。したがって、曲線のセグメントも問題ありません。質問を編集しました。
user36552

2
このための経路探索アルゴリズムを検討する場合があります。既存のセグメントを障害物として使用し、2つの新しいエンドポイント間のパスを見つけます。結果のパスにスムージングを適用して、見栄えのよいカーブにすることもできます。
Nathan Reed

回答:


6

一般的な問題はグラフ描画と呼ばれ、簡単な問題ではありません。

交差することなく、平面上に描くことができるグラフが呼び出される平面ではなく、すべてのグラフは平面である:平面上の完全グラフであるれていない典型的なグラフ頂点と完全二部グラフを6つの頂点に、3つのユーティリティの問題で有名です。5K5K

Graphviz-グラフ視覚化ソフトウェアを試して、素敵な図面を作成してみてください。

こちらもご覧ください

Szirmay-Kalosで、ラースロー、ダイナミック一般的なグラフを表示するためのアルゴリズムをレイアウトにおいて、グラフィック宝石IV、1994 コード

Rosati、クラウディオ、2次元描画のための単純な接続アルゴリズム、グラフィックス宝石III、1992、コード


他のツールには、yEd(無料で使用できますが、無料のliceseはありません)、gephi ...などがあります。これはNPハード問題です。
joojaa 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.