python - 使菱形方形分形算法无限大

标签 python algorithm infinite terrain

我正在尝试生成一个无限 map ,就这样。我在 Python 中执行此操作,但我无法让噪声库正常工作(它们似乎从未找到我的 VS2010,并且在原始 Python 中执行它会太慢)。因此,我正在尝试使用 Diamond-Square Algorithm .

是否有可能以某种方式使它在技术上变得无限?

如果不行,我是否应该返回尝试让其中一种 Python 噪声绑定(bind)起作用?

最佳答案

这是可以做到的。将景观划分为“瓦片”,并在每个瓦片内应用中点位移算法(我更喜欢这样调用它)。

每个图 block 都必须足够大,以便一个角的高度不会显着依赖于另一个角的高度。通过这种方式,您可以即时创建和销毁图 block ,将新出现的角的高度设置为独立的随机值。

该值(以及图 block 内的随机性)必须从图 block 的位置开始播种,以便您每次都获得相同的图 block 。

关于python - 使菱形方形分形算法无限大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4977946/

相关文章:

python - 自定义月份的开始和结束日期

python - 如何用Python3制作自动评分器

c++ - 从CPP中的字符串中删除重复项

arrays - O(nlogS) 中 +ve 个整数的连续子数组的第 K 个最大和

c - 为什么在这个程序中无限循环?

list - Haskell如何生成这个无限列表?

Python检查字符串是否包含字典键

python - 使用OpenCV获取外部轮廓(Python)

algorithm - 有了最终的泰森多边形,是否有可能找到初始点集?

python - 如何在Python中使用lxml解析时防止无限循环?