我正在尝试创建一个用于创建简单的2D城市道路系统的算法。它甚至不是程序性的,只是局限于一个小网格。
简单来说,我的意思是这样的:
我曾想过从边缘拍摄随机长度的线条,但这并没有给我带来我想要的连线效果。
我也尝试随机放置节点并用L形线连接它们,但这也没有产生好的结果。
对资源,理论或示例代码的任何链接都将受到高度赞赏!
P.S它可以是任何语言。我只需要知道这背后的概念。
答案 0 :(得分:1)
我会创建不同大小的随机块,然后将它们加在一起,在每个块之间留一个代表街道的空间。
详细说明我会制作一个二维数组。将第一个随机块放在一个角落中,并设置块所覆盖的所有字段,其中包含非街道磁贴的ID。用街道瓷砖环绕整个街区。然后将其放在第一个街区的街区旁边,重复下一个街区的过程。这样做直到阵列中的所有字段都是非街道图块或街道图块。
答案 1 :(得分:1)
生成地形时,例如山脉,分形结构经常使用,所以也许这里可以使用类似的想法。谷歌搜索“分形地形生成”以阅读更多内容。对于生成街道布局的情况,您可以尝试以下算法(这只是我的头脑,所以不能保证这实际上看起来不错):