生成随机道路

时间:2015-05-01 17:28:51

标签: java algorithm graph-algorithm

我正在尝试在秋千应用程序上生成随机道路。但是,我无法创建道路,使得它们不会相互过度交叉。我的意思是一条道路不应越过另一条道路,除非它们有一个共同的交叉点。

我尝试使用最小生成树生成随机点并连接它们,但它似乎不起作用。

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我会首先尝试这个简单的事情:生成一堆随机的道路,只保留那些与你迄今为止找不到的道路相交的道路。这有O(n^2)运行时,但它易于理解和实现。

在伪代码中:

points = (lots of random points)
roads = empty list
repeat n times:
  r = road(pick_random(points), pick_random(points))
  if r does not intersect anything in roads list:
    add r to roads

这比最小生成树更有优势,它可以为您生成周期,这将使一个更有趣的道路网络。