我想要创建一个“河流生物群落”,那里有河流切割成一块平坦的土地,首先我写了一个小js来生成一个随机的高度图(带有单纯形噪声),但这就是我被困的地方。
这就是它所产生的:

正如你所看到的,那里有清晰的对角线。我试着找出如何解决这个问题,在我的搜索中我找到了以下几个:
我不知道这是否是我的问题,这是否完全是别的东西。
下面是我代码的重要部分:
for(var y = 0;y < myRivers.height;y++){
for(var x = 0;x < myRivers.width;x++){
lightness = simplexnoise(x/50,y/50); // number between -1 and 1
myRivers.context.fillStyle = lightnessToRgb(lightness); //maps lightness to a color
myRivers.context.fillRect(x * 4, y * 4, 4, 4); // fills a pixel with the color
}
}发布于 2019-06-27 17:19:12
我知道我有点晚了,但希望这能帮助到其他人。您可以使用分形布朗运动来添加细节。有一篇很棒的文章这里,我用它作为指南,在c#中制作了自己的版本。此外,我会检查,以确保您的vars是ints。
https://computergraphics.stackexchange.com/questions/6094
复制相似问题