我正在使用单纯形噪声制作高度图。我在调整它以稍微倾向于形成一个岛屿时遇到了问题。在实际渲染生物群落和其他特征之前,我正在努力让这些值正确。我遇到了一个问题,即我的代码应该能够产生这种在中间形成孤岛的趋势,但它似乎只在一个方向上起作用。
如果有什么特别的原因?我处理地形平滑的课程在 x 和 y 方向上做同样的事情,但只有一个有效。
public class MapGenerator{
public double[][] toRender;
int maxHeight = 300;
public MapGenerator() {
int xResolution = 200;
int yResolution = 200;
double[][] result = new double[xResolution][yResolution];
for (int x = 0; x < xResolution; x++){
for (int y = 0; y < yResolution; y++){
result[x][y] = transformPoint(x, y, xResolution, yResolution, SimplexNoise.noise(x, y));
}
}
toRender = result;
}
private double transformPoint(int x, int y, int xSize, int ySize, double point){
System.out.println();
System.out.println(point);
point += 20 * Math.sin(x * Math.PI / xSize);
point += 20 * Math.sin(y * Math.PI / ySize);
System.out.println(point);
return point;
}
}
白噪声的图像:
[只有Y(X被注释掉):](类似于X和Y,由于声誉问题,无法发布链接。)
[没有X和Y:](类似于只有X,因为声誉问题不能发布链接。)