我想生成类似于下面显示的随机洞穴types背景。
我怀疑我产生的任何东西看起来都和图像一样好,但是那种尖锐的锯齿状峰值应该是可能的。
我没有任何程序生成的经验,因此不知道从哪里开始….
注意:我在Android上使用libGdx
只要您input正确的数值,中点位移就可以工作。
要获得更清晰的山峰和山谷,您需要在抑制中等数字的同时倾向于高低数字。 例如,假设某个函数rnd()
在[0-1]范围内返回一个统一的随机数。 然后(sin(rnd()*PI)+1)/2.0
会偏离那个结果,使值更接近于0或1.其他的math变换可以起作用,这个变换很容易在电子表格中建立原型。 如果您需要实时执行此操作,则可能需要比sin()
更快的操作。
另外,我只会将上面的值应用于中点位移所使用的第一组值。 在algorithm的“内部”,我会使用统一的噪声。 这就是说,很容易尝试两种方式,看看哪个更适合你。
这个解决scheme不会做的一件事就是将钟乳石与石笋配对,而不是偶然的机会。 如果这是一个要求,你应该相应地更新问题。
一个简单的方法就是使用中点位移algorithm :
另外,看到这个答案 。