连接网格的数据结构?

时间:2012-10-04 22:09:47

标签: c++ data-structures

假设我有一个9分的网格:

1       2     3


4       5     6



7        8    9

每个点/节点都可以连接到其他节点以形成段:

1       2     3
|
|
4       5     6
|       |
|       |
|       |
7-------8-----9

在此图中,1连接到4,4连接到1和7,7连接到4 8,8连接到5和9,5连接到8,9连接到8 < / p>

如果我只是这样渲染:

for each node n1
for each node n2 in n1
create segment from n1 to n2.

这会产生很多重复的段。

有没有办法让我只创建必要数量的细分?

我的目标是能够说,打破1到4之间的链接并将1和5连接在一起并重新生成网格。

我正在努力创造一个简单的城市。

由于

1 个答案:

答案 0 :(得分:0)

ASCII图纸中显示的结构称为graph。特别是,您正在尝试生成planar graph。有几种常用方法可以在计算机程序中表示graph data structure

这些维基百科的链接在数学理论上非常沉重,但我希望你发现它们很有帮助。