所以让我现在解释一下我的问题(请重新打开这个问题)。我在考虑一种生成程序线来构建地形的方法时,听说过马尔可夫链理论。
生成的主要内容是 可以延伸到无穷大的地图。在 首先我用它构建了一个演示 基于perlin的程序图有一个 很多各种地形特征。它 甚至意味着等距,更多 像哨兵一样。这个 事实证明这太混乱了 随着我的运动机制 心神。我不得不把它减少到很多 更简单的基于瓦片的系统。不是 只是更容易掌握和导航 它看起来也好多了。
使用马尔可夫生成地图 链。该算法是短暂的 人造地形序列。然后呢 继续生成任何大小的地图 模仿输入的结构。
因此,示例视觉输出可能如下图所示
实际上我经历了类似的事情,在引文中描述的最后是这个随机行:
因此,我没有使用这条随机线,而是寻找从第一张图片中创建小峡谷的解决方案。我第一次读到关于马尔可夫链的我认为WOW,把人造线作为输入,让算法继续进行,听起来很棒。
那么马尔可夫链理论如何真正帮助创造这种地形?如果您认为有更好的方法,请建议。
使用马尔可夫生成地图 链
...困惑我,我认为他们实际上是马尔可夫链算法。
答案 0 :(得分:2)
我不确定你是否知道马尔可夫链是什么。马尔可夫链是由基于概率的状态转换定义的系统。下一个状态(根据定义)基于先前的状态。
马尔可夫链不转换。它是不用于修改系统的算法,它只是描述系统。
要描述您的线系统,您需要查看数组中的各个索引并计算“跳转”的概率。最后,你会留下类似于此的东西:
idx 1: 20% chance for a jump
idx 2: 0% chance for a jump
idx 3: 15% chance for a jump
idx 4: 55% chance for a jump
...
这对于编程来说是微不足道的,但它并不能帮助你制作直线。为了使线条直线,您甚至不需要马尔可夫链,只需迭代所有索引并使它们等于前一个索引。很难确切地看到你在这里想要做什么。