Algorithm 如何根据给定的元素数量构建随机铁路?

Algorithm 如何根据给定的元素数量构建随机铁路?,algorithm,Algorithm,我有许多乐高铁路元素——曲线轨道()、直线轨道()、点集()和交叉元素() 我想写一个程序,它将根据可用元素的数量(可能是使用的元素的最大数量)生成一条随机铁路。但我以前从未做过这样的工作。铁路生成算法应该是什么样子?从什么开始?我使用的基本方法是从一个简单的轨道开始,可能是空的轨道,然后只是在随机的开放端添加随机元素,禁止非法组合,如交叉轨道,或者尝试通过用交叉代替直段使非法组合合法 这可能会创建很少的闭合轨迹。如果您想要更多这些,您可以尝试一种变体,您不必只在末尾添加,基本上可以在任何地方添

我有许多乐高铁路元素——曲线轨道()、直线轨道()、点集()和交叉元素()


我想写一个程序,它将根据可用元素的数量(可能是使用的元素的最大数量)生成一条随机铁路。但我以前从未做过这样的工作。铁路生成算法应该是什么样子?从什么开始?

我使用的基本方法是从一个简单的轨道开始,可能是空的轨道,然后只是在随机的开放端添加随机元素,禁止非法组合,如交叉轨道,或者尝试通过用交叉代替直段使非法组合合法


这可能会创建很少的闭合轨迹。如果您想要更多这些,您可以尝试一种变体,您不必只在末尾添加,基本上可以在任何地方添加,并用一个完整的集合替换一个或多个片段,如圆、交叉等等。

您会强制执行哪些约束?封闭轨道?没有零头?没有交叉口(除了使用交叉元素或桥梁)?@Tedil,感谢提出的有效问题。是的,轨道应该封闭,没有松动端和交叉口。