Algorithm 什么';生成随机簇和路径的好方法是什么?
我在胡思乱想写一个随机地图生成器,不太确定如何随机生成真实的风景。我正在研究局部比例尺地图,它提出了一些有趣的问题 最简单的情况之一是: 树木和灌木丛可以存在于同一个空间中,因此一个平均稀疏的森林有25%的典型树木和轻度灌木丛,25%的典型树木,25%的轻度灌木丛和25%的开放空间。中等和茂密的森林需要更多的思考,但这也不是我的问题所在,因为它们都是均匀分布的 我的问题在于生成集群和路径,同时保持百分比约束。以下是一个很好的例子:Algorithm 什么';生成随机簇和路径的好方法是什么?,algorithm,random,Algorithm,Random,我在胡思乱想写一个随机地图生成器,不太确定如何随机生成真实的风景。我正在研究局部比例尺地图,它提出了一些有趣的问题 最简单的情况之一是: 树木和灌木丛可以存在于同一个空间中,因此一个平均稀疏的森林有25%的典型树木和轻度灌木丛,25%的典型树木,25%的轻度灌木丛和25%的开放空间。中等和茂密的森林需要更多的思考,但这也不是我的问题所在,因为它们都是均匀分布的 我的问题在于生成集群和路径,同时保持百分比约束。以下是一个很好的例子: Moor Swamp
Moor Swamp
Shallow bog 20% 40%
Deep bog 5% 20%
Light undergrowth 30% 20%
Heavy undergrowth 10% 20%
深沼泽广场通常聚集在一起,周围是不规则的浅沼泽广场环
另外一个地图元素,树篱,也可能存在,以及一条穿过沼泽的开阔地路径。这两种类型的贴图元素(簇和路径)都存在问题,因为贴图的总组成应该包含元素的X%,但分布不均匀。其他元素(如溪流、池塘和流沙)也需要生成群集或路径类型
在这些约束条件下,我可以使用什么技术生成真实的贴图
我用的是C#,仅供参考(但这不是一个C#特定的问题)。我从未做过这种事情,但这里有一些想法 通过将随机选择偏压到栅格上靠近该类型现有图元的位置,可以获得簇。将默认值1指定给所有正方形。对于具有现有聚集元素的正方形,将聚集值添加到相邻正方形(聚集值越高,聚集越强烈)。然后根据所有平方的概率分布函数,对该类型的下一个元素进行随机选择
对于路径,您可以有类似的过程,除了路径将逐步扩展(路径的概率在路径末端附近的正方形处是有限的,在其他地方为零)。定向路径可以通过增加路径方向上的选择概率来实现。蜿蜒路径的方向可能在随机延伸过程中发生变化(新方向=mf*旧方向+(1-mf)*随机方向,其中mf是介于0和1之间的动量因子)。您可以开始阅读链接。我记得我看过更好的文件。如果我找到它,我会发布它(它也是基于L-systems的) 但这是一般的一面;关于你所面临的特殊问题,我想你应该用
- 百分比
- 其他规则(群集和路径)
- 创建具有“丛生性”、“路径性”或一致性所需属性的不同地形和地形覆盖的图案
- 创建模式,使深沼泽的值不是离散的,而是分配概率值;在创建模式后,您可以将这种可能性标准化,使其产生所需的覆盖率
- 把不同的图案混合在一起
Moor Swamp
Shallow bog 20% 40%
Deep bog 5% 20%
Light undergrowth 30% 20%
Heavy undergrowth 10% 20%