私は平面の幾何学的形状(面は三角形)を記述する頂点とエッジリストを持っています。たとえば、平面グラフの境界(境界)エッジを見つける(幾何学的形状)
a_______b
/|\ /
/| \/
e/__|__\/c
d
Verts: a, b, c, d, e
Edges: (a,b), (a,c), (a,d), (a,e), (b,c), (c,d), (d,e)
これは、私がその特定の平面幾何学的形状について持っているすべての情報です。この例では、内部エッジは(a、c)と(a、d)のみです。他のすべてのエッジは境界エッジです。どのようにしてこれらの境界エッジをアルゴリズムで識別できますか(または逆にすべての内部エッジを識別できますか)
動機:助けがあれば、私はナビゲーションメッシュを作成しようとしています。そのステップの1つは、視界グラフを作成することです。最初のステップは境界エッジを特定することです。
その解決策は約1時間前に私に届きました。そして私は、顔が三角形であるという質問に言及しました。 私は基本的にグラフビルダーを作成しているので、私はすべてを知りません理由です。ユーザーは、完成したグラフが平面で、すべての面が三角形である限り、頂点を好きな場所に配置し、好きな場所にエッジを追加できます。だから、すべてのプログラムはいつでも頂点とエッジのリストを知っているでしょう。 まず、顔のリスト(三角形)を作成する必要があります。 –
私は、エッジを見て、隣接するすべてのエッジを取得し、元のエッジの一部ではない頂点を共有するエッジのペアを見つけることができると思います。私は複雑さがグラフのつながりに基づいていると思っています。それはあまりにも悪くはありません。どんな良いアイデアですか? –